@wlloyalty/wll-react-sdk 1.0.27 → 1.0.28

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.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
3
+ var React$1 = require('react');
4
4
  var Color = require('color');
5
5
  var LucideIcons = require('lucide-react');
6
6
 
@@ -21,7 +21,7 @@ function _interopNamespaceDefault(e) {
21
21
  return Object.freeze(n);
22
22
  }
23
23
 
24
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
24
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React$1);
25
25
  var LucideIcons__namespace = /*#__PURE__*/_interopNamespaceDefault(LucideIcons);
26
26
 
27
27
  function _typeof$1(o) {
@@ -4527,7 +4527,7 @@ var defaultLocale = {
4527
4527
  direction: 'ltr',
4528
4528
  locale: 'en-US'
4529
4529
  };
4530
- var LocaleContext = /*#__PURE__*/React.createContext(defaultLocale);
4530
+ var LocaleContext = /*#__PURE__*/React$1.createContext(defaultLocale);
4531
4531
  function getLocaleDirection(locale) {
4532
4532
  return isLocaleRTL(locale) ? 'rtl' : 'ltr';
4533
4533
  }
@@ -4536,7 +4536,7 @@ function LocaleProvider(props) {
4536
4536
  locale = props.locale,
4537
4537
  children = props.children;
4538
4538
  var needsContext = direction || locale;
4539
- return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {
4539
+ return needsContext ? /*#__PURE__*/React$1.createElement(LocaleContext.Provider, {
4540
4540
  children: children,
4541
4541
  value: {
4542
4542
  direction: locale ? getLocaleDirection(locale) : direction,
@@ -4545,7 +4545,7 @@ function LocaleProvider(props) {
4545
4545
  }) : children;
4546
4546
  }
4547
4547
  function useLocaleContext() {
4548
- return React.useContext(LocaleContext);
4548
+ return React$1.useContext(LocaleContext);
4549
4549
  }
4550
4550
 
4551
4551
  /**
@@ -4565,10 +4565,10 @@ var createElement = (component, props, options) => {
4565
4565
  }
4566
4566
  var Component = accessibilityComponent || component;
4567
4567
  var domProps = createDOMProps$1(Component, props, options);
4568
- var element = /*#__PURE__*/React.createElement(Component, domProps);
4568
+ var element = /*#__PURE__*/React$1.createElement(Component, domProps);
4569
4569
 
4570
4570
  // Update locale context if element's writing direction prop changes
4571
- var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {
4571
+ var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React$1.createElement(LocaleProvider, {
4572
4572
  children: element,
4573
4573
  direction: domProps.dir,
4574
4574
  locale: domProps.lang
@@ -4775,7 +4775,7 @@ function pick(obj, list) {
4775
4775
  *
4776
4776
  */
4777
4777
 
4778
- var useLayoutEffectImpl = canUseDOM$1 ? React.useLayoutEffect : React.useEffect;
4778
+ var useLayoutEffectImpl = canUseDOM$1 ? React$1.useLayoutEffect : React$1.useEffect;
4779
4779
  var useLayoutEffect = useLayoutEffectImpl;
4780
4780
 
4781
4781
  /**
@@ -6312,7 +6312,7 @@ function useResponderEvents(hostRef, config) {
6312
6312
  *
6313
6313
  */
6314
6314
 
6315
- var TextAncestorContext = /*#__PURE__*/React.createContext(false);
6315
+ var TextAncestorContext = /*#__PURE__*/React$1.createContext(false);
6316
6316
  var TextAncestorContext$1 = TextAncestorContext;
6317
6317
 
6318
6318
  var _excluded$c = ["hrefAttrs", "numberOfLines", "onClick", "onLayout", "onPress", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture", "selectable"];
@@ -6395,7 +6395,7 @@ var Text$2 = /*#__PURE__*/React__namespace.forwardRef((props, forwardedRef) => {
6395
6395
  }
6396
6396
  supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {
6397
6397
  WebkitLineClamp: numberOfLines
6398
- }, hasTextAncestor === true ? styles$w.textHasAncestor$raw : styles$w.text$raw, numberOfLines === 1 && styles$w.textOneLine, numberOfLines != null && numberOfLines > 1 && styles$w.textMultiLine, props.style, selectable === true && styles$w.selectable, selectable === false && styles$w.notSelectable, onPress && styles$w.pressable];
6398
+ }, hasTextAncestor === true ? styles$l.textHasAncestor$raw : styles$l.text$raw, numberOfLines === 1 && styles$l.textOneLine, numberOfLines != null && numberOfLines > 1 && styles$l.textMultiLine, props.style, selectable === true && styles$l.selectable, selectable === false && styles$l.notSelectable, onPress && styles$l.pressable];
6399
6399
  if (props.href != null) {
6400
6400
  component = 'a';
6401
6401
  if (hrefAttrs != null) {
@@ -6440,7 +6440,7 @@ var textStyle = {
6440
6440
  whiteSpace: 'pre-wrap',
6441
6441
  wordWrap: 'break-word'
6442
6442
  };
6443
- var styles$w = StyleSheet$1.create({
6443
+ var styles$l = StyleSheet$1.create({
6444
6444
  text$raw: textStyle,
6445
6445
  textHasAncestor$raw: _objectSpread2(_objectSpread2({}, textStyle), {}, {
6446
6446
  color: 'inherit',
@@ -6988,25 +6988,25 @@ function getTouchFromResponderEvent(event) {
6988
6988
  */
6989
6989
 
6990
6990
  function usePressEvents(hostRef, config) {
6991
- var pressResponderRef = React.useRef(null);
6991
+ var pressResponderRef = React$1.useRef(null);
6992
6992
  if (pressResponderRef.current == null) {
6993
6993
  pressResponderRef.current = new PressResponder(config);
6994
6994
  }
6995
6995
  var pressResponder = pressResponderRef.current;
6996
6996
 
6997
6997
  // Re-configure to use the current node and configuration.
6998
- React.useEffect(() => {
6998
+ React$1.useEffect(() => {
6999
6999
  pressResponder.configure(config);
7000
7000
  }, [config, pressResponder]);
7001
7001
 
7002
7002
  // Reset the `pressResponder` when cleanup needs to occur. This is
7003
7003
  // a separate effect because we do not want to rest the responder when `config` changes.
7004
- React.useEffect(() => {
7004
+ React$1.useEffect(() => {
7005
7005
  return () => {
7006
7006
  pressResponder.reset();
7007
7007
  };
7008
7008
  }, [pressResponder]);
7009
- React.useDebugValue(config);
7009
+ React$1.useDebugValue(config);
7010
7010
  return pressResponder.getEventHandlers();
7011
7011
  }
7012
7012
 
@@ -7075,7 +7075,7 @@ var View$1 = /*#__PURE__*/React__namespace.forwardRef((props, forwardedRef) => {
7075
7075
  var writingDirection = componentDirection || contextDirection;
7076
7076
  var supportedProps = pickProps(rest);
7077
7077
  supportedProps.dir = componentDirection;
7078
- supportedProps.style = [styles$v.view$raw, hasTextAncestor && styles$v.inline, props.style];
7078
+ supportedProps.style = [styles$k.view$raw, hasTextAncestor && styles$k.inline, props.style];
7079
7079
  if (props.href != null) {
7080
7080
  component = 'a';
7081
7081
  if (hrefAttrs != null) {
@@ -7101,7 +7101,7 @@ var View$1 = /*#__PURE__*/React__namespace.forwardRef((props, forwardedRef) => {
7101
7101
  });
7102
7102
  });
7103
7103
  View$1.displayName = 'View';
7104
- var styles$v = StyleSheet$1.create({
7104
+ var styles$k = StyleSheet$1.create({
7105
7105
  view$raw: {
7106
7106
  alignItems: 'stretch',
7107
7107
  backgroundColor: 'transparent',
@@ -7156,25 +7156,25 @@ function TouchableOpacity(props, forwardedRef) {
7156
7156
  rejectResponderTermination = props.rejectResponderTermination,
7157
7157
  style = props.style,
7158
7158
  rest = _objectWithoutPropertiesLoose(props, _excluded$a);
7159
- var hostRef = React.useRef(null);
7159
+ var hostRef = React$1.useRef(null);
7160
7160
  var setRef = useMergeRefs$1(forwardedRef, hostRef);
7161
- var _useState = React.useState('0s'),
7161
+ var _useState = React$1.useState('0s'),
7162
7162
  duration = _useState[0],
7163
7163
  setDuration = _useState[1];
7164
- var _useState2 = React.useState(null),
7164
+ var _useState2 = React$1.useState(null),
7165
7165
  opacityOverride = _useState2[0],
7166
7166
  setOpacityOverride = _useState2[1];
7167
- var setOpacityTo = React.useCallback((value, duration) => {
7167
+ var setOpacityTo = React$1.useCallback((value, duration) => {
7168
7168
  setOpacityOverride(value);
7169
7169
  setDuration(duration ? duration / 1000 + "s" : '0s');
7170
7170
  }, [setOpacityOverride, setDuration]);
7171
- var setOpacityActive = React.useCallback(duration => {
7171
+ var setOpacityActive = React$1.useCallback(duration => {
7172
7172
  setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);
7173
7173
  }, [activeOpacity, setOpacityTo]);
7174
- var setOpacityInactive = React.useCallback(duration => {
7174
+ var setOpacityInactive = React$1.useCallback(duration => {
7175
7175
  setOpacityTo(null, duration);
7176
7176
  }, [setOpacityTo]);
7177
- var pressConfig = React.useMemo(() => ({
7177
+ var pressConfig = React$1.useMemo(() => ({
7178
7178
  cancelable: !rejectResponderTermination,
7179
7179
  disabled,
7180
7180
  delayLongPress,
@@ -7202,14 +7202,14 @@ function TouchableOpacity(props, forwardedRef) {
7202
7202
  focusable: !disabled && focusable !== false,
7203
7203
  pointerEvents: disabled ? 'box-none' : undefined,
7204
7204
  ref: setRef,
7205
- style: [styles$u.root, !disabled && styles$u.actionable, style, opacityOverride != null && {
7205
+ style: [styles$j.root, !disabled && styles$j.actionable, style, opacityOverride != null && {
7206
7206
  opacity: opacityOverride
7207
7207
  }, {
7208
7208
  transitionDuration: duration
7209
7209
  }]
7210
7210
  }));
7211
7211
  }
7212
- var styles$u = StyleSheet$1.create({
7212
+ var styles$j = StyleSheet$1.create({
7213
7213
  root: {
7214
7214
  transitionProperty: 'opacity',
7215
7215
  transitionDuration: '0.15s',
@@ -7339,7 +7339,7 @@ var parseNavigationLink = function (link) {
7339
7339
  };
7340
7340
 
7341
7341
  var useNavigation = function (config) {
7342
- var handleNavigation = React.useCallback(function (link, ctaTarget) {
7342
+ var handleNavigation = React$1.useCallback(function (link, ctaTarget) {
7343
7343
  var _a;
7344
7344
  var _b = parseNavigationLink(link),
7345
7345
  type = _b.type,
@@ -7357,7 +7357,7 @@ var useNavigation = function (config) {
7357
7357
 
7358
7358
  var baseUrl = 'https://api.staging.core.wlloyalty.net/v1';
7359
7359
  var useCreateRequestOptions = function (config) {
7360
- return React.useCallback(function (options) {
7360
+ return React$1.useCallback(function (options) {
7361
7361
  if (options === void 0) {
7362
7362
  options = {};
7363
7363
  }
@@ -7374,7 +7374,7 @@ var useCreateRequestOptions = function (config) {
7374
7374
  };
7375
7375
  var useMakeRequest = function (config) {
7376
7376
  var createRequestOptions = useCreateRequestOptions(config);
7377
- return React.useCallback(function (url) {
7377
+ return React$1.useCallback(function (url) {
7378
7378
  return __awaiter(void 0, void 0, void 0, function () {
7379
7379
  var response, json, error_1;
7380
7380
  return __generator(this, function (_a) {
@@ -7422,7 +7422,7 @@ var createResourceGetter = function (resource, includeHydrate) {
7422
7422
  }
7423
7423
  return function (config) {
7424
7424
  var makeRequest = useMakeRequest(config);
7425
- return React.useCallback(function (id) {
7425
+ return React$1.useCallback(function (id) {
7426
7426
  var params = new URLSearchParams();
7427
7427
  if (includeHydrate) {
7428
7428
  params.append('hydrate', 'true');
@@ -7765,10 +7765,10 @@ function getDimensionMode(window) {
7765
7765
  }
7766
7766
  function useResponsive$1() {
7767
7767
  var deviceWindow = Dimensions.get('window');
7768
- var _a = React.useState(getDimensionMode(deviceWindow)),
7768
+ var _a = React$1.useState(getDimensionMode(deviceWindow)),
7769
7769
  dimensionMode = _a[0],
7770
7770
  setDimensionMode = _a[1];
7771
- React.useEffect(function () {
7771
+ React$1.useEffect(function () {
7772
7772
  if (!isWeb) return;
7773
7773
  var subscription = Dimensions.addEventListener('change', function (_a) {
7774
7774
  var window = _a.window;
@@ -7791,10 +7791,10 @@ function useResponsive$1() {
7791
7791
  };
7792
7792
  }
7793
7793
 
7794
- var ResponsiveContext = /*#__PURE__*/React.createContext(undefined);
7794
+ var ResponsiveContext = /*#__PURE__*/React$1.createContext(undefined);
7795
7795
  function ResponsiveProvider(_a) {
7796
7796
  var children = _a.children;
7797
- var _b = React.useState(function () {
7797
+ var _b = React$1.useState(function () {
7798
7798
  var window = Dimensions.get('window');
7799
7799
  var dimensionMode = getDimensionMode(window);
7800
7800
  return {
@@ -7806,7 +7806,7 @@ function ResponsiveProvider(_a) {
7806
7806
  }),
7807
7807
  state = _b[0],
7808
7808
  setState = _b[1];
7809
- React.useEffect(function () {
7809
+ React$1.useEffect(function () {
7810
7810
  var subscription = Dimensions.addEventListener('change', function (_a) {
7811
7811
  var window = _a.window;
7812
7812
  if (window) {
@@ -7825,12 +7825,12 @@ function ResponsiveProvider(_a) {
7825
7825
  }
7826
7826
  };
7827
7827
  }, []);
7828
- return /*#__PURE__*/React.createElement(ResponsiveContext.Provider, {
7828
+ return /*#__PURE__*/React$1.createElement(ResponsiveContext.Provider, {
7829
7829
  value: state
7830
7830
  }, children);
7831
7831
  }
7832
7832
  function useResponsive() {
7833
- var context = React.useContext(ResponsiveContext);
7833
+ var context = React$1.useContext(ResponsiveContext);
7834
7834
  if (context === undefined) {
7835
7835
  throw new Error('useResponsive must be used within a ResponsiveProvider');
7836
7836
  }
@@ -7863,22 +7863,22 @@ var createTheme = function (baseTheme) {
7863
7863
  alphaDerivedText: getAlphaDerivedColors(text)
7864
7864
  });
7865
7865
  };
7866
- var WllSdkContext = /*#__PURE__*/React.createContext(undefined);
7866
+ var WllSdkContext = /*#__PURE__*/React$1.createContext(undefined);
7867
7867
  var WllSdkProvider = function (_a) {
7868
7868
  var children = _a.children,
7869
7869
  providedTheme = _a.theme,
7870
7870
  config = _a.config,
7871
7871
  _b = _a.navigationConfig,
7872
7872
  navigationConfig = _b === void 0 ? {} : _b;
7873
- var _c = React.useState(function () {
7873
+ var _c = React$1.useState(function () {
7874
7874
  return createTheme(providedTheme || {});
7875
7875
  }),
7876
7876
  theme = _c[0],
7877
7877
  setThemeState = _c[1];
7878
- React.useEffect(function () {
7878
+ React$1.useEffect(function () {
7879
7879
  setThemeState(createTheme(providedTheme || {}));
7880
7880
  }, [providedTheme]);
7881
- var setTheme = React.useCallback(function (newTheme) {
7881
+ var setTheme = React$1.useCallback(function (newTheme) {
7882
7882
  setThemeState(function (prevTheme) {
7883
7883
  return createTheme(__assign(__assign({}, prevTheme), newTheme));
7884
7884
  });
@@ -7887,7 +7887,7 @@ var WllSdkProvider = function (_a) {
7887
7887
  var getSectionByID = useGetSectionByID(config);
7888
7888
  var getTileByID = useGetTileByID(config);
7889
7889
  var handleNavigation = useNavigation(navigationConfig);
7890
- var contextValue = React.useMemo(function () {
7890
+ var contextValue = React$1.useMemo(function () {
7891
7891
  return {
7892
7892
  theme: theme,
7893
7893
  setTheme: setTheme,
@@ -7897,43 +7897,18 @@ var WllSdkProvider = function (_a) {
7897
7897
  handleNavigation: handleNavigation
7898
7898
  };
7899
7899
  }, [theme, setTheme, getGroupByID, getSectionByID, getTileByID, handleNavigation]);
7900
- return /*#__PURE__*/React.createElement(WllSdkContext.Provider, {
7900
+ return /*#__PURE__*/React$1.createElement(WllSdkContext.Provider, {
7901
7901
  value: contextValue
7902
- }, /*#__PURE__*/React.createElement(ResponsiveProvider, null, children));
7902
+ }, /*#__PURE__*/React$1.createElement(ResponsiveProvider, null, children));
7903
7903
  };
7904
7904
  var useWllSdk = function () {
7905
- var context = React.useContext(WllSdkContext);
7905
+ var context = React$1.useContext(WllSdkContext);
7906
7906
  if (context === undefined) {
7907
7907
  throw new Error('useWllSdk must be used within a WllSdkProvider');
7908
7908
  }
7909
7909
  return context;
7910
7910
  };
7911
7911
 
7912
- var BREAKPOINTS = {
7913
- MOBILE: 0,
7914
- TABLET: 767,
7915
- DESKTOP: 768
7916
- };
7917
- var createResponsiveStyle = function (style) {
7918
- var windowWidth = Dimensions.get('window').width;
7919
- var responsiveStyle = Object.entries(style).reduce(function (acc, _a) {
7920
- var key = _a[0],
7921
- value = _a[1];
7922
- if (Array.isArray(value)) {
7923
- if (windowWidth > BREAKPOINTS.DESKTOP) {
7924
- acc[key] = value[2] || value[1] || value[0]; // Desktop value or fallback to tablet
7925
- } else if (windowWidth > BREAKPOINTS.TABLET) {
7926
- acc[key] = value[1] || value[0]; // Tablet value or fallback to mobile
7927
- } else {
7928
- acc[key] = value[0]; // Mobile value or fallback to first value
7929
- }
7930
- } else {
7931
- acc[key] = value; // No responsive value, just return the value
7932
- }
7933
- return acc;
7934
- }, {});
7935
- return responsiveStyle;
7936
- };
7937
7912
  var getResponsiveValue = function (desktopValue, mobileValue, isDesktop, isTablet) {
7938
7913
  if (isDesktop) return desktopValue;
7939
7914
  if (isTablet) return Math.round((desktopValue + mobileValue) / 2); // Tablet gets the middle value
@@ -8014,7 +7989,7 @@ var Button = function (_a) {
8014
7989
  }, title));
8015
7990
  };
8016
7991
 
8017
- var justifyMap = {
7992
+ var justifyMap$1 = {
8018
7993
  start: 'flex-start',
8019
7994
  end: 'flex-end',
8020
7995
  center: 'center',
@@ -8022,13 +7997,13 @@ var justifyMap = {
8022
7997
  around: 'space-around',
8023
7998
  evenly: 'space-evenly'
8024
7999
  };
8025
- var alignMap = {
8000
+ var alignMap$1 = {
8026
8001
  start: 'flex-start',
8027
8002
  end: 'flex-end',
8028
8003
  center: 'center',
8029
8004
  stretch: 'stretch'
8030
8005
  };
8031
- var Column = function (_a) {
8006
+ var Column$1 = function (_a) {
8032
8007
  var children = _a.children,
8033
8008
  _b = _a.justify,
8034
8009
  justify = _b === void 0 ? 'start' : _b,
@@ -8038,22 +8013,23 @@ var Column = function (_a) {
8038
8013
  direction = _d === void 0 ? 'column' : _d,
8039
8014
  _e = _a.style,
8040
8015
  style = _e === void 0 ? {} : _e;
8041
- return /*#__PURE__*/React__namespace.createElement(View$2, {
8042
- style: [styles$t.column, {
8043
- justifyContent: justifyMap[justify],
8044
- alignItems: alignMap[align],
8016
+ var _f = useResponsive$1(),
8017
+ isDesktop = _f.isDesktop,
8018
+ isTablet = _f.isTablet;
8019
+ var dynamicStyles = StyleSheet$1.create({
8020
+ column: {
8021
+ flex: 1,
8022
+ paddingHorizontal: getResponsiveValue(12, 8, isDesktop, isTablet),
8023
+ paddingBottom: getResponsiveValue(12, 8, isDesktop, isTablet),
8024
+ justifyContent: justifyMap$1[justify],
8025
+ alignItems: alignMap$1[align],
8045
8026
  flexDirection: direction
8046
- }, style]
8027
+ }
8028
+ });
8029
+ return /*#__PURE__*/React__namespace.createElement(View$2, {
8030
+ style: [dynamicStyles.column, style]
8047
8031
  }, children);
8048
8032
  };
8049
- var styles$t = StyleSheet$1.create({
8050
- column: __assign({
8051
- flex: 1
8052
- }, createResponsiveStyle({
8053
- paddingHorizontal: [8, 8, 16],
8054
- paddingBottom: [8, 8, 16]
8055
- }))
8056
- });
8057
8033
 
8058
8034
  var Icon = function (_a) {
8059
8035
  var name = _a.name,
@@ -8113,17 +8089,17 @@ var ActivityIndicator = /*#__PURE__*/React__namespace.forwardRef((props, forward
8113
8089
  "aria-valuemin": 0,
8114
8090
  ref: forwardedRef,
8115
8091
  role: "progressbar",
8116
- style: [styles$s.container, style]
8092
+ style: [styles$i.container, style]
8117
8093
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
8118
8094
  children: svg,
8119
8095
  style: [typeof size === 'number' ? {
8120
8096
  height: size,
8121
8097
  width: size
8122
- } : indicatorSizes[size], styles$s.animation, !animating && styles$s.animationPause, !animating && hidesWhenStopped && styles$s.hidesWhenStopped]
8098
+ } : indicatorSizes[size], styles$i.animation, !animating && styles$i.animationPause, !animating && hidesWhenStopped && styles$i.hidesWhenStopped]
8123
8099
  }));
8124
8100
  });
8125
8101
  ActivityIndicator.displayName = 'ActivityIndicator';
8126
- var styles$s = StyleSheet$1.create({
8102
+ var styles$i = StyleSheet$1.create({
8127
8103
  container: {
8128
8104
  alignItems: 'center',
8129
8105
  justifyContent: 'center'
@@ -8163,7 +8139,7 @@ var ActivityIndicator$1 = ActivityIndicator;
8163
8139
  var LoadingIndicator = function () {
8164
8140
  var theme = useWllSdk().theme;
8165
8141
  return /*#__PURE__*/React__namespace.createElement(View$2, {
8166
- style: [styles$r.container, {
8142
+ style: [styles$h.container, {
8167
8143
  borderRadius: theme.sizes.borderRadiusSm,
8168
8144
  padding: theme.sizes.md
8169
8145
  }]
@@ -8172,7 +8148,7 @@ var LoadingIndicator = function () {
8172
8148
  color: theme.primary
8173
8149
  }));
8174
8150
  };
8175
- var styles$r = StyleSheet$1.create({
8151
+ var styles$h = StyleSheet$1.create({
8176
8152
  container: {
8177
8153
  width: '100%',
8178
8154
  height: '100%',
@@ -8298,7 +8274,7 @@ function RefreshControl(props) {
8298
8274
  props.title;
8299
8275
  props.titleColor;
8300
8276
  var rest = _objectWithoutPropertiesLoose(props, _excluded$8);
8301
- return /*#__PURE__*/React.createElement(View$2, rest);
8277
+ return /*#__PURE__*/React$1.createElement(View$2, rest);
8302
8278
  }
8303
8279
 
8304
8280
  /**
@@ -8486,14 +8462,14 @@ var ScrollViewBase = /*#__PURE__*/React__namespace.forwardRef((props, forwardedR
8486
8462
  onTouchMove: createPreventableScrollHandler(onTouchMove),
8487
8463
  onWheel: createPreventableScrollHandler(onWheel),
8488
8464
  ref: useMergeRefs$1(scrollRef, forwardedRef),
8489
- style: [style, !scrollEnabled && styles$q.scrollDisabled, hideScrollbar && styles$q.hideScrollbar]
8465
+ style: [style, !scrollEnabled && styles$g.scrollDisabled, hideScrollbar && styles$g.hideScrollbar]
8490
8466
  }));
8491
8467
  });
8492
8468
 
8493
8469
  // Chrome doesn't support e.preventDefault in this case; touch-action must be
8494
8470
  // used to disable scrolling.
8495
8471
  // https://developers.google.com/web/updates/2017/01/scrolling-intervention
8496
- var styles$q = StyleSheet$1.create({
8472
+ var styles$g = StyleSheet$1.create({
8497
8473
  scrollDisabled: {
8498
8474
  overflowX: 'hidden',
8499
8475
  overflowY: 'hidden',
@@ -8601,7 +8577,7 @@ var warning$1 = /*@__PURE__*/getDefaultExportFromCjs(warning_1);
8601
8577
  var _excluded$6 = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"];
8602
8578
  var emptyObject$1 = {};
8603
8579
  var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
8604
- let ScrollView$1 = class ScrollView extends React.Component {
8580
+ let ScrollView$1 = class ScrollView extends React$1.Component {
8605
8581
  constructor() {
8606
8582
  super(...arguments);
8607
8583
  this._scrollNodeRef = null;
@@ -9128,24 +9104,24 @@ let ScrollView$1 = class ScrollView extends React.Component {
9128
9104
  };
9129
9105
  }
9130
9106
  var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);
9131
- var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {
9107
+ var children = hasStickyHeaderIndices || pagingEnabled ? React$1.Children.map(this.props.children, (child, i) => {
9132
9108
  var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;
9133
9109
  if (child != null && (isSticky || pagingEnabled)) {
9134
- return /*#__PURE__*/React.createElement(View$2, {
9135
- style: [isSticky && styles$p.stickyHeader, pagingEnabled && styles$p.pagingEnabledChild]
9110
+ return /*#__PURE__*/React$1.createElement(View$2, {
9111
+ style: [isSticky && styles$f.stickyHeader, pagingEnabled && styles$f.pagingEnabledChild]
9136
9112
  }, child);
9137
9113
  } else {
9138
9114
  return child;
9139
9115
  }
9140
9116
  }) : this.props.children;
9141
- var contentContainer = /*#__PURE__*/React.createElement(View$2, _extends$1({}, contentSizeChangeProps, {
9117
+ var contentContainer = /*#__PURE__*/React$1.createElement(View$2, _extends$1({}, contentSizeChangeProps, {
9142
9118
  children: children,
9143
9119
  collapsable: false,
9144
9120
  ref: this._setInnerViewRef,
9145
- style: [horizontal && styles$p.contentContainerHorizontal, centerContent && styles$p.contentContainerCenterContent, contentContainerStyle]
9121
+ style: [horizontal && styles$f.contentContainerHorizontal, centerContent && styles$f.contentContainerCenterContent, contentContainerStyle]
9146
9122
  }));
9147
- var baseStyle = horizontal ? styles$p.baseHorizontal : styles$p.baseVertical;
9148
- var pagingEnabledStyle = horizontal ? styles$p.pagingEnabledHorizontal : styles$p.pagingEnabledVertical;
9123
+ var baseStyle = horizontal ? styles$f.baseHorizontal : styles$f.baseVertical;
9124
+ var pagingEnabledStyle = horizontal ? styles$f.pagingEnabledHorizontal : styles$f.pagingEnabledVertical;
9149
9125
  var props = _objectSpread2(_objectSpread2({}, other), {}, {
9150
9126
  style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],
9151
9127
  onTouchStart: this.scrollResponderHandleTouchStart,
@@ -9167,11 +9143,11 @@ let ScrollView$1 = class ScrollView extends React.Component {
9167
9143
  });
9168
9144
  var ScrollViewClass = ScrollViewBase$1;
9169
9145
  invariant$1(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');
9170
- var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends$1({}, props, {
9146
+ var scrollView = /*#__PURE__*/React$1.createElement(ScrollViewClass, _extends$1({}, props, {
9171
9147
  ref: this._setScrollNodeRef
9172
9148
  }), contentContainer);
9173
9149
  if (refreshControl) {
9174
- return /*#__PURE__*/React.cloneElement(refreshControl, {
9150
+ return /*#__PURE__*/React$1.cloneElement(refreshControl, {
9175
9151
  style: props.style
9176
9152
  }, scrollView);
9177
9153
  }
@@ -9188,7 +9164,7 @@ var commonStyle = {
9188
9164
  // iOS native scrolling
9189
9165
  WebkitOverflowScrolling: 'touch'
9190
9166
  };
9191
- var styles$p = StyleSheet$1.create({
9167
+ var styles$f = StyleSheet$1.create({
9192
9168
  baseVertical: _objectSpread2(_objectSpread2({}, commonStyle), {}, {
9193
9169
  flexDirection: 'column',
9194
9170
  overflowX: 'hidden',
@@ -9221,8 +9197,8 @@ var styles$p = StyleSheet$1.create({
9221
9197
  scrollSnapAlign: 'start'
9222
9198
  }
9223
9199
  });
9224
- var ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
9225
- return /*#__PURE__*/React.createElement(ScrollView$1, _extends$1({}, props, {
9200
+ var ForwardedScrollView = /*#__PURE__*/React$1.forwardRef((props, forwardedRef) => {
9201
+ return /*#__PURE__*/React$1.createElement(ScrollView$1, _extends$1({}, props, {
9226
9202
  forwardedRef: forwardedRef
9227
9203
  }));
9228
9204
  });
@@ -10268,7 +10244,7 @@ function VirtualizedListContextProvider(_ref2) {
10268
10244
  var children = _ref2.children,
10269
10245
  value = _ref2.value;
10270
10246
  // Avoid setting a newly created context object if the values are identical.
10271
- var context = React.useMemo(() => ({
10247
+ var context = React$1.useMemo(() => ({
10272
10248
  cellKey: null,
10273
10249
  getScrollMetrics: value.getScrollMetrics,
10274
10250
  horizontal: value.horizontal,
@@ -10288,8 +10264,8 @@ function VirtualizedListCellContextProvider(_ref3) {
10288
10264
  var cellKey = _ref3.cellKey,
10289
10265
  children = _ref3.children;
10290
10266
  // Avoid setting a newly created context object if the values are identical.
10291
- var currContext = React.useContext(VirtualizedListContext);
10292
- var context = React.useMemo(() => currContext == null ? null : _objectSpread2(_objectSpread2({}, currContext), {}, {
10267
+ var currContext = React$1.useContext(VirtualizedListContext);
10268
+ var context = React$1.useMemo(() => currContext == null ? null : _objectSpread2(_objectSpread2({}, currContext), {}, {
10293
10269
  cellKey
10294
10270
  }), [currContext, cellKey]);
10295
10271
  return /*#__PURE__*/React__namespace.createElement(VirtualizedListContext.Provider, {
@@ -10401,7 +10377,7 @@ class CellRenderer extends React__namespace.Component {
10401
10377
  ItemSeparatorComponent :
10402
10378
  // $FlowFixMe[incompatible-type]
10403
10379
  ItemSeparatorComponent && /*#__PURE__*/React__namespace.createElement(ItemSeparatorComponent, this.state.separatorProps);
10404
- var cellStyle = inversionStyle ? horizontal ? [styles$o.rowReverse, inversionStyle] : [styles$o.columnReverse, inversionStyle] : horizontal ? [styles$o.row, inversionStyle] : inversionStyle;
10380
+ var cellStyle = inversionStyle ? horizontal ? [styles$e.rowReverse, inversionStyle] : [styles$e.columnReverse, inversionStyle] : horizontal ? [styles$e.row, inversionStyle] : inversionStyle;
10405
10381
  var result = !CellRendererComponent ? /*#__PURE__*/React__namespace.createElement(View$2, _extends$1({
10406
10382
  style: cellStyle,
10407
10383
  onFocusCapture: onCellFocusCapture
@@ -10421,7 +10397,7 @@ class CellRenderer extends React__namespace.Component {
10421
10397
  }, result);
10422
10398
  }
10423
10399
  }
10424
- var styles$o = StyleSheet$1.create({
10400
+ var styles$e = StyleSheet$1.create({
10425
10401
  row: {
10426
10402
  flexDirection: 'row'
10427
10403
  },
@@ -11601,7 +11577,7 @@ class VirtualizedList extends StateSafePureComponent {
11601
11577
  var _this$props6 = this.props,
11602
11578
  data = _this$props6.data,
11603
11579
  horizontal = _this$props6.horizontal;
11604
- var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$n.horizontallyInverted : styles$n.verticallyInverted : null;
11580
+ var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$d.horizontallyInverted : styles$d.verticallyInverted : null;
11605
11581
  var cells = [];
11606
11582
  var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
11607
11583
  var stickyHeaderIndices = [];
@@ -11765,7 +11741,7 @@ class VirtualizedList extends StateSafePureComponent {
11765
11741
  }*/
11766
11742
  if (this.props.debug) {
11767
11743
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11768
- style: styles$n.debug
11744
+ style: styles$d.debug
11769
11745
  }, ret, this._renderDebugOverlay());
11770
11746
  } else {
11771
11747
  return ret;
@@ -11882,20 +11858,20 @@ class VirtualizedList extends StateSafePureComponent {
11882
11858
  var visTop = this._scrollMetrics.offset;
11883
11859
  var visLen = this._scrollMetrics.visibleLength;
11884
11860
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11885
- style: [styles$n.debugOverlayBase, styles$n.debugOverlay]
11861
+ style: [styles$d.debugOverlayBase, styles$d.debugOverlay]
11886
11862
  }, framesInLayout.map((f, ii) => /*#__PURE__*/React__namespace.createElement(View$2, {
11887
11863
  key: 'f' + ii,
11888
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrame, {
11864
+ style: [styles$d.debugOverlayBase, styles$d.debugOverlayFrame, {
11889
11865
  top: f.offset * normalize,
11890
11866
  height: f.length * normalize
11891
11867
  }]
11892
11868
  })), /*#__PURE__*/React__namespace.createElement(View$2, {
11893
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrameLast, {
11869
+ style: [styles$d.debugOverlayBase, styles$d.debugOverlayFrameLast, {
11894
11870
  top: windowTop * normalize,
11895
11871
  height: windowLen * normalize
11896
11872
  }]
11897
11873
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
11898
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrameVis, {
11874
+ style: [styles$d.debugOverlayBase, styles$d.debugOverlayFrameVis, {
11899
11875
  top: visTop * normalize,
11900
11876
  height: visLen * normalize
11901
11877
  }]
@@ -12036,7 +12012,7 @@ class VirtualizedList extends StateSafePureComponent {
12036
12012
  }
12037
12013
  }
12038
12014
  VirtualizedList.contextType = VirtualizedListContext;
12039
- var styles$n = StyleSheet$1.create({
12015
+ var styles$d = StyleSheet$1.create({
12040
12016
  verticallyInverted: {
12041
12017
  transform: 'scaleY(-1)'
12042
12018
  },
@@ -12413,7 +12389,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12413
12389
  _index = info.index;
12414
12390
  invariant$1(Array.isArray(_item2), 'Expected array of items with numColumns > 1');
12415
12391
  return /*#__PURE__*/React__namespace.createElement(View$2, {
12416
- style: [styles$m.row, columnWrapperStyle]
12392
+ style: [styles$c.row, columnWrapperStyle]
12417
12393
  }, _item2.map((it, kk) => {
12418
12394
  var element = render({
12419
12395
  // $FlowFixMe[incompatible-call]
@@ -12539,7 +12515,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12539
12515
  );
12540
12516
  }
12541
12517
  };
12542
- var styles$m = StyleSheet$1.create({
12518
+ var styles$c = StyleSheet$1.create({
12543
12519
  row: {
12544
12520
  flexDirection: 'row'
12545
12521
  }
@@ -14334,8 +14310,8 @@ var AnimatedProps$1 = AnimatedProps;
14334
14310
  * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).
14335
14311
  */
14336
14312
  function useRefEffect(effect) {
14337
- var cleanupRef = React.useRef(undefined);
14338
- return React.useCallback(instance => {
14313
+ var cleanupRef = React$1.useRef(undefined);
14314
+ return React$1.useCallback(instance => {
14339
14315
  if (cleanupRef.current) {
14340
14316
  cleanupRef.current();
14341
14317
  cleanupRef.current = undefined;
@@ -14357,15 +14333,15 @@ function useRefEffect(effect) {
14357
14333
  */
14358
14334
 
14359
14335
  function useAnimatedProps(props) {
14360
- var _useReducer = React.useReducer(count => count + 1, 0),
14336
+ var _useReducer = React$1.useReducer(count => count + 1, 0),
14361
14337
  scheduleUpdate = _useReducer[1];
14362
- var onUpdateRef = React.useRef(null);
14338
+ var onUpdateRef = React$1.useRef(null);
14363
14339
 
14364
14340
  // TODO: Only invalidate `node` if animated props or `style` change. In the
14365
14341
  // previous implementation, we permitted `style` to override props with the
14366
14342
  // same name property name as styles, so we can probably continue doing that.
14367
14343
  // The ordering of other props *should* not matter.
14368
- var node = React.useMemo(() => new AnimatedProps$1(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);
14344
+ var node = React$1.useMemo(() => new AnimatedProps$1(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);
14369
14345
  useAnimatedPropsLifecycle(node);
14370
14346
 
14371
14347
  // TODO: This "effect" does three things:
@@ -14381,7 +14357,7 @@ function useAnimatedProps(props) {
14381
14357
  //
14382
14358
  // But there is no way to transparently compose three separate callback refs,
14383
14359
  // so we just combine them all into one for now.
14384
- var refEffect = React.useCallback(instance => {
14360
+ var refEffect = React$1.useCallback(instance => {
14385
14361
  // NOTE: This may be called more often than necessary (e.g. when `props`
14386
14362
  // changes), but `setNativeView` already optimizes for that.
14387
14363
  node.setNativeView(instance);
@@ -14431,9 +14407,9 @@ function reduceAnimatedProps(node) {
14431
14407
  * unless we are unmounting.
14432
14408
  */
14433
14409
  function useAnimatedPropsLifecycle(node) {
14434
- var prevNodeRef = React.useRef(null);
14435
- var isUnmountingRef = React.useRef(false);
14436
- React.useEffect(() => {
14410
+ var prevNodeRef = React$1.useRef(null);
14411
+ var isUnmountingRef = React$1.useRef(false);
14412
+ React$1.useEffect(() => {
14437
14413
  // It is ok for multiple components to call `flushQueue` because it noops
14438
14414
  // if the queue is empty. When multiple animated components are mounted at
14439
14415
  // the same time. Only first component flushes the queue and the others will noop.
@@ -14493,7 +14469,7 @@ function useMergeRefs() {
14493
14469
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
14494
14470
  refs[_key] = arguments[_key];
14495
14471
  }
14496
- return React.useCallback(current => {
14472
+ return React$1.useCallback(current => {
14497
14473
  for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {
14498
14474
  var ref = _refs[_i];
14499
14475
  if (ref != null) {
@@ -14926,7 +14902,7 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14926
14902
  // Accessibility image allows users to trigger the browser's image context menu
14927
14903
  var hiddenImage = displayImageUri ? createElement$1('img', {
14928
14904
  alt: ariaLabel || '',
14929
- style: styles$l.accessibilityImage$raw,
14905
+ style: styles$b.accessibilityImage$raw,
14930
14906
  draggable: draggable || false,
14931
14907
  ref: hiddenImageRef,
14932
14908
  src: displayImageUri
@@ -14998,14 +14974,14 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14998
14974
  onLayout: handleLayout,
14999
14975
  pointerEvents: pointerEvents,
15000
14976
  ref: ref,
15001
- style: [styles$l.root, hasTextAncestor && styles$l.inline, imageSizeStyle, style, styles$l.undo,
14977
+ style: [styles$b.root, hasTextAncestor && styles$b.inline, imageSizeStyle, style, styles$b.undo,
15002
14978
  // TEMP: avoid deprecated shadow props regression
15003
14979
  // until Image refactored to use createElement.
15004
14980
  {
15005
14981
  boxShadow: null
15006
14982
  }]
15007
14983
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
15008
- style: [styles$l.image, resizeModeStyles[resizeMode], {
14984
+ style: [styles$b.image, resizeModeStyles[resizeMode], {
15009
14985
  backgroundImage,
15010
14986
  filter
15011
14987
  }, backgroundSize != null && {
@@ -15027,7 +15003,7 @@ ImageWithStatics.prefetch = function (uri) {
15027
15003
  ImageWithStatics.queryCache = function (uris) {
15028
15004
  return ImageLoader$1.queryCache(uris);
15029
15005
  };
15030
- var styles$l = StyleSheet$1.create({
15006
+ var styles$b = StyleSheet$1.create({
15031
15007
  root: {
15032
15008
  flexBasis: 'auto',
15033
15009
  overflow: 'hidden',
@@ -18131,7 +18107,7 @@ function _extends() {
18131
18107
  }, _extends.apply(null, arguments);
18132
18108
  }
18133
18109
 
18134
- var styles$k = StyleSheet$1.create({
18110
+ var styles$a = StyleSheet$1.create({
18135
18111
  imageOverlay: {
18136
18112
  position: 'absolute',
18137
18113
  left: 0,
@@ -18154,7 +18130,7 @@ var ProgressiveImage = function (_a) {
18154
18130
  _b = _a.isDesaturated,
18155
18131
  isDesaturated = _b === void 0 ? false : _b,
18156
18132
  props = __rest(_a, ["source", "style", "isDesaturated"]);
18157
- var imageAnimated = React.useRef(new Animated$1.Value(0)).current;
18133
+ var imageAnimated = React$1.useRef(new Animated$1.Value(0)).current;
18158
18134
  var theme = useWllSdk().theme;
18159
18135
  var onImageLoad = function () {
18160
18136
  Animated$1.timing(imageAnimated, {
@@ -18165,26 +18141,26 @@ var ProgressiveImage = function (_a) {
18165
18141
  };
18166
18142
  var baseColor = theme.alphaDerivedPrimary[20];
18167
18143
  var desaturatedColor = desaturateColor(baseColor);
18168
- return /*#__PURE__*/React.createElement(View$2, {
18169
- style: [styles$k.container, style, {
18144
+ return /*#__PURE__*/React$1.createElement(View$2, {
18145
+ style: [styles$a.container, style, {
18170
18146
  backgroundColor: isDesaturated ? desaturatedColor : baseColor
18171
18147
  }]
18172
- }, isDesaturated ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18148
+ }, isDesaturated ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Animated$1.Image, _extends({}, props, {
18173
18149
  source: source,
18174
- style: [styles$k.imageOverlay, {
18150
+ style: [styles$a.imageOverlay, {
18175
18151
  opacity: imageAnimated,
18176
18152
  tintColor: desaturatedColor
18177
18153
  }],
18178
18154
  onLoad: onImageLoad
18179
- })), /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18155
+ })), /*#__PURE__*/React$1.createElement(Animated$1.Image, _extends({}, props, {
18180
18156
  source: source,
18181
- style: [styles$k.imageOverlay, {
18157
+ style: [styles$a.imageOverlay, {
18182
18158
  opacity: 0.1
18183
18159
  }],
18184
18160
  onLoad: onImageLoad
18185
- }))) : /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18161
+ }))) : /*#__PURE__*/React$1.createElement(Animated$1.Image, _extends({}, props, {
18186
18162
  source: source,
18187
- style: [styles$k.imageOverlay, {
18163
+ style: [styles$a.imageOverlay, {
18188
18164
  opacity: imageAnimated
18189
18165
  }],
18190
18166
  onLoad: onImageLoad
@@ -18195,18 +18171,21 @@ var RowHeader = function (_a) {
18195
18171
  var children = _a.children,
18196
18172
  style = _a.style,
18197
18173
  props = __rest(_a, ["children", "style"]);
18174
+ var _b = useResponsive$1(),
18175
+ isDesktop = _b.isDesktop,
18176
+ isTablet = _b.isTablet;
18177
+ var dynamicStyles = StyleSheet$1.create({
18178
+ header: {
18179
+ flexDirection: 'row',
18180
+ alignItems: 'center',
18181
+ justifyContent: 'space-between',
18182
+ marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
18183
+ }
18184
+ });
18198
18185
  return /*#__PURE__*/React__namespace.createElement(View$2, _extends({
18199
- style: [styles$j.header, style]
18186
+ style: [dynamicStyles.header, style]
18200
18187
  }, props), children);
18201
18188
  };
18202
- var styles$j = StyleSheet$1.create({
18203
- header: createResponsiveStyle({
18204
- flexDirection: 'row',
18205
- alignItems: 'center',
18206
- justifyContent: 'space-between',
18207
- marginBottom: [4, 4, 8]
18208
- })
18209
- });
18210
18189
 
18211
18190
  var Text = function (_a) {
18212
18191
  var _b = _a.variant,
@@ -18264,10 +18243,10 @@ var Text = function (_a) {
18264
18243
  };
18265
18244
  var variantStyle = getVariantStyle(variant);
18266
18245
  return /*#__PURE__*/React__namespace.createElement(Text$3, _extends({
18267
- style: [styles$i.base, variantStyle, style]
18246
+ style: [styles$9.base, variantStyle, style]
18268
18247
  }, props));
18269
18248
  };
18270
- var styles$i = StyleSheet$1.create({
18249
+ var styles$9 = StyleSheet$1.create({
18271
18250
  base: {}
18272
18251
  });
18273
18252
 
@@ -18756,9 +18735,9 @@ function Pressable(props, forwardedRef) {
18756
18735
  var _useForceableState3 = useForceableState(testOnly_pressed === true),
18757
18736
  pressed = _useForceableState3[0],
18758
18737
  setPressed = _useForceableState3[1];
18759
- var hostRef = React.useRef(null);
18738
+ var hostRef = React$1.useRef(null);
18760
18739
  var setRef = useMergeRefs$1(forwardedRef, hostRef);
18761
- var pressConfig = React.useMemo(() => ({
18740
+ var pressConfig = React$1.useMemo(() => ({
18762
18741
  delayLongPress,
18763
18742
  delayPressStart: delayPressIn,
18764
18743
  delayPressEnd: delayPressOut,
@@ -18830,17 +18809,17 @@ function Pressable(props, forwardedRef) {
18830
18809
  onFocus: focusHandler,
18831
18810
  onKeyDown: keyDownHandler,
18832
18811
  ref: setRef,
18833
- style: [disabled ? styles$h.disabled : styles$h.active, typeof style === 'function' ? style(interactionState) : style],
18812
+ style: [disabled ? styles$8.disabled : styles$8.active, typeof style === 'function' ? style(interactionState) : style],
18834
18813
  tabIndex: _tabIndex
18835
18814
  }), typeof children === 'function' ? children(interactionState) : children);
18836
18815
  }
18837
18816
  function useForceableState(forced) {
18838
- var _useState = React.useState(false),
18817
+ var _useState = React$1.useState(false),
18839
18818
  bool = _useState[0],
18840
18819
  setBool = _useState[1];
18841
18820
  return [bool || forced, setBool];
18842
18821
  }
18843
- var styles$h = StyleSheet$1.create({
18822
+ var styles$8 = StyleSheet$1.create({
18844
18823
  active: {
18845
18824
  cursor: 'pointer',
18846
18825
  touchAction: 'manipulation'
@@ -18849,13 +18828,17 @@ var styles$h = StyleSheet$1.create({
18849
18828
  pointerEvents: 'box-none'
18850
18829
  }
18851
18830
  });
18852
- var MemoedPressable = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Pressable));
18831
+ var MemoedPressable = /*#__PURE__*/React$1.memo( /*#__PURE__*/React$1.forwardRef(Pressable));
18853
18832
  MemoedPressable.displayName = 'Pressable';
18854
18833
  var Pressable$1 = MemoedPressable;
18855
18834
 
18835
+ var MAX_WIDTH = 1080;
18836
+ var SLIDE_WIDTH = MAX_WIDTH;
18837
+ var BUTTON_SIZE = 42;
18838
+
18856
18839
  var useHandleTilePress = function (ctaLink, ctaLinkTarget) {
18857
18840
  var handleNavigation = useWllSdk().handleNavigation;
18858
- return React.useCallback(function () {
18841
+ return React$1.useCallback(function () {
18859
18842
  if (ctaLink) {
18860
18843
  var target = ctaLinkTarget || 'SAME_FRAME';
18861
18844
  handleNavigation(ctaLink, target);
@@ -18885,7 +18868,7 @@ var BaseBanner = function (_a) {
18885
18868
  }, /*#__PURE__*/React__namespace.createElement(Pressable$1, {
18886
18869
  style: function (_a) {
18887
18870
  var pressed = _a.pressed;
18888
- return [styles$g.container, {
18871
+ return [styles$7.container, {
18889
18872
  backgroundColor: theme.surface,
18890
18873
  borderRadius: theme.sizes.borderRadiusLg,
18891
18874
  opacity: pressed ? 0.7 : 1
@@ -18898,10 +18881,10 @@ var BaseBanner = function (_a) {
18898
18881
  accessibilityLabel: "".concat(title).concat(ctaLink ? ' - Click to open' : '')
18899
18882
  }, children));
18900
18883
  };
18901
- var styles$g = StyleSheet$1.create({
18884
+ var styles$7 = StyleSheet$1.create({
18902
18885
  container: {
18903
18886
  width: '100%',
18904
- maxWidth: 1080,
18887
+ maxWidth: MAX_WIDTH,
18905
18888
  flexDirection: 'row',
18906
18889
  alignItems: 'center',
18907
18890
  justifyContent: 'space-between',
@@ -19043,7 +19026,7 @@ var TierTileConfig = /** @class */function () {
19043
19026
  }();
19044
19027
 
19045
19028
  var useTileSize = function (tile) {
19046
- return React.useMemo(function () {
19029
+ return React$1.useMemo(function () {
19047
19030
  return {
19048
19031
  isFullSize: tile.tileHeight === exports.TileHeight.Full,
19049
19032
  isHalfSize: tile.tileHeight === exports.TileHeight.Half
@@ -19051,9 +19034,9 @@ var useTileSize = function (tile) {
19051
19034
  }, [tile.tileHeight]);
19052
19035
  };
19053
19036
 
19054
- var TileContext = /*#__PURE__*/React.createContext(null);
19037
+ var TileContext = /*#__PURE__*/React$1.createContext(null);
19055
19038
  var useTileContext = function () {
19056
- var context = React.useContext(TileContext);
19039
+ var context = React$1.useContext(TileContext);
19057
19040
  if (!context) {
19058
19041
  throw new Error('Tile components must be used within a BaseTile');
19059
19042
  }
@@ -19062,9 +19045,9 @@ var useTileContext = function () {
19062
19045
  var BaseTileInner = function (_a) {
19063
19046
  var tile = _a.tile,
19064
19047
  children = _a.children;
19065
- return /*#__PURE__*/React.createElement(TileContext.Provider, {
19048
+ return /*#__PURE__*/React$1.createElement(TileContext.Provider, {
19066
19049
  value: tile
19067
- }, /*#__PURE__*/React.createElement(BaseTile.Root, null, children));
19050
+ }, /*#__PURE__*/React$1.createElement(BaseTile.Root, null, children));
19068
19051
  };
19069
19052
  var BaseTileRoot = function (_a) {
19070
19053
  var children = _a.children,
@@ -19077,23 +19060,29 @@ var BaseTileRoot = function (_a) {
19077
19060
  ctaLinkTarget = _b.ctaLinkTarget,
19078
19061
  title = _b.title;
19079
19062
  var handlePress = useHandleTilePress(ctaLink, ctaLinkTarget);
19063
+ var _c = useResponsive$1(),
19064
+ isDesktop = _c.isDesktop,
19065
+ isTablet = _c.isTablet;
19080
19066
  var layout = {
19081
19067
  flexDirection: 'column',
19082
19068
  justifyContent: isHalfSize ? 'center' : 'flex-start',
19083
19069
  alignItems: 'stretch'
19084
19070
  };
19085
- var responsiveStyles = createResponsiveStyle({
19086
- borderRadius: [theme.sizes.borderRadiusSm, theme.sizes.borderRadiusSm, theme.sizes.borderRadiusLg]
19071
+ var dynamicStyles = StyleSheet$1.create({
19072
+ container: {
19073
+ justifyContent: 'center',
19074
+ alignItems: 'center',
19075
+ aspectRatio: isHalfSize ? 2 : 1,
19076
+ borderRadius: getResponsiveValue(theme.sizes.borderRadiusLg, theme.sizes.borderRadiusSm, isDesktop, isTablet)
19077
+ }
19087
19078
  });
19088
- return /*#__PURE__*/React.createElement(Pressable$1, {
19079
+ return /*#__PURE__*/React$1.createElement(Pressable$1, {
19089
19080
  style: function (_a) {
19090
19081
  var pressed = _a.pressed;
19091
- return [styles$f.container, {
19082
+ return [styles$6.container, {
19092
19083
  backgroundColor: theme.surface,
19093
- borderRadius: responsiveStyles.borderRadius,
19094
- aspectRatio: isHalfSize ? 2 : 1,
19095
19084
  opacity: pressed ? 0.7 : 1
19096
- }, layout, style];
19085
+ }, dynamicStyles.container, layout, style];
19097
19086
  },
19098
19087
  onPress: handlePress,
19099
19088
  disabled: !ctaLink,
@@ -19109,8 +19098,8 @@ var BaseTileContent = function (_a) {
19109
19098
  var isHalfSize = useTileSize(tile).isHalfSize;
19110
19099
  // For half tiles with an image, don't show other content
19111
19100
  if (isHalfSize && artworkUrl) return null;
19112
- return /*#__PURE__*/React.createElement(View$2, {
19113
- style: [styles$f.content, {
19101
+ return /*#__PURE__*/React$1.createElement(View$2, {
19102
+ style: [styles$6.content, {
19114
19103
  justifyContent: 'center',
19115
19104
  height: !artworkUrl ? '100%' : undefined
19116
19105
  }]
@@ -19121,14 +19110,23 @@ var BaseTileHeader = function (_a) {
19121
19110
  var tile = useTileContext();
19122
19111
  var artworkUrl = tile.configuration.artworkUrl;
19123
19112
  var isHalfSize = useTileSize(tile).isHalfSize;
19113
+ var _b = useResponsive$1(),
19114
+ isDesktop = _b.isDesktop,
19115
+ isTablet = _b.isTablet;
19124
19116
  // For half tiles with an image, don't show header
19125
19117
  if (isHalfSize && artworkUrl) return null;
19126
- var headerStyle = createResponsiveStyle({
19127
- marginTop: [8, 8, 12]
19118
+ var dynamicStyles = StyleSheet$1.create({
19119
+ header: {
19120
+ marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet),
19121
+ marginTop: getResponsiveValue(12, 8, isDesktop, isTablet),
19122
+ flexDirection: 'row',
19123
+ alignItems: 'center',
19124
+ justifyContent: 'space-between'
19125
+ }
19128
19126
  });
19129
- return /*#__PURE__*/React.createElement(View$2, {
19130
- style: [styles$f.header, {
19131
- marginTop: !isHalfSize && artworkUrl ? headerStyle.marginTop : undefined,
19127
+ return /*#__PURE__*/React$1.createElement(View$2, {
19128
+ style: [dynamicStyles.header, {
19129
+ marginTop: isHalfSize ? 0 : dynamicStyles.header.marginTop,
19132
19130
  // @ts-ignore
19133
19131
  textAlign: isHalfSize && 'center'
19134
19132
  }],
@@ -19145,11 +19143,11 @@ var BaseTileMedia = function (props) {
19145
19143
  if (!artworkUrl) return null;
19146
19144
  var hasTitle = !!title;
19147
19145
  var hasDescription = !!body;
19148
- return /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
19146
+ return /*#__PURE__*/React$1.createElement(ProgressiveImage, _extends({}, props, {
19149
19147
  source: {
19150
19148
  uri: artworkUrl
19151
19149
  },
19152
- style: [props.style, styles$f.media, {
19150
+ style: [props.style, styles$6.media, {
19153
19151
  flexBasis: !isHalfSize && hasTitle && hasDescription ? '50%' : '100%',
19154
19152
  height: isHalfSize ? '100%' : undefined
19155
19153
  }]
@@ -19165,10 +19163,10 @@ var BaseTileTitle = function () {
19165
19163
  var isHalfSize = useTileSize(tile).isHalfSize;
19166
19164
  // Don't show title for half tiles with image
19167
19165
  if (isHalfSize && artworkUrl || !title) return null;
19168
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
19166
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Text, {
19169
19167
  variant: "title",
19170
19168
  accessibilityLabel: title
19171
- }, title), ctaLink && /*#__PURE__*/React.createElement(Icon, {
19169
+ }, title), ctaLink && /*#__PURE__*/React$1.createElement(Icon, {
19172
19170
  name: "ChevronRight",
19173
19171
  color: theme.derivedSurfaceText[20]
19174
19172
  }));
@@ -19180,7 +19178,7 @@ var BaseTileBody = function (props) {
19180
19178
  artworkUrl = _a.artworkUrl;
19181
19179
  var isHalfSize = useTileSize(tile).isHalfSize;
19182
19180
  if (isHalfSize && artworkUrl || !body) return null;
19183
- return /*#__PURE__*/React.createElement(Text, _extends({
19181
+ return /*#__PURE__*/React$1.createElement(Text, _extends({
19184
19182
  variant: "body"
19185
19183
  }, props, {
19186
19184
  accessibilityLabel: body
@@ -19193,7 +19191,7 @@ BaseTile.Content = BaseTileContent;
19193
19191
  BaseTile.Header = BaseTileHeader;
19194
19192
  BaseTile.Title = BaseTileTitle;
19195
19193
  BaseTile.Body = BaseTileBody;
19196
- var styles$f = StyleSheet$1.create({
19194
+ var styles$6 = StyleSheet$1.create({
19197
19195
  container: {
19198
19196
  width: '100%',
19199
19197
  height: '100%',
@@ -19206,13 +19204,7 @@ var styles$f = StyleSheet$1.create({
19206
19204
  media: {
19207
19205
  width: '100%',
19208
19206
  objectFit: 'cover'
19209
- },
19210
- header: createResponsiveStyle({
19211
- flexDirection: 'row',
19212
- alignItems: 'center',
19213
- justifyContent: 'space-between',
19214
- marginBottom: [4, 4, 8]
19215
- })
19207
+ }
19216
19208
  });
19217
19209
 
19218
19210
  var Indicator = function () {
@@ -19224,13 +19216,13 @@ var Indicator = function () {
19224
19216
  if (isTablet) return 'Tablet Layout';
19225
19217
  return 'Mobile Layout';
19226
19218
  };
19227
- return /*#__PURE__*/React.createElement(View$2, {
19228
- style: styles$e.indicator
19229
- }, /*#__PURE__*/React.createElement(Text$3, {
19230
- style: styles$e.indicatorText
19219
+ return /*#__PURE__*/React$1.createElement(View$2, {
19220
+ style: styles$5.indicator
19221
+ }, /*#__PURE__*/React$1.createElement(Text$3, {
19222
+ style: styles$5.indicatorText
19231
19223
  }, getCurrentLayout()));
19232
19224
  };
19233
- var styles$e = StyleSheet$1.create({
19225
+ var styles$5 = StyleSheet$1.create({
19234
19226
  indicator: {
19235
19227
  position: 'absolute',
19236
19228
  top: 10,
@@ -19280,36 +19272,36 @@ var Skeleton = function (_a) {
19280
19272
  borderRadius: theme.sizes.borderRadiusLg
19281
19273
  };
19282
19274
  return /*#__PURE__*/React__namespace.createElement(View$2, null, /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19283
- style: [styles$d.skeleton, styles$d.title, {
19275
+ style: [styles$4.skeleton, styles$4.title, {
19284
19276
  opacity: opacity,
19285
19277
  backgroundColor: theme.alphaDerivedText[20],
19286
19278
  borderRadius: 6
19287
19279
  }]
19288
19280
  }), /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19289
- style: [styles$d.skeleton, styles$d.body, {
19281
+ style: [styles$4.skeleton, styles$4.body, {
19290
19282
  opacity: opacity,
19291
19283
  backgroundColor: theme.alphaDerivedText[20],
19292
19284
  borderRadius: 6
19293
19285
  }]
19294
19286
  }), /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19295
- style: [styles$d.container, style]
19287
+ style: [styles$4.container, style]
19296
19288
  }, Array.from({
19297
19289
  length: numberOfSquares
19298
19290
  }).map(function (_, index) {
19299
19291
  return /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19300
19292
  key: index,
19301
- style: [styles$d.skeleton, styles$d.square, sharedSkeletonStyle]
19293
+ style: [styles$4.skeleton, styles$4.square, sharedSkeletonStyle]
19302
19294
  });
19303
19295
  })));
19304
19296
  };
19305
- var styles$d = StyleSheet$1.create({
19297
+ var styles$4 = StyleSheet$1.create({
19306
19298
  container: {
19307
19299
  flexDirection: 'row',
19308
19300
  flexWrap: 'wrap',
19309
19301
  gap: GRID_GAP,
19310
19302
  justifyContent: 'space-between',
19311
19303
  width: '100%',
19312
- maxWidth: 1080
19304
+ maxWidth: MAX_WIDTH
19313
19305
  },
19314
19306
  title: {
19315
19307
  height: 40,
@@ -19330,136 +19322,70 @@ var styles$d = StyleSheet$1.create({
19330
19322
  }
19331
19323
  });
19332
19324
 
19333
- var BadgeTileInner$1 = function (_a) {
19334
- var tile = _a.tile;
19335
- useWllSdk().theme;
19336
- if (tile.tileHeight === exports.TileHeight.Half) {
19337
- return null;
19338
- }
19339
- return /*#__PURE__*/React.createElement(BaseTile, {
19340
- tile: tile
19341
- }, /*#__PURE__*/React.createElement(View$2, {
19342
- style: styles$c.contentContainer
19343
- }, /*#__PURE__*/React.createElement(BadgeTile$1.Image, null), /*#__PURE__*/React.createElement(View$2, {
19344
- style: styles$c.textContainer
19345
- }, /*#__PURE__*/React.createElement(RowHeader, null, /*#__PURE__*/React.createElement(BadgeTile$1.Title, null), /*#__PURE__*/React.createElement(BadgeTile$1.Chevron, null)), /*#__PURE__*/React.createElement(BadgeTile$1.Body, null))));
19346
- };
19347
- var BadgeTileImage = function (props) {
19348
- var _a;
19349
- var tile = useTileContext();
19350
- var theme = useWllSdk().theme;
19351
- var configuration = tile.configuration;
19352
- var badgeDetails = (_a = configuration.details) === null || _a === void 0 ? void 0 : _a[0];
19353
- if (!(badgeDetails === null || badgeDetails === void 0 ? void 0 : badgeDetails.artworkUrl)) return null;
19354
- return /*#__PURE__*/React.createElement(View$2, {
19355
- style: [styles$c.imageContainer, {
19356
- backgroundColor: theme.alphaDerivedPrimary[20]
19357
- }]
19358
- }, configuration.count === 0 && /*#__PURE__*/React.createElement(Locked, null), /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
19359
- source: {
19360
- uri: badgeDetails.artworkUrl
19325
+ var useBadgeTileStyles = function () {
19326
+ var _a = useResponsive$1(),
19327
+ isDesktop = _a.isDesktop,
19328
+ isTablet = _a.isTablet;
19329
+ return StyleSheet$1.create({
19330
+ container: {
19331
+ flex: 1
19361
19332
  },
19362
- resizeMode: "contain",
19363
- style: styles$c.image
19364
- })));
19365
- };
19366
- var BadgeTileTitle$1 = function (props) {
19367
- var _a;
19368
- var tile = useTileContext();
19369
- var configuration = tile.configuration;
19370
- var badgeDetails = (_a = configuration.details) === null || _a === void 0 ? void 0 : _a[0];
19371
- if (!(badgeDetails === null || badgeDetails === void 0 ? void 0 : badgeDetails.name)) return null;
19372
- return /*#__PURE__*/React.createElement(Text, _extends({
19373
- variant: "title"
19374
- }, props, {
19375
- numberOfLines: 1,
19376
- ellipsizeMode: "tail"
19377
- }), badgeDetails.name);
19378
- };
19379
- var BadgeTileBody = function (props) {
19380
- var _a;
19381
- var tile = useTileContext();
19382
- var configuration = tile.configuration;
19383
- var badgeDetails = (_a = configuration.details) === null || _a === void 0 ? void 0 : _a[0];
19384
- if (!(badgeDetails === null || badgeDetails === void 0 ? void 0 : badgeDetails.description)) return null;
19385
- return /*#__PURE__*/React.createElement(Text, _extends({
19386
- variant: "body"
19387
- }, props), badgeDetails.description);
19388
- };
19389
- var Locked = function () {
19390
- var width = Dimensions.get('window').width;
19391
- var iconSize = Math.min(width * 0.1, 50);
19392
- return /*#__PURE__*/React.createElement(View$2, {
19393
- style: styles$c.lockOverlay
19394
- }, /*#__PURE__*/React.createElement(LucideIcons.LockKeyholeIcon, {
19395
- color: "#FFF",
19396
- size: iconSize
19397
- }));
19398
- };
19399
- var BadgeTileChevron = function () {
19400
- var theme = useWllSdk().theme;
19401
- return /*#__PURE__*/React.createElement(Icon, {
19402
- name: "ChevronRight",
19403
- color: theme.derivedSurfaceText[20]
19333
+ indicatorContainer: {
19334
+ position: 'absolute',
19335
+ bottom: getResponsiveValue(16, 8, isDesktop, isTablet),
19336
+ right: getResponsiveValue(16, 8, isDesktop, isTablet),
19337
+ backgroundColor: 'rgba(0,0,0,0.6)',
19338
+ borderRadius: 40,
19339
+ width: 40,
19340
+ alignItems: 'center',
19341
+ justifyContent: 'center',
19342
+ height: 40
19343
+ },
19344
+ countText: {
19345
+ color: '#FFF',
19346
+ fontSize: 14,
19347
+ fontWeight: 'bold'
19348
+ },
19349
+ header: {
19350
+ flexBasis: '50%',
19351
+ alignItems: 'center',
19352
+ justifyContent: 'center',
19353
+ position: 'relative',
19354
+ marginBottom: getResponsiveValue(16, 8, isDesktop, isTablet)
19355
+ },
19356
+ image: {
19357
+ width: '100%',
19358
+ height: '100%'
19359
+ },
19360
+ titleText: {
19361
+ marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
19362
+ },
19363
+ dateEarnedContainer: {
19364
+ alignItems: 'flex-start',
19365
+ paddingHorizontal: 8,
19366
+ paddingVertical: 4,
19367
+ borderRadius: 20
19368
+ }
19404
19369
  });
19405
19370
  };
19406
- var BadgeTile$1 = BadgeTileInner$1;
19407
- BadgeTile$1.Image = BadgeTileImage;
19408
- BadgeTile$1.Title = BadgeTileTitle$1;
19409
- BadgeTile$1.Body = BadgeTileBody;
19410
- BadgeTile$1.Chevron = BadgeTileChevron;
19411
- var styles$c = StyleSheet$1.create({
19412
- contentContainer: {
19413
- flexDirection: 'column',
19414
- height: '100%'
19415
- },
19416
- textContainer: createResponsiveStyle({
19417
- paddingHorizontal: [8, 8, 12],
19418
- flex: 1
19419
- }),
19420
- imageContainer: createResponsiveStyle({
19421
- width: '100%',
19422
- aspectRatio: 2 / 1,
19423
- marginBottom: [8, 8, 12],
19424
- position: 'relative',
19425
- overflow: 'hidden'
19426
- }),
19427
- row: createResponsiveStyle({
19428
- flexDirection: 'row',
19429
- alignItems: 'center',
19430
- justifyContent: 'space-between',
19431
- marginBottom: [4, 4, 8]
19432
- }),
19433
- lockOverlay: {
19434
- backgroundColor: 'rgba(0,0,0,0.6)',
19435
- position: 'absolute',
19436
- zIndex: 999,
19437
- alignItems: 'center',
19438
- justifyContent: 'center',
19439
- width: '100%',
19440
- height: '100%'
19441
- },
19442
- image: {
19443
- width: '100%',
19444
- height: '100%'
19445
- }
19446
- });
19447
19371
 
19448
19372
  var BadgeTileInner = function (_a) {
19449
19373
  var tile = _a.tile;
19374
+ var styles = useBadgeTileStyles();
19450
19375
  if (!tile) return null;
19451
- return /*#__PURE__*/React.createElement(BaseTile, {
19376
+ return /*#__PURE__*/React$1.createElement(BaseTile, {
19452
19377
  tile: tile
19453
- }, /*#__PURE__*/React.createElement(View$2, {
19454
- style: styles$b.container
19455
- }, /*#__PURE__*/React.createElement(BadgeTile.Media, null, /*#__PURE__*/React.createElement(BadgeTile.Status, null)), /*#__PURE__*/React.createElement(Column, {
19378
+ }, /*#__PURE__*/React$1.createElement(View$2, {
19379
+ style: styles.container
19380
+ }, /*#__PURE__*/React$1.createElement(BadgeTile.Media, null, /*#__PURE__*/React$1.createElement(BadgeTile.Status, null)), /*#__PURE__*/React$1.createElement(Column$1, {
19456
19381
  justify: "between",
19457
19382
  align: "start"
19458
- }, /*#__PURE__*/React.createElement(View$2, null, /*#__PURE__*/React.createElement(BadgeTile.Title, null), /*#__PURE__*/React.createElement(BadgeTile.Description, null)), /*#__PURE__*/React.createElement(BadgeTile.DateEarned, null))));
19383
+ }, /*#__PURE__*/React$1.createElement(View$2, null, /*#__PURE__*/React$1.createElement(BadgeTile.Title, null), /*#__PURE__*/React$1.createElement(BadgeTile.Description, null)), /*#__PURE__*/React$1.createElement(BadgeTile.DateEarned, null))));
19459
19384
  };
19460
19385
  var BadgeTileMedia = function (_a) {
19461
19386
  var children = _a.children,
19462
19387
  props = __rest(_a, ["children"]);
19388
+ var styles = useBadgeTileStyles();
19463
19389
  var tile = useTileContext();
19464
19390
  var configuration = tile.configuration;
19465
19391
  var type = configuration.type,
@@ -19468,18 +19394,19 @@ var BadgeTileMedia = function (_a) {
19468
19394
  emptyBadgeArtworkUrl = configuration.emptyBadgeArtworkUrl;
19469
19395
  var displayUrl = count === 0 ? emptyBadgeArtworkUrl : artworkUrl;
19470
19396
  if (!displayUrl) return null;
19471
- return /*#__PURE__*/React.createElement(View$2, {
19472
- style: styles$b.header
19473
- }, /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
19397
+ return /*#__PURE__*/React$1.createElement(View$2, {
19398
+ style: styles.header
19399
+ }, /*#__PURE__*/React$1.createElement(ProgressiveImage, _extends({}, props, {
19474
19400
  source: {
19475
19401
  uri: displayUrl
19476
19402
  },
19477
- style: styles$b.image,
19403
+ style: styles.image,
19478
19404
  resizeMode: "contain",
19479
19405
  isDesaturated: shouldDesaturate(type, count)
19480
19406
  })), children);
19481
19407
  };
19482
19408
  var BadgeTileTitle = function () {
19409
+ var styles = useBadgeTileStyles();
19483
19410
  var tile = useTileContext();
19484
19411
  var configuration = tile.configuration;
19485
19412
  var count = configuration.count,
@@ -19487,9 +19414,9 @@ var BadgeTileTitle = function () {
19487
19414
  emptyBadgeMessage = configuration.emptyBadgeMessage;
19488
19415
  var displayText = count === 0 ? emptyBadgeMessage : name;
19489
19416
  if (!displayText) return null;
19490
- return /*#__PURE__*/React.createElement(View$2, null, /*#__PURE__*/React.createElement(Text, {
19417
+ return /*#__PURE__*/React$1.createElement(View$2, null, /*#__PURE__*/React$1.createElement(Text, {
19491
19418
  variant: "title",
19492
- style: styles$b.titleText,
19419
+ style: styles.titleText,
19493
19420
  numberOfLines: 2,
19494
19421
  ellipsizeMode: "tail"
19495
19422
  }, displayText));
@@ -19500,16 +19427,14 @@ var BadgeTileDescription = function () {
19500
19427
  var count = configuration.count,
19501
19428
  description = configuration.description;
19502
19429
  if (count === 0 || !description) return null;
19503
- return /*#__PURE__*/React.createElement(View$2, {
19504
- style: styles$b.descriptionContainer
19505
- }, /*#__PURE__*/React.createElement(Text, {
19430
+ return /*#__PURE__*/React$1.createElement(Text, {
19506
19431
  variant: "body",
19507
- style: styles$b.descriptionText,
19508
19432
  numberOfLines: 2,
19509
19433
  ellipsizeMode: "tail"
19510
- }, description));
19434
+ }, description);
19511
19435
  };
19512
19436
  var BadgeTileDateEarned = function () {
19437
+ var styles = useBadgeTileStyles();
19513
19438
  var tile = useTileContext();
19514
19439
  var configuration = tile.configuration;
19515
19440
  var type = configuration.type,
@@ -19519,27 +19444,28 @@ var BadgeTileDateEarned = function () {
19519
19444
  badgeNotEarnedMessage = configuration.badgeNotEarnedMessage;
19520
19445
  var theme = useWllSdk().theme;
19521
19446
  var backgroundColor = getStateColor(theme.alphaDerivedPrimary[20], type, count);
19522
- var containerStyle = [styles$b.dateEarnedContainer, {
19447
+ var containerStyle = [styles.dateEarnedContainer, {
19523
19448
  backgroundColor: backgroundColor
19524
19449
  }];
19525
19450
  if (type === exports.BadgeTileType.Latest && count === 0) {
19526
19451
  return null;
19527
19452
  }
19528
19453
  if (count === 0) {
19529
- return /*#__PURE__*/React.createElement(View$2, {
19454
+ return /*#__PURE__*/React$1.createElement(View$2, {
19530
19455
  style: containerStyle
19531
- }, /*#__PURE__*/React.createElement(Text, {
19456
+ }, /*#__PURE__*/React$1.createElement(Text, {
19532
19457
  variant: "label"
19533
19458
  }, badgeNotEarnedMessage));
19534
19459
  }
19535
19460
  var formattedDate = new Date(createdAt).toLocaleDateString();
19536
- return /*#__PURE__*/React.createElement(View$2, {
19461
+ return /*#__PURE__*/React$1.createElement(View$2, {
19537
19462
  style: containerStyle
19538
- }, /*#__PURE__*/React.createElement(Text, {
19463
+ }, /*#__PURE__*/React$1.createElement(Text, {
19539
19464
  variant: "label"
19540
19465
  }, "".concat(awardedDatePrefix, " ").concat(formattedDate)));
19541
19466
  };
19542
19467
  var BadgeTileStatus = function () {
19468
+ var styles = useBadgeTileStyles();
19543
19469
  var tile = useTileContext();
19544
19470
  var configuration = tile.configuration;
19545
19471
  var count = configuration.count,
@@ -19547,13 +19473,13 @@ var BadgeTileStatus = function () {
19547
19473
  if (type !== exports.BadgeTileType.Specific || count === 1) {
19548
19474
  return null;
19549
19475
  }
19550
- return /*#__PURE__*/React.createElement(View$2, {
19551
- style: styles$b.indicatorContainer
19552
- }, count === 0 ? /*#__PURE__*/React.createElement(LucideIcons.LockKeyholeIcon, {
19476
+ return /*#__PURE__*/React$1.createElement(View$2, {
19477
+ style: styles.indicatorContainer
19478
+ }, count === 0 ? /*#__PURE__*/React$1.createElement(LucideIcons.LockKeyholeIcon, {
19553
19479
  color: "#FFF",
19554
19480
  size: 20
19555
- }) : /*#__PURE__*/React.createElement(Text, {
19556
- style: styles$b.countText
19481
+ }) : /*#__PURE__*/React$1.createElement(Text, {
19482
+ style: styles.countText
19557
19483
  }, count, "x"));
19558
19484
  };
19559
19485
  var BadgeTile = BadgeTileInner;
@@ -19562,91 +19488,84 @@ BadgeTile.Title = BadgeTileTitle;
19562
19488
  BadgeTile.Description = BadgeTileDescription;
19563
19489
  BadgeTile.DateEarned = BadgeTileDateEarned;
19564
19490
  BadgeTile.Status = BadgeTileStatus;
19565
- var styles$b = StyleSheet$1.create({
19566
- container: {
19567
- flex: 1
19568
- },
19569
- indicatorContainer: createResponsiveStyle({
19570
- position: 'absolute',
19571
- bottom: [8, 8, 16],
19572
- right: [8, 8, 16],
19573
- backgroundColor: 'rgba(0,0,0,0.6)',
19574
- borderRadius: 40,
19575
- width: 40,
19576
- alignItems: 'center',
19577
- justifyContent: 'center',
19578
- height: 40
19579
- }),
19580
- countText: {
19581
- color: '#FFF',
19582
- fontSize: 14,
19583
- fontWeight: 'bold'
19584
- },
19585
- header: createResponsiveStyle({
19586
- flexBasis: '50%',
19587
- alignItems: 'center',
19588
- justifyContent: 'center',
19589
- position: 'relative',
19590
- marginBottom: [8, 8, 16]
19591
- }),
19592
- image: createResponsiveStyle({
19593
- width: '100%',
19594
- height: '100%'
19595
- }),
19596
- titleText: createResponsiveStyle({
19597
- marginBottom: [4, 4, 8]
19598
- }),
19599
- descriptionContainer: {},
19600
- descriptionText: {},
19601
- dateEarnedContainer: {
19602
- alignItems: 'flex-start',
19603
- paddingHorizontal: 8,
19604
- paddingVertical: 4,
19605
- borderRadius: 20
19606
- }
19607
- });
19491
+
19492
+ var useBannerTileStyles = function () {
19493
+ var _a = useResponsive$1(),
19494
+ isDesktop = _a.isDesktop,
19495
+ isTablet = _a.isTablet;
19496
+ var theme = useWllSdk().theme;
19497
+ return StyleSheet$1.create({
19498
+ slideContent: {
19499
+ flex: 1
19500
+ },
19501
+ mediaContainer: {
19502
+ width: '30%',
19503
+ aspectRatio: 1,
19504
+ position: 'relative',
19505
+ overflow: 'hidden',
19506
+ marginRight: getResponsiveValue(24, 8, isDesktop, isTablet),
19507
+ height: 320
19508
+ },
19509
+ media: {
19510
+ position: 'absolute',
19511
+ width: '100%',
19512
+ height: '100%',
19513
+ objectFit: 'cover'
19514
+ },
19515
+ title: {
19516
+ fontSize: getResponsiveValue(32, 14, isDesktop, isTablet),
19517
+ marginBottom: getResponsiveValue(12, 4, isDesktop, isTablet),
19518
+ fontWeight: '700'
19519
+ },
19520
+ description: {
19521
+ fontSize: getResponsiveValue(18, 10, isDesktop, isTablet),
19522
+ marginBottom: getResponsiveValue(32, 12, isDesktop, isTablet),
19523
+ color: theme.derivedSurfaceText[20]
19524
+ }
19525
+ });
19526
+ };
19608
19527
 
19609
19528
  var BannerTile = function (_a) {
19610
19529
  var tile = _a.tile;
19530
+ var styles = useBannerTileStyles();
19611
19531
  return /*#__PURE__*/React__namespace.createElement(BaseBanner, {
19612
19532
  tile: tile
19613
19533
  }, /*#__PURE__*/React__namespace.createElement(BannerTile.Media, null), /*#__PURE__*/React__namespace.createElement(View$2, {
19614
- style: styles$a.slideContent
19534
+ style: styles.slideContent
19615
19535
  }, /*#__PURE__*/React__namespace.createElement(BannerTile.Title, null), /*#__PURE__*/React__namespace.createElement(BannerTile.Description, null), /*#__PURE__*/React__namespace.createElement(BannerTile.CTA, null)));
19616
19536
  };
19617
19537
  var BannerTileMedia = function () {
19538
+ var styles = useBannerTileStyles();
19618
19539
  var configuration = useBannerContext().configuration;
19619
19540
  var artworkUrl = configuration.artworkUrl;
19620
19541
  if (!artworkUrl) return null;
19621
19542
  return /*#__PURE__*/React__namespace.createElement(View$2, {
19622
- style: styles$a.mediaContainer
19543
+ style: styles.mediaContainer
19623
19544
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
19624
19545
  source: {
19625
19546
  uri: artworkUrl
19626
19547
  },
19627
- style: styles$a.media
19548
+ style: styles.media
19628
19549
  }));
19629
19550
  };
19630
19551
  var BannerTileTitle = function () {
19552
+ var styles = useBannerTileStyles();
19631
19553
  var configuration = useBannerContext().configuration;
19632
19554
  var title = configuration.title;
19633
19555
  if (!title) return null;
19634
- return (
19635
- /*#__PURE__*/
19636
- // @ts-ignore
19637
- React__namespace.createElement(Text, {
19638
- variant: "title",
19639
- style: styles$a.title
19640
- }, title)
19641
- );
19556
+ return /*#__PURE__*/React__namespace.createElement(Text, {
19557
+ variant: "title",
19558
+ style: styles.title
19559
+ }, title);
19642
19560
  };
19643
19561
  var BannerTileDescription = function () {
19562
+ var styles = useBannerTileStyles();
19644
19563
  var configuration = useBannerContext().configuration;
19645
- var theme = useWllSdk().theme;
19646
19564
  var description = configuration.description;
19565
+ var theme = useWllSdk().theme;
19647
19566
  if (!description) return null;
19648
19567
  return /*#__PURE__*/React__namespace.createElement(Text, {
19649
- style: [styles$a.description, {
19568
+ style: [styles.description, {
19650
19569
  color: theme.derivedSurfaceText[20]
19651
19570
  }]
19652
19571
  }, description);
@@ -19665,48 +19584,27 @@ var BannerTileCTA = function () {
19665
19584
  onPress: handlePress
19666
19585
  });
19667
19586
  };
19668
- var styles$a = StyleSheet$1.create({
19669
- slide: createResponsiveStyle({
19670
- width: '100%',
19671
- maxWidth: 1080,
19672
- borderRadius: 10,
19673
- flexDirection: 'row',
19674
- alignItems: 'center',
19675
- justifyContent: 'space-between',
19676
- overflow: 'hidden'
19677
- }),
19678
- slideContent: createResponsiveStyle({
19679
- flex: 1
19680
- }),
19681
- mediaContainer: createResponsiveStyle({
19682
- width: '30%',
19683
- aspectRatio: 1,
19684
- position: 'relative',
19685
- overflow: 'hidden',
19686
- marginRight: [8, 8, 24],
19687
- height: 320
19688
- }),
19689
- media: {
19690
- position: 'absolute',
19691
- width: '100%',
19692
- height: '100%',
19693
- objectFit: 'cover'
19694
- },
19695
- title: createResponsiveStyle({
19696
- fontSize: [14, 14, 32],
19697
- marginBottom: [4, 4, 12],
19698
- fontWeight: '700'
19699
- }),
19700
- description: createResponsiveStyle({
19701
- fontSize: [10, 10, 18],
19702
- marginBottom: [12, 12, 32]
19703
- })
19704
- });
19705
19587
  BannerTile.Media = BannerTileMedia;
19706
19588
  BannerTile.Title = BannerTileTitle;
19707
19589
  BannerTile.Description = BannerTileDescription;
19708
19590
  BannerTile.CTA = BannerTileCTA;
19709
19591
 
19592
+ var useContentTileStyles = function () {
19593
+ var _a = useResponsive$1(),
19594
+ isDesktop = _a.isDesktop,
19595
+ isTablet = _a.isTablet;
19596
+ return StyleSheet$1.create({
19597
+ content: {
19598
+ paddingHorizontal: getResponsiveValue(12, 8, isDesktop, isTablet),
19599
+ flex: 1,
19600
+ justifyContent: 'center'
19601
+ },
19602
+ media: {
19603
+ width: '100%'
19604
+ }
19605
+ });
19606
+ };
19607
+
19710
19608
  var ContentTileInner = function (_a) {
19711
19609
  var tile = _a.tile;
19712
19610
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
@@ -19718,32 +19616,27 @@ var ContentTileRoot = function (_a) {
19718
19616
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Root, null, children);
19719
19617
  };
19720
19618
  var ContentTileMedia = function () {
19619
+ var styles = useContentTileStyles();
19721
19620
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Media, {
19722
- style: styles$9.media
19621
+ style: styles.media
19723
19622
  });
19724
19623
  };
19725
19624
  var ContentTileContent = function (_a) {
19726
19625
  var children = _a.children;
19626
+ var styles = useContentTileStyles();
19727
19627
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Content, null, /*#__PURE__*/React__namespace.createElement(View$2, {
19728
- style: styles$9.content
19628
+ style: styles.content
19729
19629
  }, children));
19730
19630
  };
19731
19631
  var ContentTileHeader = function () {
19632
+ var tile = useTileContext();
19633
+ var title = tile.configuration.title;
19634
+ if (!title) return null;
19732
19635
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Header, null, /*#__PURE__*/React__namespace.createElement(BaseTile.Title, null));
19733
19636
  };
19734
19637
  var ContentTileBody = function () {
19735
19638
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Body, null);
19736
19639
  };
19737
- var styles$9 = StyleSheet$1.create({
19738
- content: createResponsiveStyle({
19739
- paddingHorizontal: [8, 8, 12],
19740
- flex: 1,
19741
- justifyContent: 'center'
19742
- }),
19743
- media: createResponsiveStyle({
19744
- width: '100%'
19745
- })
19746
- });
19747
19640
  var ContentTile = ContentTileInner;
19748
19641
  ContentTile.Root = ContentTileRoot;
19749
19642
  ContentTile.Media = ContentTileMedia;
@@ -19773,71 +19666,159 @@ exports.SectionType = void 0;
19773
19666
  SectionType["Banner"] = "BANNER";
19774
19667
  })(exports.SectionType || (exports.SectionType = {}));
19775
19668
 
19776
- var SectionHeader = function (_a) {
19777
- var title = _a.title,
19778
- description = _a.description;
19669
+ var useSectionHeaderStyles = function () {
19670
+ var _a = useResponsive$1(),
19671
+ isDesktop = _a.isDesktop,
19672
+ isTablet = _a.isTablet;
19779
19673
  var theme = useWllSdk().theme;
19780
- var _b = useResponsive$1(),
19781
- isDesktop = _b.isDesktop,
19782
- isTablet = _b.isTablet;
19783
- if (!title && !description) {
19784
- return null;
19785
- }
19786
- var dynamicStyles = StyleSheet$1.create({
19674
+ return StyleSheet$1.create({
19787
19675
  sectionHeader: {
19788
19676
  marginBottom: getResponsiveValue(16, 8, isDesktop, isTablet)
19789
19677
  },
19790
19678
  sectionTitle: {
19791
19679
  fontSize: getResponsiveValue(32, 18, isDesktop, isTablet),
19792
- marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
19680
+ marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet),
19681
+ fontWeight: '700',
19682
+ color: theme.text
19793
19683
  },
19794
19684
  sectionDescription: {
19795
- fontSize: getResponsiveValue(24, 14, isDesktop, isTablet)
19685
+ fontSize: getResponsiveValue(24, 14, isDesktop, isTablet),
19686
+ color: theme.alphaDerivedText[80]
19796
19687
  }
19797
19688
  });
19798
- return /*#__PURE__*/React.createElement(View$2, {
19799
- style: dynamicStyles.sectionHeader
19800
- }, title && /*#__PURE__*/React.createElement(Text, {
19801
- style: [dynamicStyles.sectionTitle, {
19689
+ };
19690
+
19691
+ var SectionHeader = function (_a) {
19692
+ var title = _a.title,
19693
+ description = _a.description;
19694
+ var styles = useSectionHeaderStyles();
19695
+ var theme = useWllSdk().theme;
19696
+ if (!title) {
19697
+ return null;
19698
+ }
19699
+ return /*#__PURE__*/React$1.createElement(View$2, {
19700
+ style: styles.sectionHeader
19701
+ }, title && /*#__PURE__*/React$1.createElement(Text, {
19702
+ style: [styles.sectionTitle, {
19802
19703
  fontWeight: '700',
19803
19704
  color: theme.text
19804
19705
  }]
19805
- }, title), description && /*#__PURE__*/React.createElement(Text, {
19806
- style: [dynamicStyles.sectionDescription, {
19706
+ }, title), description && /*#__PURE__*/React$1.createElement(Text, {
19707
+ style: [styles.sectionDescription, {
19807
19708
  color: theme.alphaDerivedText[80]
19808
19709
  }]
19809
19710
  }, description));
19810
19711
  };
19811
19712
 
19713
+ var useCarouselStyles = function (buttonSize, slideWidth) {
19714
+ if (buttonSize === void 0) {
19715
+ buttonSize = 42;
19716
+ }
19717
+ var _a = useResponsive$1(),
19718
+ isDesktop = _a.isDesktop,
19719
+ isTablet = _a.isTablet;
19720
+ var theme = useWllSdk().theme;
19721
+ return StyleSheet$1.create({
19722
+ container: {
19723
+ flex: 1,
19724
+ maxWidth: MAX_WIDTH
19725
+ },
19726
+ sectionTitle: {
19727
+ fontSize: 31,
19728
+ marginBottom: 10
19729
+ },
19730
+ sectionDescription: {
19731
+ marginBottom: 21
19732
+ },
19733
+ title: {
19734
+ marginBottom: 10
19735
+ },
19736
+ description: {
19737
+ marginBottom: 20
19738
+ },
19739
+ carouselContainer: {
19740
+ flexDirection: 'row',
19741
+ alignItems: 'center',
19742
+ justifyContent: 'center'
19743
+ },
19744
+ carouselContent: {
19745
+ overflow: 'hidden',
19746
+ width: slideWidth
19747
+ },
19748
+ navButton: {
19749
+ position: 'absolute',
19750
+ top: '50%',
19751
+ transform: [{
19752
+ translateY: -buttonSize / 2
19753
+ }],
19754
+ width: buttonSize,
19755
+ height: buttonSize,
19756
+ borderRadius: buttonSize / 2,
19757
+ backgroundColor: theme.background,
19758
+ justifyContent: 'center',
19759
+ alignItems: 'center',
19760
+ zIndex: 1
19761
+ },
19762
+ navButtonLeft: {
19763
+ left: -buttonSize / 2
19764
+ },
19765
+ navButtonRight: {
19766
+ right: -buttonSize / 2,
19767
+ backgroundColor: theme.surface
19768
+ },
19769
+ slideContainer: {
19770
+ width: slideWidth
19771
+ },
19772
+ indicators: {
19773
+ flexDirection: 'row',
19774
+ justifyContent: 'center',
19775
+ marginTop: getResponsiveValue(24, 12, isDesktop, isTablet)
19776
+ },
19777
+ indicator: {
19778
+ width: 8,
19779
+ height: 8,
19780
+ borderRadius: 8,
19781
+ marginHorizontal: 4,
19782
+ backgroundColor: theme.derivedBackground
19783
+ },
19784
+ activeIndicator: {
19785
+ backgroundColor: theme.primary
19786
+ }
19787
+ });
19788
+ };
19789
+
19812
19790
  var Carousel = function (_a) {
19813
19791
  var section = _a.section;
19792
+ var styles = useCarouselStyles(BUTTON_SIZE, SLIDE_WIDTH);
19793
+ var animatedIndex = React$1.useRef(new Animated$1.Value(0)).current;
19814
19794
  var theme = useWllSdk().theme;
19815
- var scrollViewRef = React.useRef(null);
19816
- var _b = React.useState(0),
19817
- currentIndex = _b[0],
19818
- setCurrentIndex = _b[1];
19819
- var slideWidth = 1080;
19795
+ var _b = useResponsive(),
19796
+ isDesktop = _b.isDesktop,
19797
+ isTablet = _b.isTablet;
19798
+ var scrollViewRef = React$1.useRef(null);
19799
+ var _c = React$1.useState(0),
19800
+ currentIndex = _c[0],
19801
+ setCurrentIndex = _c[1];
19820
19802
  var bannerTiles = section.tiles.filter(function (tile) {
19821
19803
  return tile.type === exports.TileType.Banner;
19822
19804
  });
19823
19805
  var sortedTiles = sortByPriority(bannerTiles);
19824
- var animatedIndex = React.useRef(new Animated$1.Value(0)).current;
19825
- var handleScroll = React.useCallback(function (event) {
19806
+ var handleScroll = React$1.useCallback(function (event) {
19826
19807
  var contentOffsetX = event.nativeEvent.contentOffset.x;
19827
- var newIndex = contentOffsetX / slideWidth;
19808
+ var newIndex = contentOffsetX / SLIDE_WIDTH;
19828
19809
  animatedIndex.setValue(newIndex);
19829
- }, [slideWidth, animatedIndex]);
19830
- var handleScrollEnd = React.useCallback(function (event) {
19810
+ }, [SLIDE_WIDTH, animatedIndex]);
19811
+ var handleScrollEnd = React$1.useCallback(function (event) {
19831
19812
  var contentOffsetX = event.nativeEvent.contentOffset.x;
19832
- var newIndex = Math.round(contentOffsetX / slideWidth);
19813
+ var newIndex = Math.round(contentOffsetX / SLIDE_WIDTH);
19833
19814
  setCurrentIndex(newIndex);
19834
- }, [slideWidth]);
19815
+ }, [SLIDE_WIDTH]);
19835
19816
  var handlePrev = function () {
19836
19817
  var _a;
19837
19818
  var newIndex = Math.max(0, currentIndex - 1);
19838
19819
  setCurrentIndex(newIndex);
19839
19820
  (_a = scrollViewRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
19840
- x: newIndex * slideWidth,
19821
+ x: newIndex * SLIDE_WIDTH,
19841
19822
  animated: true
19842
19823
  });
19843
19824
  };
@@ -19846,28 +19827,35 @@ var Carousel = function (_a) {
19846
19827
  var newIndex = Math.min(sortedTiles.length - 1, currentIndex + 1);
19847
19828
  setCurrentIndex(newIndex);
19848
19829
  (_a = scrollViewRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
19849
- x: newIndex * slideWidth,
19830
+ x: newIndex * SLIDE_WIDTH,
19850
19831
  animated: true
19851
19832
  });
19852
19833
  };
19853
19834
  var displayControls = sortedTiles.length > 1;
19854
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SectionHeader, {
19835
+ var dynamicStyles = StyleSheet$1.create({
19836
+ indicators: {
19837
+ flexDirection: 'row',
19838
+ justifyContent: 'center',
19839
+ marginTop: getResponsiveValue(24, 12, isDesktop, isTablet)
19840
+ }
19841
+ });
19842
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(SectionHeader, {
19855
19843
  title: section.title,
19856
19844
  description: section.description
19857
- }), /*#__PURE__*/React.createElement(View$2, {
19858
- style: styles$8.container
19859
- }, /*#__PURE__*/React.createElement(View$2, {
19860
- style: styles$8.carouselContainer
19861
- }, displayControls && /*#__PURE__*/React.createElement(TouchableOpacity$1, {
19862
- style: [styles$8.navButton, styles$8.navButtonLeft, {
19845
+ }), /*#__PURE__*/React$1.createElement(View$2, {
19846
+ style: styles.container
19847
+ }, /*#__PURE__*/React$1.createElement(View$2, {
19848
+ style: styles.carouselContainer
19849
+ }, displayControls && /*#__PURE__*/React$1.createElement(TouchableOpacity$1, {
19850
+ style: [styles.navButton, styles.navButtonLeft, {
19863
19851
  backgroundColor: theme.background
19864
19852
  }],
19865
19853
  onPress: handlePrev
19866
- }, /*#__PURE__*/React.createElement(Icon, {
19854
+ }, /*#__PURE__*/React$1.createElement(Icon, {
19867
19855
  name: "ArrowLeft",
19868
19856
  size: 20,
19869
19857
  color: theme.primary
19870
- })), /*#__PURE__*/React.createElement(ScrollView$2, {
19858
+ })), /*#__PURE__*/React$1.createElement(ScrollView$2, {
19871
19859
  ref: scrollViewRef,
19872
19860
  horizontal: true,
19873
19861
  pagingEnabled: true,
@@ -19875,44 +19863,44 @@ var Carousel = function (_a) {
19875
19863
  onScroll: handleScroll,
19876
19864
  onMomentumScrollEnd: handleScrollEnd,
19877
19865
  scrollEventThrottle: 16,
19878
- style: [styles$8.carouselContent, {
19879
- width: slideWidth
19866
+ style: [styles.carouselContent, {
19867
+ width: SLIDE_WIDTH
19880
19868
  }],
19881
19869
  contentContainerStyle: {
19882
- width: slideWidth * sortedTiles.length
19870
+ width: SLIDE_WIDTH * sortedTiles.length
19883
19871
  },
19884
19872
  decelerationRate: "fast",
19885
- snapToInterval: slideWidth,
19873
+ snapToInterval: SLIDE_WIDTH,
19886
19874
  snapToAlignment: "start"
19887
19875
  }, sortedTiles.map(function (tile, index) {
19888
- return /*#__PURE__*/React.createElement(View$2, {
19876
+ return /*#__PURE__*/React$1.createElement(View$2, {
19889
19877
  key: index,
19890
19878
  style: [{
19891
- width: slideWidth
19879
+ width: SLIDE_WIDTH
19892
19880
  }]
19893
- }, /*#__PURE__*/React.createElement(BannerTile, {
19881
+ }, /*#__PURE__*/React$1.createElement(BannerTile, {
19894
19882
  tile: tile
19895
19883
  }));
19896
- })), displayControls && /*#__PURE__*/React.createElement(TouchableOpacity$1, {
19897
- style: [styles$8.navButton, styles$8.navButtonRight, {
19884
+ })), displayControls && /*#__PURE__*/React$1.createElement(TouchableOpacity$1, {
19885
+ style: [styles.navButton, styles.navButtonRight, {
19898
19886
  backgroundColor: theme.surface
19899
19887
  }],
19900
19888
  onPress: handleNext
19901
- }, /*#__PURE__*/React.createElement(Icon, {
19889
+ }, /*#__PURE__*/React$1.createElement(Icon, {
19902
19890
  name: "ArrowRight",
19903
19891
  size: 20,
19904
19892
  color: theme.primary
19905
- }))), displayControls && /*#__PURE__*/React.createElement(View$2, {
19906
- style: styles$8.indicators
19893
+ }))), displayControls && /*#__PURE__*/React$1.createElement(View$2, {
19894
+ style: dynamicStyles.indicators
19907
19895
  }, sortedTiles.map(function (_, index) {
19908
19896
  var width = animatedIndex.interpolate({
19909
19897
  inputRange: [index - 1, index, index + 1],
19910
19898
  outputRange: [8, 30, 8],
19911
19899
  extrapolate: 'clamp'
19912
19900
  });
19913
- return /*#__PURE__*/React.createElement(Animated$1.View, {
19901
+ return /*#__PURE__*/React$1.createElement(Animated$1.View, {
19914
19902
  key: index,
19915
- style: [styles$8.indicator, {
19903
+ style: [styles.indicator, {
19916
19904
  backgroundColor: theme.derivedBackground,
19917
19905
  width: width
19918
19906
  }, index === currentIndex && {
@@ -19921,74 +19909,6 @@ var Carousel = function (_a) {
19921
19909
  });
19922
19910
  }))));
19923
19911
  };
19924
- var buttonSize = 42;
19925
- var styles$8 = StyleSheet$1.create({
19926
- container: {
19927
- width: '100%',
19928
- maxWidth: 1080,
19929
- alignSelf: 'center',
19930
- position: 'relative'
19931
- },
19932
- sectionTitle: {
19933
- fontSize: 31,
19934
- marginBottom: 10
19935
- },
19936
- sectionDescription: {
19937
- marginBottom: 21
19938
- },
19939
- title: {
19940
- marginBottom: 10
19941
- },
19942
- description: {
19943
- marginBottom: 20
19944
- },
19945
- carouselContainer: {
19946
- flexDirection: 'row',
19947
- alignItems: 'center',
19948
- justifyContent: 'center'
19949
- },
19950
- carouselContent: {
19951
- overflow: 'hidden'
19952
- },
19953
- navButton: {
19954
- padding: 10,
19955
- alignItems: 'center',
19956
- justifyContent: 'center',
19957
- borderRadius: 9999,
19958
- width: buttonSize,
19959
- height: buttonSize,
19960
- position: 'absolute',
19961
- zIndex: 100,
19962
- shadowColor: '#000',
19963
- shadowOffset: {
19964
- width: 0,
19965
- height: 2
19966
- },
19967
- shadowOpacity: 0.25,
19968
- shadowRadius: 4
19969
- },
19970
- navButtonLeft: {
19971
- left: -buttonSize / 2
19972
- },
19973
- navButtonRight: {
19974
- right: -buttonSize / 2
19975
- },
19976
- indicators: createResponsiveStyle({
19977
- flexDirection: 'row',
19978
- justifyContent: 'center',
19979
- marginTop: [12, 12, 24]
19980
- }),
19981
- indicator: {
19982
- width: 8,
19983
- height: 8,
19984
- borderRadius: 8,
19985
- marginHorizontal: 4
19986
- },
19987
- activeIndicator: {
19988
- width: 24,
19989
- borderRadius: 8
19990
- }
19991
- });
19992
19912
 
19993
19913
  var Grid = function (_a) {
19994
19914
  var section = _a.section;
@@ -20069,10 +19989,10 @@ var Grid = function (_a) {
20069
19989
  title: section.title,
20070
19990
  description: section.description
20071
19991
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
20072
- style: styles$7.grid
19992
+ style: styles$3.grid
20073
19993
  }, renderGrid()));
20074
19994
  };
20075
- var styles$7 = StyleSheet$1.create({
19995
+ var styles$3 = StyleSheet$1.create({
20076
19996
  grid: {
20077
19997
  flexDirection: 'row',
20078
19998
  flexWrap: 'wrap',
@@ -20099,15 +20019,15 @@ var ProgressIndicator = function (_a) {
20099
20019
  progressVariant = 'accent';
20100
20020
  }
20101
20021
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20102
- style: styles$6.container
20022
+ style: styles$2.container
20103
20023
  }, /*#__PURE__*/React__namespace.createElement(ProgressBar, {
20104
20024
  percentage: percentage,
20105
20025
  variant: progressVariant,
20106
20026
  height: height
20107
20027
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
20108
- style: [styles$6.circleContainer]
20028
+ style: [styles$2.circleContainer]
20109
20029
  }, /*#__PURE__*/React__namespace.createElement(View$2, {
20110
- style: [styles$6.circle, {
20030
+ style: [styles$2.circle, {
20111
20031
  borderColor: theme.derivedSurface[20],
20112
20032
  backgroundColor: isComplete ? theme.primary : theme.surface,
20113
20033
  borderWidth: isComplete ? 0 : 4
@@ -20118,7 +20038,7 @@ var ProgressIndicator = function (_a) {
20118
20038
  color: theme.primaryText
20119
20039
  }))));
20120
20040
  };
20121
- var styles$6 = StyleSheet$1.create({
20041
+ var styles$2 = StyleSheet$1.create({
20122
20042
  container: {
20123
20043
  width: '100%',
20124
20044
  flexDirection: 'row',
@@ -20139,17 +20059,32 @@ var styles$6 = StyleSheet$1.create({
20139
20059
  }
20140
20060
  });
20141
20061
 
20142
- var SectionContext = /*#__PURE__*/React.createContext(undefined);
20062
+ var useSectionStyles = function () {
20063
+ var _a = useResponsive$1(),
20064
+ isDesktop = _a.isDesktop,
20065
+ isTablet = _a.isTablet;
20066
+ return StyleSheet$1.create({
20067
+ section: {
20068
+ width: '100%',
20069
+ maxWidth: MAX_WIDTH,
20070
+ marginHorizontal: 'auto',
20071
+ marginBottom: getResponsiveValue(60, 40, isDesktop, isTablet)
20072
+ }
20073
+ });
20074
+ };
20075
+
20076
+ var SectionContext = /*#__PURE__*/React$1.createContext(undefined);
20143
20077
  var Section = function (_a) {
20144
20078
  var section = _a.section;
20079
+ var styles = useSectionStyles();
20145
20080
  var renderSectionContent = function () {
20146
20081
  switch (section.type) {
20147
20082
  case exports.SectionType.Banner:
20148
- return /*#__PURE__*/React.createElement(Carousel, {
20083
+ return /*#__PURE__*/React$1.createElement(Carousel, {
20149
20084
  section: section
20150
20085
  });
20151
20086
  case exports.SectionType.Grid:
20152
- return /*#__PURE__*/React.createElement(Grid, {
20087
+ return /*#__PURE__*/React$1.createElement(Grid, {
20153
20088
  section: section
20154
20089
  });
20155
20090
  default:
@@ -20157,33 +20092,25 @@ var Section = function (_a) {
20157
20092
  return null;
20158
20093
  }
20159
20094
  };
20160
- return /*#__PURE__*/React.createElement(SectionContext.Provider, {
20095
+ return /*#__PURE__*/React$1.createElement(SectionContext.Provider, {
20161
20096
  value: {
20162
20097
  sectionData: section
20163
20098
  }
20164
- }, /*#__PURE__*/React.createElement(View$2, {
20165
- style: styles$5.section
20099
+ }, /*#__PURE__*/React$1.createElement(View$2, {
20100
+ style: styles.section
20166
20101
  }, renderSectionContent()));
20167
20102
  };
20168
- var styles$5 = StyleSheet$1.create({
20169
- section: createResponsiveStyle({
20170
- width: '100%',
20171
- maxWidth: 1080,
20172
- marginHorizontal: 'auto',
20173
- marginBottom: [40, 40, 60]
20174
- })
20175
- });
20176
20103
 
20177
20104
  var Group = function (_a) {
20178
20105
  var id = _a.id;
20179
20106
  var getGroupByID = useWllSdk().getGroupByID;
20180
- var _b = React.useState(null),
20107
+ var _b = React$1.useState(null),
20181
20108
  groupData = _b[0],
20182
20109
  setGroupData = _b[1];
20183
- var _c = React.useState(true),
20110
+ var _c = React$1.useState(true),
20184
20111
  loading = _c[0],
20185
20112
  setLoading = _c[1];
20186
- React.useEffect(function () {
20113
+ React$1.useEffect(function () {
20187
20114
  var fetchGroup = function () {
20188
20115
  return __awaiter(void 0, void 0, void 0, function () {
20189
20116
  var response;
@@ -20204,29 +20131,29 @@ var Group = function (_a) {
20204
20131
  fetchGroup();
20205
20132
  }, [id, getGroupByID]);
20206
20133
  if (loading) {
20207
- return /*#__PURE__*/React.createElement(View$2, {
20208
- style: styles$4.emptyConatiner
20209
- }, /*#__PURE__*/React.createElement(Skeleton, null));
20134
+ return /*#__PURE__*/React$1.createElement(View$2, {
20135
+ style: styles$1.emptyConatiner
20136
+ }, /*#__PURE__*/React$1.createElement(Skeleton, null));
20210
20137
  }
20211
20138
  if (!groupData) {
20212
- return /*#__PURE__*/React.createElement(View$2, {
20213
- style: styles$4.emptyConatiner
20214
- }, /*#__PURE__*/React.createElement(Text$3, null, "No group data available"));
20139
+ return /*#__PURE__*/React$1.createElement(View$2, {
20140
+ style: styles$1.emptyConatiner
20141
+ }, /*#__PURE__*/React$1.createElement(Text$3, null, "No group data available"));
20215
20142
  }
20216
20143
  if (!groupData.sections || groupData.sections.length === 0) {
20217
- return /*#__PURE__*/React.createElement(View$2, {
20218
- style: styles$4.emptyConatiner
20219
- }, /*#__PURE__*/React.createElement(Text$3, null, "No sections available"));
20144
+ return /*#__PURE__*/React$1.createElement(View$2, {
20145
+ style: styles$1.emptyConatiner
20146
+ }, /*#__PURE__*/React$1.createElement(Text$3, null, "No sections available"));
20220
20147
  }
20221
20148
  var sortedSections = sortByPriority(groupData.sections);
20222
- return /*#__PURE__*/React.createElement(View$2, null, sortedSections.map(function (section) {
20223
- return /*#__PURE__*/React.createElement(Section, {
20149
+ return /*#__PURE__*/React$1.createElement(View$2, null, sortedSections.map(function (section) {
20150
+ return /*#__PURE__*/React$1.createElement(Section, {
20224
20151
  key: section.id,
20225
20152
  section: section
20226
20153
  });
20227
20154
  }));
20228
20155
  };
20229
- var styles$4 = StyleSheet$1.create({
20156
+ var styles$1 = StyleSheet$1.create({
20230
20157
  emptyConatiner: {
20231
20158
  flex: 1,
20232
20159
  justifyContent: 'center',
@@ -20234,22 +20161,54 @@ var styles$4 = StyleSheet$1.create({
20234
20161
  }
20235
20162
  });
20236
20163
 
20237
- var PointsTile = function (_a) {
20238
- var tile = _a.tile;
20239
- var isFullSize = useTileSize(tile).isFullSize;
20240
- var styles = StyleSheet$1.create({
20241
- container: createResponsiveStyle({
20242
- paddingHorizontal: [8, 8, 12],
20164
+ var usePointsTileStyles = function (isFullSize) {
20165
+ var _a = useResponsive$1(),
20166
+ isDesktop = _a.isDesktop,
20167
+ isTablet = _a.isTablet;
20168
+ var theme = useWllSdk().theme;
20169
+ return StyleSheet$1.create({
20170
+ container: {
20171
+ paddingHorizontal: getResponsiveValue(12, 8, isDesktop, isTablet),
20243
20172
  width: '100%',
20244
20173
  flexDirection: isFullSize ? 'row' : 'row-reverse',
20245
20174
  alignItems: isFullSize ? 'flex-start' : 'center',
20246
20175
  justifyContent: 'space-between'
20247
- }),
20176
+ },
20248
20177
  contentContainer: {
20249
20178
  flexDirection: 'column',
20250
20179
  width: isFullSize ? '100%' : 'auto'
20180
+ },
20181
+ suffix: {
20182
+ fontSize: getResponsiveValue(18, 14, isDesktop, isTablet),
20183
+ color: theme.primary
20184
+ },
20185
+ pointsWithSuffix: {
20186
+ flexDirection: 'row',
20187
+ alignItems: 'center',
20188
+ justifyContent: 'center'
20189
+ },
20190
+ imageContainer: {
20191
+ width: isFullSize ? '100%' : 57,
20192
+ height: isFullSize ? '50%' : 57,
20193
+ marginBottom: isFullSize ? getResponsiveValue(12, 8, isDesktop, isTablet) : 0,
20194
+ backgroundColor: isFullSize ? theme.alphaDerivedPrimary[20] : theme.surface,
20195
+ justifyContent: 'center',
20196
+ alignItems: 'center',
20197
+ overflow: 'hidden'
20198
+ },
20199
+ image: {
20200
+ width: '100%',
20201
+ height: '100%',
20202
+ position: 'absolute',
20203
+ resizeMode: 'contain'
20251
20204
  }
20252
20205
  });
20206
+ };
20207
+
20208
+ var PointsTile = function (_a) {
20209
+ var tile = _a.tile;
20210
+ var isFullSize = useTileSize(tile).isFullSize;
20211
+ var styles = usePointsTileStyles(isFullSize);
20253
20212
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20254
20213
  tile: tile
20255
20214
  }, isFullSize && /*#__PURE__*/React__namespace.createElement(PointsTile.Image, {
@@ -20270,7 +20229,7 @@ var PointsTileTitle = function () {
20270
20229
  }, title);
20271
20230
  };
20272
20231
  var PointsTilePoints = function () {
20273
- var theme = useWllSdk().theme;
20232
+ var styles = usePointsTileStyles();
20274
20233
  var configuration = useTileContext().configuration;
20275
20234
  var _a = configuration,
20276
20235
  multiplier = _a.multiplier,
@@ -20278,17 +20237,6 @@ var PointsTilePoints = function () {
20278
20237
  suffix = _a.suffix,
20279
20238
  points = _a.points;
20280
20239
  var calculatedPoints = points !== undefined ? points * (multiplier !== null && multiplier !== void 0 ? multiplier : 1) : null;
20281
- var styles = StyleSheet$1.create({
20282
- suffix: createResponsiveStyle({
20283
- fontSize: [14, 14, 18],
20284
- color: theme.primary
20285
- }),
20286
- pointsWithSuffix: {
20287
- flexDirection: 'row',
20288
- alignItems: 'center',
20289
- justifyContent: 'center'
20290
- }
20291
- });
20292
20240
  if (calculatedPoints === null) return null;
20293
20241
  return /*#__PURE__*/React__namespace.createElement(Text, {
20294
20242
  variant: "caption"
@@ -20300,26 +20248,9 @@ var PointsTilePoints = function () {
20300
20248
  };
20301
20249
  var PointsTileImage = function (_a) {
20302
20250
  var isFullSize = _a.isFullSize;
20303
- var theme = useWllSdk().theme;
20304
20251
  var configuration = useTileContext().configuration;
20305
20252
  var artworkUrl = configuration.artworkUrl;
20306
- var styles = StyleSheet$1.create({
20307
- imageContainer: createResponsiveStyle({
20308
- width: isFullSize ? '100%' : 57,
20309
- height: isFullSize ? '50%' : 57,
20310
- marginBottom: isFullSize ? [8, 8, 12] : 0,
20311
- backgroundColor: isFullSize ? theme.alphaDerivedPrimary[20] : theme.surface,
20312
- justifyContent: 'center',
20313
- alignItems: 'center',
20314
- overflow: 'hidden'
20315
- }),
20316
- image: {
20317
- width: '100%',
20318
- height: '100%',
20319
- position: 'absolute',
20320
- resizeMode: 'contain'
20321
- }
20322
- });
20253
+ var styles = usePointsTileStyles(isFullSize);
20323
20254
  if (!artworkUrl) return null;
20324
20255
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20325
20256
  style: styles.imageContainer
@@ -20335,6 +20266,37 @@ PointsTile.Title = PointsTileTitle;
20335
20266
  PointsTile.Points = PointsTilePoints;
20336
20267
  PointsTile.Image = PointsTileImage;
20337
20268
 
20269
+ var useRewardCategoryTileStyles = function () {
20270
+ var _a = useResponsive$1(),
20271
+ isDesktop = _a.isDesktop,
20272
+ isTablet = _a.isTablet;
20273
+ var theme = useWllSdk().theme;
20274
+ return StyleSheet$1.create({
20275
+ header: {
20276
+ position: 'absolute',
20277
+ top: 0,
20278
+ left: 0,
20279
+ right: 0,
20280
+ zIndex: 10,
20281
+ height: 35,
20282
+ alignItems: 'center',
20283
+ justifyContent: 'center',
20284
+ backgroundColor: theme.primary
20285
+ },
20286
+ headerText: {
20287
+ fontSize: getResponsiveValue(16, 12, isDesktop, isTablet),
20288
+ paddingHorizontal: getResponsiveValue(40, 20, isDesktop, isTablet),
20289
+ color: theme.primaryText
20290
+ },
20291
+ background: {
20292
+ position: 'absolute',
20293
+ width: '100%',
20294
+ height: '100%',
20295
+ objectFit: 'cover'
20296
+ }
20297
+ });
20298
+ };
20299
+
20338
20300
  var RewardCategoryTile = function (_a) {
20339
20301
  var tile = _a.tile;
20340
20302
  if (!tile) return null;
@@ -20343,27 +20305,19 @@ var RewardCategoryTile = function (_a) {
20343
20305
  }, /*#__PURE__*/React__namespace.createElement(RewardCategoryTile.Header, null), /*#__PURE__*/React__namespace.createElement(RewardCategoryTile.Background, null));
20344
20306
  };
20345
20307
  var RewardCategoryHeader = function () {
20308
+ var styles = useRewardCategoryTileStyles();
20346
20309
  var theme = useWllSdk().theme;
20347
20310
  var configuration = useTileContext().configuration;
20348
20311
  var _a = configuration,
20349
20312
  showName = _a.showName,
20350
20313
  name = _a.name;
20351
- var _b = useResponsive$1(),
20352
- isDesktop = _b.isDesktop,
20353
- isTablet = _b.isTablet;
20354
20314
  if (!showName || !name) return null;
20355
- var dynamicStyles = StyleSheet$1.create({
20356
- headerText: {
20357
- fontSize: getResponsiveValue(16, 12, isDesktop, isTablet),
20358
- paddingHorizontal: getResponsiveValue(40, 20, isDesktop, isTablet)
20359
- }
20360
- });
20361
20315
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20362
- style: [styles$3.header, {
20316
+ style: [styles.header, {
20363
20317
  backgroundColor: theme.primary
20364
20318
  }]
20365
20319
  }, /*#__PURE__*/React__namespace.createElement(Text, {
20366
- style: [dynamicStyles.headerText, {
20320
+ style: [styles.headerText, {
20367
20321
  color: theme.primaryText
20368
20322
  }],
20369
20323
  ellipsizeMode: "tail",
@@ -20371,6 +20325,7 @@ var RewardCategoryHeader = function () {
20371
20325
  }, name));
20372
20326
  };
20373
20327
  var RewardCategoryBackground = function () {
20328
+ var styles = useRewardCategoryTileStyles();
20374
20329
  var configuration = useTileContext().configuration;
20375
20330
  var artworkUrl = configuration.artworkUrl;
20376
20331
  if (!artworkUrl) return null;
@@ -20378,30 +20333,50 @@ var RewardCategoryBackground = function () {
20378
20333
  source: {
20379
20334
  uri: artworkUrl
20380
20335
  },
20381
- style: styles$3.background
20336
+ style: styles.background
20382
20337
  });
20383
20338
  };
20384
- var styles$3 = StyleSheet$1.create({
20385
- header: {
20386
- position: 'absolute',
20387
- top: 0,
20388
- left: 0,
20389
- right: 0,
20390
- zIndex: 10,
20391
- height: 35,
20392
- alignItems: 'center',
20393
- justifyContent: 'center'
20394
- },
20395
- background: {
20396
- position: 'absolute',
20397
- width: '100%',
20398
- height: '100%',
20399
- objectFit: 'cover'
20400
- }
20401
- });
20402
20339
  RewardCategoryTile.Header = RewardCategoryHeader;
20403
20340
  RewardCategoryTile.Background = RewardCategoryBackground;
20404
20341
 
20342
+ var useRewardTileStyles = function () {
20343
+ var _a = useResponsive$1(),
20344
+ isDesktop = _a.isDesktop,
20345
+ isTablet = _a.isTablet;
20346
+ return StyleSheet$1.create({
20347
+ imageContainer: {
20348
+ width: '100%',
20349
+ flexBasis: '50%',
20350
+ marginBottom: getResponsiveValue(12, 8, isDesktop, isTablet)
20351
+ },
20352
+ image: {
20353
+ position: 'absolute',
20354
+ top: 0,
20355
+ left: 0,
20356
+ bottom: 0,
20357
+ right: 0,
20358
+ width: '100%',
20359
+ height: '100%',
20360
+ resizeMode: 'cover'
20361
+ },
20362
+ content: {
20363
+ paddingHorizontal: getResponsiveValue(12, 8, isDesktop, isTablet),
20364
+ flex: 1
20365
+ },
20366
+ footer: {
20367
+ marginTop: 8
20368
+ },
20369
+ pointsContainer: {
20370
+ flexDirection: 'row',
20371
+ alignItems: 'center',
20372
+ justifyContent: 'center'
20373
+ },
20374
+ suffix: {
20375
+ fontSize: getResponsiveValue(18, 14, isDesktop, isTablet)
20376
+ }
20377
+ });
20378
+ };
20379
+
20405
20380
  var RewardTile = function (_a) {
20406
20381
  var tile = _a.tile;
20407
20382
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
@@ -20409,16 +20384,17 @@ var RewardTile = function (_a) {
20409
20384
  }, /*#__PURE__*/React__namespace.createElement(RewardTile.Media, null), /*#__PURE__*/React__namespace.createElement(RewardTile.Content, null, /*#__PURE__*/React__namespace.createElement(RowHeader, null, /*#__PURE__*/React__namespace.createElement(RewardTile.Title, null), /*#__PURE__*/React__namespace.createElement(RewardTile.Chevron, null)), /*#__PURE__*/React__namespace.createElement(RewardTile.Description, null), /*#__PURE__*/React__namespace.createElement(RewardTile.Points, null)));
20410
20385
  };
20411
20386
  var RewardTileMedia = function () {
20387
+ var styles = useRewardTileStyles();
20412
20388
  var configuration = useTileContext().configuration;
20413
20389
  var reward = configuration;
20414
20390
  if (!(reward === null || reward === void 0 ? void 0 : reward.pictureUrl)) return null;
20415
20391
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20416
- style: styles$2.imageContainer
20392
+ style: styles.imageContainer
20417
20393
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20418
20394
  source: {
20419
20395
  uri: reward.pictureUrl
20420
20396
  },
20421
- style: styles$2.image
20397
+ style: styles.image
20422
20398
  }));
20423
20399
  };
20424
20400
  var RewardTileTitle = function () {
@@ -20440,6 +20416,7 @@ var RewardTileDescription = function () {
20440
20416
  }, reward.summary);
20441
20417
  };
20442
20418
  var RewardTilePoints = function () {
20419
+ var styles = useRewardTileStyles();
20443
20420
  var configuration = useTileContext().configuration;
20444
20421
  var theme = useWllSdk().theme;
20445
20422
  var reward = configuration;
@@ -20449,19 +20426,20 @@ var RewardTilePoints = function () {
20449
20426
  }
20450
20427
  return /*#__PURE__*/React__namespace.createElement(Text, {
20451
20428
  variant: "caption",
20452
- style: styles$2.footer
20429
+ style: styles.footer
20453
20430
  }, reward.pointsPrefix, /*#__PURE__*/React__namespace.createElement(View$2, {
20454
- style: styles$2.pointsContainer
20431
+ style: styles.pointsContainer
20455
20432
  }, calculatedPoints, /*#__PURE__*/React__namespace.createElement(Text, {
20456
- style: [styles$2.suffix, {
20433
+ style: [styles.suffix, {
20457
20434
  color: theme.primary
20458
20435
  }]
20459
20436
  }, reward.pointsSuffix)));
20460
20437
  };
20461
20438
  var RewardTileContent = function (_a) {
20462
20439
  var children = _a.children;
20440
+ var styles = useRewardTileStyles();
20463
20441
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20464
- style: styles$2.content
20442
+ style: styles.content
20465
20443
  }, children);
20466
20444
  };
20467
20445
  var RewardTileChevron = function () {
@@ -20471,38 +20449,6 @@ var RewardTileChevron = function () {
20471
20449
  color: theme.derivedSurfaceText[20]
20472
20450
  });
20473
20451
  };
20474
- var styles$2 = StyleSheet$1.create({
20475
- imageContainer: createResponsiveStyle({
20476
- width: '100%',
20477
- flexBasis: '50%',
20478
- marginBottom: [8, 8, 12]
20479
- }),
20480
- image: {
20481
- position: 'absolute',
20482
- top: 0,
20483
- left: 0,
20484
- bottom: 0,
20485
- right: 0,
20486
- width: '100%',
20487
- height: '100%',
20488
- resizeMode: 'cover'
20489
- },
20490
- content: createResponsiveStyle({
20491
- paddingHorizontal: [8, 8, 12],
20492
- flex: 1
20493
- }),
20494
- footer: {
20495
- marginTop: 8
20496
- },
20497
- pointsContainer: {
20498
- flexDirection: 'row',
20499
- alignItems: 'center',
20500
- justifyContent: 'center'
20501
- },
20502
- suffix: createResponsiveStyle({
20503
- fontSize: [14, 14, 18]
20504
- })
20505
- });
20506
20452
  RewardTile.Media = RewardTileMedia;
20507
20453
  RewardTile.Title = RewardTileTitle;
20508
20454
  RewardTile.Description = RewardTileDescription;
@@ -20510,182 +20456,49 @@ RewardTile.Points = RewardTilePoints;
20510
20456
  RewardTile.Chevron = RewardTileChevron;
20511
20457
  RewardTile.Content = RewardTileContent;
20512
20458
 
20513
- // @ts-nocheck
20514
- // TypeScript will now ignore all errors in this file Tile Deprecated
20515
- var TierTile$1 = function (_a) {
20516
- var tile = _a.tile;
20517
- var isFullSize = useTileSize(tile).isFullSize;
20518
- var configuration = tile.configuration;
20519
- var styles = StyleSheet$1.create({
20520
- container: createResponsiveStyle({
20521
- paddingHorizontal: [8, 8, 12],
20459
+ var useTierTileStyles = function () {
20460
+ var _a = useResponsive$1(),
20461
+ isDesktop = _a.isDesktop,
20462
+ isTablet = _a.isTablet;
20463
+ return StyleSheet$1.create({
20464
+ header: {
20465
+ flexBasis: '50%',
20522
20466
  width: '100%',
20523
- flexDirection: isFullSize ? 'column' : 'row-reverse',
20524
- alignItems: isFullSize ? 'flex-start' : 'center',
20525
- justifyContent: 'space-between',
20526
- marginTop: isFullSize ? 20 : null
20527
- }),
20528
- contentContainer: {
20529
- flexDirection: 'column',
20530
- width: isFullSize ? '100%' : 'auto'
20467
+ overflow: 'hidden',
20468
+ marginBottom: getResponsiveValue(12, 8, isDesktop, isTablet)
20531
20469
  },
20532
- row: {
20533
- flexDirection: 'row',
20534
- alignItems: 'center',
20535
- justifyContent: 'space-between',
20536
- width: '100%'
20537
- }
20538
- });
20539
- var renderTileContent = function () {
20540
- switch (configuration.type) {
20541
- case exports.TierTileType.currentTier:
20542
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(TierTile$1.Image, {
20543
- isFullSize: isFullSize
20544
- }), /*#__PURE__*/React__namespace.createElement(View$2, {
20545
- style: styles.container
20546
- }, /*#__PURE__*/React__namespace.createElement(Text, {
20547
- variant: "caption"
20548
- }, "Current Tier"), /*#__PURE__*/React__namespace.createElement(View$2, {
20549
- style: styles.row
20550
- }, /*#__PURE__*/React__namespace.createElement(TierTile$1.Name, null), /*#__PURE__*/React__namespace.createElement(TierTile$1.Count, null))));
20551
- case exports.TierTileType.specificTier:
20552
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(TierTile$1.Progress, null), /*#__PURE__*/React__namespace.createElement(View$2, {
20553
- style: styles.container
20554
- }, /*#__PURE__*/React__namespace.createElement(View$2, {
20555
- style: styles.row
20556
- }, /*#__PURE__*/React__namespace.createElement(View$2, null, /*#__PURE__*/React__namespace.createElement(Text, {
20557
- variant: "body"
20558
- }, "Current Tier"), /*#__PURE__*/React__namespace.createElement(TierTile$1.Name, null)), /*#__PURE__*/React__namespace.createElement(View$2, null, /*#__PURE__*/React__namespace.createElement(TierTile$1.NextName, null)))));
20559
- case exports.TierTileType.currentTargetNext:
20560
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(TierTile$1.Image, {
20561
- isFullSize: isFullSize
20562
- }), /*#__PURE__*/React__namespace.createElement(View$2, {
20563
- style: {
20564
- padding: 12
20565
- }
20566
- }, /*#__PURE__*/React__namespace.createElement(TierTile$1.Progress, null), /*#__PURE__*/React__namespace.createElement(View$2, {
20567
- style: styles.container
20568
- }, /*#__PURE__*/React__namespace.createElement(TierTile$1.Count, null), /*#__PURE__*/React__namespace.createElement(TierTile$1.Description, null))));
20569
- default:
20570
- return null;
20571
- }
20572
- };
20573
- return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20574
- tile: tile
20575
- }, renderTileContent());
20576
- };
20577
- var TierTileImage = function (_a) {
20578
- var isFullSize = _a.isFullSize;
20579
- var theme = useWllSdk().theme;
20580
- var configuration = useTileContext().configuration;
20581
- var tier = configuration.tier;
20582
- var styles = StyleSheet$1.create({
20583
- imageContainer: createResponsiveStyle({
20584
- width: isFullSize ? '100%' : 57,
20585
- height: isFullSize ? '100%' : 57,
20586
- marginBottom: isFullSize ? [8, 8, 12] : 0,
20587
- backgroundColor: isFullSize ? theme.alphaDerivedPrimary[20] : theme.surface,
20588
- justifyContent: 'center',
20589
- alignItems: 'center',
20590
- flexBasis: isFullSize ? '50%' : null
20591
- }),
20592
- image: {
20593
- width: '80%',
20594
- height: '80%',
20595
- resizeMode: 'contain'
20596
- }
20597
- });
20598
- if (!tier) return null;
20599
- return /*#__PURE__*/React__namespace.createElement(View$2, {
20600
- style: styles.imageContainer
20601
- }, tier.artworkUrl && /*#__PURE__*/React__namespace.createElement(Image$2, {
20602
- source: {
20603
- uri: tier.artworkUrl
20470
+ title: {
20471
+ marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
20604
20472
  },
20605
- style: styles.image
20606
- }));
20607
- };
20608
- var Name = function () {
20609
- var configuration = useTileContext().configuration;
20610
- var tier = configuration.tier;
20611
- return /*#__PURE__*/React__namespace.createElement(Text, {
20612
- variant: "title"
20613
- }, tier === null || tier === void 0 ? void 0 : tier.name);
20614
- };
20615
- var NextName = function () {
20616
- var configuration = useTileContext().configuration;
20617
- var targetTier = configuration.targetTier;
20618
- return /*#__PURE__*/React__namespace.createElement(Text, {
20619
- variant: "title"
20620
- }, targetTier === null || targetTier === void 0 ? void 0 : targetTier.name);
20621
- };
20622
- var Count = function () {
20623
- var configuration = useTileContext().configuration;
20624
- var tier = configuration.tier;
20625
- return /*#__PURE__*/React__namespace.createElement(View$2, {
20626
- style: {
20627
- flexDirection: 'row',
20628
- alignItems: 'center',
20629
- justifyContent: 'flex-start'
20630
- }
20631
- }, /*#__PURE__*/React__namespace.createElement(Text, {
20632
- variant: "tier-earned"
20633
- }, "".concat(tier === null || tier === void 0 ? void 0 : tier.earnedPoints, "/")), /*#__PURE__*/React__namespace.createElement(Text, {
20634
- variant: "tier-requirement"
20635
- }, tier === null || tier === void 0 ? void 0 : tier.pointsRequirement));
20636
- };
20637
- var NextCount = function () {
20638
- var configuration = useTileContext().configuration;
20639
- var targetTier = configuration.targetTier;
20640
- return /*#__PURE__*/React__namespace.createElement(View$2, {
20641
- style: {
20642
- flexDirection: 'row',
20643
- alignItems: 'center',
20644
- justifyContent: 'flex-start'
20473
+ smallImageContainer: {
20474
+ width: 48,
20475
+ height: 48,
20476
+ position: 'relative'
20477
+ },
20478
+ smallImage: {
20479
+ width: '100%',
20480
+ height: '100%',
20481
+ resizeMode: 'cover',
20482
+ position: 'absolute',
20483
+ top: 0,
20484
+ left: 0,
20485
+ right: 0,
20486
+ bottom: 0
20487
+ },
20488
+ image: {
20489
+ width: '100%',
20490
+ height: '100%',
20491
+ resizeMode: 'cover'
20645
20492
  }
20646
- }, /*#__PURE__*/React__namespace.createElement(Text, {
20647
- variant: "tier-earned"
20648
- }, "".concat(targetTier === null || targetTier === void 0 ? void 0 : targetTier.earnedPoints, "/")), /*#__PURE__*/React__namespace.createElement(Text, {
20649
- variant: "tier-requirement"
20650
- }, targetTier === null || targetTier === void 0 ? void 0 : targetTier.pointsRequirement));
20651
- };
20652
- var Progress = function () {
20653
- var configuration = useTileContext().configuration;
20654
- var tier = configuration.tier;
20655
- if (!tier || tier.earnedPoints === undefined || tier.pointsRequirement === undefined) {
20656
- return null;
20657
- }
20658
- return /*#__PURE__*/React__namespace.createElement(ProgressIndicator, {
20659
- currentPoints: tier.earnedPoints,
20660
- maxPoints: tier.pointsRequirement,
20661
- attained: tier.attained
20662
20493
  });
20663
20494
  };
20664
- var Description = function () {
20665
- var configuration = useTileContext().configuration;
20666
- var tier = configuration.tier;
20667
- return /*#__PURE__*/React__namespace.createElement(Text, {
20668
- variant: "body"
20669
- }, tier === null || tier === void 0 ? void 0 : tier.description);
20670
- };
20671
- TierTile$1.Name = Name;
20672
- TierTile$1.Count = Count;
20673
- TierTile$1.Image = TierTileImage;
20674
- TierTile$1.Progress = Progress;
20675
- TierTile$1.Description = Description;
20676
- TierTile$1.NextName = NextName;
20677
- TierTile$1.NextCount = NextCount;
20678
-
20679
- // @ts-nocheck
20680
- // TypeScript will now ignore all errors in this file Tile Deprecated
20681
- // Main component decides which variant to render
20495
+
20682
20496
  var TierTileInner = function (_a) {
20683
20497
  var tile = _a.tile;
20684
20498
  if (!tile) return null;
20685
20499
  var configuration = tile.configuration;
20686
20500
  var tier = configuration.tier;
20687
20501
  var isHalfSize = useTileSize(tile).isHalfSize;
20688
- // Determine which variant to show
20689
20502
  if (!tier || Array.isArray(tier)) {
20690
20503
  return /*#__PURE__*/React__namespace.createElement(TierTile.Empty, {
20691
20504
  tile: tile
@@ -20697,9 +20510,9 @@ var TierTileInner = function (_a) {
20697
20510
  tile: tile
20698
20511
  });
20699
20512
  };
20700
- // Full-size tile with artwork
20701
20513
  var TierTileFull = function (_a) {
20702
20514
  var tile = _a.tile;
20515
+ var styles = useTierTileStyles();
20703
20516
  var configuration = tile.configuration;
20704
20517
  var tier = configuration.tier,
20705
20518
  title = configuration.title;
@@ -20710,38 +20523,40 @@ var TierTileFull = function (_a) {
20710
20523
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20711
20524
  tile: tile
20712
20525
  }, artworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20713
- style: styles$1.header
20526
+ style: styles.header
20714
20527
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20715
20528
  source: {
20716
20529
  uri: artworkUrl
20717
20530
  },
20718
- style: styles$1.image,
20531
+ style: styles.image,
20719
20532
  resizeMode: "center"
20720
- })), /*#__PURE__*/React__namespace.createElement(Column, {
20533
+ })), /*#__PURE__*/React__namespace.createElement(Column$1, {
20721
20534
  align: "stretch",
20722
20535
  justify: artworkUrl ? 'start' : 'center',
20723
20536
  direction: "column"
20724
20537
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20725
20538
  variant: "eyebrow",
20726
- style: styles$1.title
20539
+ style: styles.title
20727
20540
  }, title), name && /*#__PURE__*/React__namespace.createElement(Text, {
20728
20541
  variant: "title",
20729
- style: styles$1.title
20542
+ style: styles.title
20730
20543
  }, name), description && /*#__PURE__*/React__namespace.createElement(Text, {
20731
20544
  variant: "body"
20732
20545
  }, description))));
20733
20546
  };
20734
- // Half-size tile with small artwork
20735
20547
  var TierTileHalf = function (_a) {
20736
20548
  var tile = _a.tile;
20549
+ var styles = useTierTileStyles();
20737
20550
  var configuration = tile.configuration;
20738
- var tier = configuration.tier,
20739
- title = configuration.title;
20740
- var artworkUrl = tier.artworkUrl,
20741
- name = tier.name;
20551
+ var _b = configuration,
20552
+ tier = _b.tier,
20553
+ title = _b.title;
20554
+ var _c = tier || {},
20555
+ artworkUrl = _c.artworkUrl,
20556
+ name = _c.name;
20742
20557
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20743
20558
  tile: tile
20744
- }, /*#__PURE__*/React__namespace.createElement(Column, {
20559
+ }, /*#__PURE__*/React__namespace.createElement(Column$1, {
20745
20560
  align: "center",
20746
20561
  justify: "between",
20747
20562
  direction: "row",
@@ -20750,23 +20565,24 @@ var TierTileHalf = function (_a) {
20750
20565
  }
20751
20566
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20752
20567
  variant: "eyebrow",
20753
- style: styles$1.title
20568
+ style: styles.title
20754
20569
  }, title), name && /*#__PURE__*/React__namespace.createElement(Text, {
20755
20570
  variant: "title",
20756
- style: styles$1.title
20571
+ style: styles.title
20757
20572
  }, name)), artworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20758
- style: styles$1.smallImageContainer
20573
+ style: styles.smallImageContainer
20759
20574
  }, /*#__PURE__*/React__namespace.createElement(Image$2, {
20760
20575
  source: {
20761
20576
  uri: artworkUrl
20762
20577
  },
20763
- style: styles$1.smallImage,
20578
+ style: styles.smallImage,
20764
20579
  resizeMode: "contain"
20765
20580
  }))));
20766
20581
  };
20767
20582
  // Empty state tile
20768
20583
  var TierTileEmpty = function (_a) {
20769
20584
  var tile = _a.tile;
20585
+ var styles = useTierTileStyles();
20770
20586
  var configuration = tile.configuration;
20771
20587
  var title = configuration.title,
20772
20588
  emptyDescription = configuration.emptyDescription,
@@ -20775,7 +20591,7 @@ var TierTileEmpty = function (_a) {
20775
20591
  if (isHalfSize) {
20776
20592
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20777
20593
  tile: tile
20778
- }, /*#__PURE__*/React__namespace.createElement(Column, {
20594
+ }, /*#__PURE__*/React__namespace.createElement(Column$1, {
20779
20595
  align: "center",
20780
20596
  justify: "between",
20781
20597
  direction: "row",
@@ -20788,76 +20604,44 @@ var TierTileEmpty = function (_a) {
20788
20604
  }
20789
20605
  }, title && /*#__PURE__*/React__namespace.createElement(Text, {
20790
20606
  variant: "title",
20791
- style: styles$1.title
20607
+ style: styles.title
20792
20608
  }, title), emptyDescription && /*#__PURE__*/React__namespace.createElement(Text, {
20793
20609
  variant: "body"
20794
20610
  }, emptyDescription)), emptyArtworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20795
- style: styles$1.smallImageContainer
20611
+ style: styles.smallImageContainer
20796
20612
  }, /*#__PURE__*/React__namespace.createElement(Image$2, {
20797
20613
  source: {
20798
20614
  uri: emptyArtworkUrl
20799
20615
  },
20800
- style: styles$1.smallImage,
20616
+ style: styles.smallImage,
20801
20617
  resizeMode: "contain"
20802
20618
  }))));
20803
20619
  }
20804
20620
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20805
20621
  tile: tile
20806
20622
  }, emptyArtworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20807
- style: styles$1.header
20623
+ style: styles.header
20808
20624
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20809
20625
  source: {
20810
20626
  uri: emptyArtworkUrl
20811
20627
  },
20812
- style: styles$1.image,
20628
+ style: styles.image,
20813
20629
  resizeMode: "center"
20814
- })), /*#__PURE__*/React__namespace.createElement(Column, {
20630
+ })), /*#__PURE__*/React__namespace.createElement(Column$1, {
20815
20631
  align: "stretch",
20816
20632
  justify: "center",
20817
20633
  direction: "column"
20818
20634
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20819
20635
  variant: "title",
20820
- style: styles$1.title
20636
+ style: styles.title
20821
20637
  }, title), emptyDescription && /*#__PURE__*/React__namespace.createElement(Text, {
20822
20638
  variant: "body"
20823
20639
  }, emptyDescription))));
20824
20640
  };
20825
20641
  var TierTile = TierTileInner;
20826
- // Assign variant components
20827
20642
  TierTile.Full = TierTileFull;
20828
20643
  TierTile.Half = TierTileHalf;
20829
20644
  TierTile.Empty = TierTileEmpty;
20830
- var styles$1 = StyleSheet$1.create({
20831
- header: createResponsiveStyle({
20832
- flexBasis: '50%',
20833
- width: '100%',
20834
- overflow: 'hidden',
20835
- marginBottom: [8, 8, 12]
20836
- }),
20837
- title: createResponsiveStyle({
20838
- marginBottom: [4, 4, 8]
20839
- }),
20840
- smallImageContainer: {
20841
- width: 48,
20842
- height: 48,
20843
- position: 'relative'
20844
- },
20845
- smallImage: {
20846
- width: '100%',
20847
- height: '100%',
20848
- resizeMode: 'cover',
20849
- position: 'absolute',
20850
- top: 0,
20851
- left: 0,
20852
- right: 0,
20853
- bottom: 0
20854
- },
20855
- image: {
20856
- width: '100%',
20857
- height: '100%',
20858
- resizeMode: 'cover'
20859
- }
20860
- });
20861
20645
 
20862
20646
  var TileContainer = function (_a) {
20863
20647
  var tiles = _a.tiles;
@@ -20911,20 +20695,91 @@ var TileContainer = function (_a) {
20911
20695
  };
20912
20696
  var styles = StyleSheet$1.create({
20913
20697
  container: {
20914
- flexDirection: 'column',
20915
- marginBottom: GRID_GAP
20698
+ flexDirection: 'column'
20916
20699
  },
20917
20700
  tileContainer: {
20918
20701
  flex: 1
20919
20702
  }
20920
20703
  });
20921
20704
 
20705
+ var Column = function (_a) {
20706
+ var children = _a.children,
20707
+ _b = _a.justify,
20708
+ justify = _b === void 0 ? 'start' : _b,
20709
+ _c = _a.align,
20710
+ align = _c === void 0 ? 'stretch' : _c,
20711
+ style = _a.style;
20712
+ var _d = useResponsive$1(),
20713
+ isDesktop = _d.isDesktop,
20714
+ isTablet = _d.isTablet;
20715
+ return /*#__PURE__*/React.createElement(View$2, {
20716
+ style: [{
20717
+ flex: 1,
20718
+ flexDirection: 'column',
20719
+ justifyContent: justifyMap[justify],
20720
+ alignItems: alignMap[align],
20721
+ paddingHorizontal: getResponsiveValue(12, 8, isDesktop, isTablet),
20722
+ paddingBottom: getResponsiveValue(12, 8, isDesktop, isTablet)
20723
+ }, style]
20724
+ }, children);
20725
+ };
20726
+
20727
+ var Row = function (_a) {
20728
+ var children = _a.children,
20729
+ _b = _a.justify,
20730
+ justify = _b === void 0 ? 'start' : _b,
20731
+ _c = _a.align,
20732
+ align = _c === void 0 ? 'center' : _c,
20733
+ _d = _a.direction,
20734
+ direction = _d === void 0 ? 'row' : _d,
20735
+ style = _a.style;
20736
+ return /*#__PURE__*/React.createElement(View$2, {
20737
+ style: [{
20738
+ flexDirection: direction,
20739
+ justifyContent: justifyMap[justify],
20740
+ alignItems: alignMap[align]
20741
+ }, style]
20742
+ }, children);
20743
+ };
20744
+
20745
+ var Stack = function (_a) {
20746
+ var children = _a.children,
20747
+ _b = _a.justify,
20748
+ justify = _b === void 0 ? 'start' : _b,
20749
+ _c = _a.align,
20750
+ align = _c === void 0 ? 'stretch' : _c,
20751
+ _d = _a.direction,
20752
+ direction = _d === void 0 ? 'column' : _d,
20753
+ style = _a.style;
20754
+ return /*#__PURE__*/React.createElement(View$2, {
20755
+ style: [{
20756
+ flexDirection: direction,
20757
+ justifyContent: justifyMap[justify],
20758
+ alignItems: alignMap[align]
20759
+ }, style]
20760
+ }, children);
20761
+ };
20762
+
20763
+ var justifyMap = {
20764
+ start: 'flex-start',
20765
+ end: 'flex-end',
20766
+ center: 'center',
20767
+ between: 'space-between',
20768
+ around: 'space-around',
20769
+ evenly: 'space-evenly'
20770
+ };
20771
+ var alignMap = {
20772
+ start: 'flex-start',
20773
+ end: 'flex-end',
20774
+ center: 'center',
20775
+ stretch: 'stretch'
20776
+ };
20777
+
20922
20778
  var Reward = /** @class */function () {
20923
20779
  function Reward() {}
20924
20780
  return Reward;
20925
20781
  }();
20926
20782
 
20927
- exports.BadgeTile = BadgeTile$1;
20928
20783
  exports.BadgeTileConfig = BadgeTileConfig;
20929
20784
  exports.BadgeTileUpdated = BadgeTile;
20930
20785
  exports.BannerTile = BannerTile;
@@ -20933,7 +20788,8 @@ exports.BaseBanner = BaseBanner;
20933
20788
  exports.BaseTile = BaseTile;
20934
20789
  exports.Button = Button;
20935
20790
  exports.Carousel = Carousel;
20936
- exports.Content = Column;
20791
+ exports.Column = Column;
20792
+ exports.Content = Column$1;
20937
20793
  exports.ContentTile = ContentTile;
20938
20794
  exports.ContentTileConfig = ContentTileConfig;
20939
20795
  exports.Grid = Grid;
@@ -20951,12 +20807,13 @@ exports.RewardCategoryTile = RewardCategoryTile;
20951
20807
  exports.RewardCategoryTileConfig = RewardCategoryTileConfig;
20952
20808
  exports.RewardTile = RewardTile;
20953
20809
  exports.RewardTileConfig = RewardTileConfig;
20810
+ exports.Row = Row;
20954
20811
  exports.RowHeader = RowHeader;
20955
20812
  exports.Section = Section;
20956
20813
  exports.SectionHeader = SectionHeader;
20957
20814
  exports.Skeleton = Skeleton;
20815
+ exports.Stack = Stack;
20958
20816
  exports.Text = Text;
20959
- exports.TierTile = TierTile$1;
20960
20817
  exports.TierTileConfig = TierTileConfig;
20961
20818
  exports.TierTileUpdated = TierTile;
20962
20819
  exports.TileContainer = TileContainer;