@wlloyalty/wll-react-sdk 1.0.27 → 1.0.29

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$k.textHasAncestor$raw : styles$k.text$raw, numberOfLines === 1 && styles$k.textOneLine, numberOfLines != null && numberOfLines > 1 && styles$k.textMultiLine, props.style, selectable === true && styles$k.selectable, selectable === false && styles$k.notSelectable, onPress && styles$k.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$k = 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$j.view$raw, hasTextAncestor && styles$j.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$j = 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$i.root, !disabled && styles$i.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$i = 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');
@@ -7443,9 +7443,17 @@ var sizes = {
7443
7443
  borderRadiusLg: 20,
7444
7444
  borderRadiusButton: 9,
7445
7445
  borderRadiusRounded: 9999,
7446
- sm: 6,
7447
- md: 10,
7448
- lg: 16
7446
+ xxxs: 4,
7447
+ xxs: 8,
7448
+ xs: 10,
7449
+ sm: 12,
7450
+ md: 14,
7451
+ lg: 16,
7452
+ xl: 18,
7453
+ xxl: 24,
7454
+ xxxl: 32,
7455
+ xxxxl: 40,
7456
+ xxxxxl: 60
7449
7457
  };
7450
7458
  var defaultTheme = {
7451
7459
  background: '#F0F0F0',
@@ -7765,10 +7773,10 @@ function getDimensionMode(window) {
7765
7773
  }
7766
7774
  function useResponsive$1() {
7767
7775
  var deviceWindow = Dimensions.get('window');
7768
- var _a = React.useState(getDimensionMode(deviceWindow)),
7776
+ var _a = React$1.useState(getDimensionMode(deviceWindow)),
7769
7777
  dimensionMode = _a[0],
7770
7778
  setDimensionMode = _a[1];
7771
- React.useEffect(function () {
7779
+ React$1.useEffect(function () {
7772
7780
  if (!isWeb) return;
7773
7781
  var subscription = Dimensions.addEventListener('change', function (_a) {
7774
7782
  var window = _a.window;
@@ -7791,10 +7799,10 @@ function useResponsive$1() {
7791
7799
  };
7792
7800
  }
7793
7801
 
7794
- var ResponsiveContext = /*#__PURE__*/React.createContext(undefined);
7802
+ var ResponsiveContext = /*#__PURE__*/React$1.createContext(undefined);
7795
7803
  function ResponsiveProvider(_a) {
7796
7804
  var children = _a.children;
7797
- var _b = React.useState(function () {
7805
+ var _b = React$1.useState(function () {
7798
7806
  var window = Dimensions.get('window');
7799
7807
  var dimensionMode = getDimensionMode(window);
7800
7808
  return {
@@ -7806,7 +7814,7 @@ function ResponsiveProvider(_a) {
7806
7814
  }),
7807
7815
  state = _b[0],
7808
7816
  setState = _b[1];
7809
- React.useEffect(function () {
7817
+ React$1.useEffect(function () {
7810
7818
  var subscription = Dimensions.addEventListener('change', function (_a) {
7811
7819
  var window = _a.window;
7812
7820
  if (window) {
@@ -7825,12 +7833,12 @@ function ResponsiveProvider(_a) {
7825
7833
  }
7826
7834
  };
7827
7835
  }, []);
7828
- return /*#__PURE__*/React.createElement(ResponsiveContext.Provider, {
7836
+ return /*#__PURE__*/React$1.createElement(ResponsiveContext.Provider, {
7829
7837
  value: state
7830
7838
  }, children);
7831
7839
  }
7832
7840
  function useResponsive() {
7833
- var context = React.useContext(ResponsiveContext);
7841
+ var context = React$1.useContext(ResponsiveContext);
7834
7842
  if (context === undefined) {
7835
7843
  throw new Error('useResponsive must be used within a ResponsiveProvider');
7836
7844
  }
@@ -7863,22 +7871,22 @@ var createTheme = function (baseTheme) {
7863
7871
  alphaDerivedText: getAlphaDerivedColors(text)
7864
7872
  });
7865
7873
  };
7866
- var WllSdkContext = /*#__PURE__*/React.createContext(undefined);
7874
+ var WllSdkContext = /*#__PURE__*/React$1.createContext(undefined);
7867
7875
  var WllSdkProvider = function (_a) {
7868
7876
  var children = _a.children,
7869
7877
  providedTheme = _a.theme,
7870
7878
  config = _a.config,
7871
7879
  _b = _a.navigationConfig,
7872
7880
  navigationConfig = _b === void 0 ? {} : _b;
7873
- var _c = React.useState(function () {
7881
+ var _c = React$1.useState(function () {
7874
7882
  return createTheme(providedTheme || {});
7875
7883
  }),
7876
7884
  theme = _c[0],
7877
7885
  setThemeState = _c[1];
7878
- React.useEffect(function () {
7886
+ React$1.useEffect(function () {
7879
7887
  setThemeState(createTheme(providedTheme || {}));
7880
7888
  }, [providedTheme]);
7881
- var setTheme = React.useCallback(function (newTheme) {
7889
+ var setTheme = React$1.useCallback(function (newTheme) {
7882
7890
  setThemeState(function (prevTheme) {
7883
7891
  return createTheme(__assign(__assign({}, prevTheme), newTheme));
7884
7892
  });
@@ -7887,7 +7895,7 @@ var WllSdkProvider = function (_a) {
7887
7895
  var getSectionByID = useGetSectionByID(config);
7888
7896
  var getTileByID = useGetTileByID(config);
7889
7897
  var handleNavigation = useNavigation(navigationConfig);
7890
- var contextValue = React.useMemo(function () {
7898
+ var contextValue = React$1.useMemo(function () {
7891
7899
  return {
7892
7900
  theme: theme,
7893
7901
  setTheme: setTheme,
@@ -7897,48 +7905,63 @@ var WllSdkProvider = function (_a) {
7897
7905
  handleNavigation: handleNavigation
7898
7906
  };
7899
7907
  }, [theme, setTheme, getGroupByID, getSectionByID, getTileByID, handleNavigation]);
7900
- return /*#__PURE__*/React.createElement(WllSdkContext.Provider, {
7908
+ return /*#__PURE__*/React$1.createElement(WllSdkContext.Provider, {
7901
7909
  value: contextValue
7902
- }, /*#__PURE__*/React.createElement(ResponsiveProvider, null, children));
7910
+ }, /*#__PURE__*/React$1.createElement(ResponsiveProvider, null, children));
7903
7911
  };
7904
7912
  var useWllSdk = function () {
7905
- var context = React.useContext(WllSdkContext);
7913
+ var context = React$1.useContext(WllSdkContext);
7906
7914
  if (context === undefined) {
7907
7915
  throw new Error('useWllSdk must be used within a WllSdkProvider');
7908
7916
  }
7909
7917
  return context;
7910
7918
  };
7911
7919
 
7912
- var BREAKPOINTS = {
7913
- MOBILE: 0,
7914
- TABLET: 767,
7915
- DESKTOP: 768
7920
+ var clamp$1 = function (value, min, max) {
7921
+ return Math.min(Math.max(value, min), max);
7916
7922
  };
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;
7923
+ var lerp = function (start, end, t) {
7924
+ return start + (end - start) * t;
7925
+ };
7926
+ var getWindowWidth = function () {
7927
+ if (Platform$1.OS === 'web') {
7928
+ return window.innerWidth;
7929
+ }
7930
+ return Dimensions.get('window').width;
7936
7931
  };
7937
7932
  var getResponsiveValue = function (desktopValue, mobileValue, isDesktop, isTablet) {
7938
- if (isDesktop) return desktopValue;
7939
- if (isTablet) return Math.round((desktopValue + mobileValue) / 2); // Tablet gets the middle value
7933
+ var width = getWindowWidth();
7934
+ var tabletValue = (desktopValue + mobileValue) / 2;
7935
+ // Desktop to Tablet scaling
7936
+ if (width >= TABLET_SCREEN_WIDTH) {
7937
+ var t = clamp$1((width - TABLET_SCREEN_WIDTH) / 300, 0, 1); // 300px scaling range
7938
+ return Math.round(lerp(tabletValue, desktopValue, t));
7939
+ }
7940
+ // Tablet to Mobile scaling
7941
+ if (width > SMALL_SCREEN_WIDTH) {
7942
+ var t = clamp$1((width - SMALL_SCREEN_WIDTH) / (TABLET_SCREEN_WIDTH - SMALL_SCREEN_WIDTH), 0, 1);
7943
+ return Math.round(lerp(mobileValue, tabletValue, t));
7944
+ }
7940
7945
  return mobileValue;
7941
7946
  };
7947
+ var useResponsiveValue = function (desktopValue, mobileValue, isDesktop, isTablet) {
7948
+ var _a = React$1.useState(function () {
7949
+ return getResponsiveValue(desktopValue, mobileValue);
7950
+ }),
7951
+ value = _a[0],
7952
+ setValue = _a[1];
7953
+ React$1.useEffect(function () {
7954
+ if (Platform$1.OS !== 'web') return;
7955
+ var handleResize = function () {
7956
+ setValue(getResponsiveValue(desktopValue, mobileValue));
7957
+ };
7958
+ window.addEventListener('resize', handleResize);
7959
+ return function () {
7960
+ return window.removeEventListener('resize', handleResize);
7961
+ };
7962
+ }, [desktopValue, mobileValue, isDesktop, isTablet]);
7963
+ return value;
7964
+ };
7942
7965
 
7943
7966
  function createVariantSystem(baseStyle, variantStyles) {
7944
7967
  return function (theme, variant) {
@@ -7993,14 +8016,14 @@ var Button = function (_a) {
7993
8016
  button: {
7994
8017
  justifyContent: 'center',
7995
8018
  alignItems: 'center',
7996
- paddingHorizontal: getResponsiveValue(24, 12, isDesktop, isTablet),
7997
- paddingVertical: 12,
8019
+ paddingHorizontal: useResponsiveValue(theme.sizes.xxl, theme.sizes.sm, isDesktop, isTablet),
8020
+ paddingVertical: theme.sizes.sm,
7998
8021
  alignSelf: 'flex-start'
7999
8022
  },
8000
8023
  text: {
8001
8024
  textAlign: 'center',
8002
8025
  textTransform: 'uppercase',
8003
- fontSize: getResponsiveValue(18, 12, isDesktop, isTablet),
8026
+ fontSize: useResponsiveValue(theme.sizes.xl, theme.sizes.sm, isDesktop, isTablet),
8004
8027
  fontWeight: '700'
8005
8028
  }
8006
8029
  });
@@ -8014,7 +8037,7 @@ var Button = function (_a) {
8014
8037
  }, title));
8015
8038
  };
8016
8039
 
8017
- var justifyMap = {
8040
+ var justifyMap$1 = {
8018
8041
  start: 'flex-start',
8019
8042
  end: 'flex-end',
8020
8043
  center: 'center',
@@ -8022,13 +8045,13 @@ var justifyMap = {
8022
8045
  around: 'space-around',
8023
8046
  evenly: 'space-evenly'
8024
8047
  };
8025
- var alignMap = {
8048
+ var alignMap$1 = {
8026
8049
  start: 'flex-start',
8027
8050
  end: 'flex-end',
8028
8051
  center: 'center',
8029
8052
  stretch: 'stretch'
8030
8053
  };
8031
- var Column = function (_a) {
8054
+ var Column$1 = function (_a) {
8032
8055
  var children = _a.children,
8033
8056
  _b = _a.justify,
8034
8057
  justify = _b === void 0 ? 'start' : _b,
@@ -8038,22 +8061,24 @@ var Column = function (_a) {
8038
8061
  direction = _d === void 0 ? 'column' : _d,
8039
8062
  _e = _a.style,
8040
8063
  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],
8064
+ var theme = useWllSdk().theme;
8065
+ var _f = useResponsive$1(),
8066
+ isDesktop = _f.isDesktop,
8067
+ isTablet = _f.isTablet;
8068
+ var dynamicStyles = StyleSheet$1.create({
8069
+ column: {
8070
+ flex: 1,
8071
+ paddingHorizontal: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
8072
+ paddingBottom: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
8073
+ justifyContent: justifyMap$1[justify],
8074
+ alignItems: alignMap$1[align],
8045
8075
  flexDirection: direction
8046
- }, style]
8076
+ }
8077
+ });
8078
+ return /*#__PURE__*/React__namespace.createElement(View$2, {
8079
+ style: [dynamicStyles.column, style]
8047
8080
  }, children);
8048
8081
  };
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
8082
 
8058
8083
  var Icon = function (_a) {
8059
8084
  var name = _a.name,
@@ -8113,17 +8138,17 @@ var ActivityIndicator = /*#__PURE__*/React__namespace.forwardRef((props, forward
8113
8138
  "aria-valuemin": 0,
8114
8139
  ref: forwardedRef,
8115
8140
  role: "progressbar",
8116
- style: [styles$s.container, style]
8141
+ style: [styles$h.container, style]
8117
8142
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
8118
8143
  children: svg,
8119
8144
  style: [typeof size === 'number' ? {
8120
8145
  height: size,
8121
8146
  width: size
8122
- } : indicatorSizes[size], styles$s.animation, !animating && styles$s.animationPause, !animating && hidesWhenStopped && styles$s.hidesWhenStopped]
8147
+ } : indicatorSizes[size], styles$h.animation, !animating && styles$h.animationPause, !animating && hidesWhenStopped && styles$h.hidesWhenStopped]
8123
8148
  }));
8124
8149
  });
8125
8150
  ActivityIndicator.displayName = 'ActivityIndicator';
8126
- var styles$s = StyleSheet$1.create({
8151
+ var styles$h = StyleSheet$1.create({
8127
8152
  container: {
8128
8153
  alignItems: 'center',
8129
8154
  justifyContent: 'center'
@@ -8163,7 +8188,7 @@ var ActivityIndicator$1 = ActivityIndicator;
8163
8188
  var LoadingIndicator = function () {
8164
8189
  var theme = useWllSdk().theme;
8165
8190
  return /*#__PURE__*/React__namespace.createElement(View$2, {
8166
- style: [styles$r.container, {
8191
+ style: [styles$g.container, {
8167
8192
  borderRadius: theme.sizes.borderRadiusSm,
8168
8193
  padding: theme.sizes.md
8169
8194
  }]
@@ -8172,7 +8197,7 @@ var LoadingIndicator = function () {
8172
8197
  color: theme.primary
8173
8198
  }));
8174
8199
  };
8175
- var styles$r = StyleSheet$1.create({
8200
+ var styles$g = StyleSheet$1.create({
8176
8201
  container: {
8177
8202
  width: '100%',
8178
8203
  height: '100%',
@@ -8298,7 +8323,7 @@ function RefreshControl(props) {
8298
8323
  props.title;
8299
8324
  props.titleColor;
8300
8325
  var rest = _objectWithoutPropertiesLoose(props, _excluded$8);
8301
- return /*#__PURE__*/React.createElement(View$2, rest);
8326
+ return /*#__PURE__*/React$1.createElement(View$2, rest);
8302
8327
  }
8303
8328
 
8304
8329
  /**
@@ -8486,14 +8511,14 @@ var ScrollViewBase = /*#__PURE__*/React__namespace.forwardRef((props, forwardedR
8486
8511
  onTouchMove: createPreventableScrollHandler(onTouchMove),
8487
8512
  onWheel: createPreventableScrollHandler(onWheel),
8488
8513
  ref: useMergeRefs$1(scrollRef, forwardedRef),
8489
- style: [style, !scrollEnabled && styles$q.scrollDisabled, hideScrollbar && styles$q.hideScrollbar]
8514
+ style: [style, !scrollEnabled && styles$f.scrollDisabled, hideScrollbar && styles$f.hideScrollbar]
8490
8515
  }));
8491
8516
  });
8492
8517
 
8493
8518
  // Chrome doesn't support e.preventDefault in this case; touch-action must be
8494
8519
  // used to disable scrolling.
8495
8520
  // https://developers.google.com/web/updates/2017/01/scrolling-intervention
8496
- var styles$q = StyleSheet$1.create({
8521
+ var styles$f = StyleSheet$1.create({
8497
8522
  scrollDisabled: {
8498
8523
  overflowX: 'hidden',
8499
8524
  overflowY: 'hidden',
@@ -8601,7 +8626,7 @@ var warning$1 = /*@__PURE__*/getDefaultExportFromCjs(warning_1);
8601
8626
  var _excluded$6 = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"];
8602
8627
  var emptyObject$1 = {};
8603
8628
  var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
8604
- let ScrollView$1 = class ScrollView extends React.Component {
8629
+ let ScrollView$1 = class ScrollView extends React$1.Component {
8605
8630
  constructor() {
8606
8631
  super(...arguments);
8607
8632
  this._scrollNodeRef = null;
@@ -9128,24 +9153,24 @@ let ScrollView$1 = class ScrollView extends React.Component {
9128
9153
  };
9129
9154
  }
9130
9155
  var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);
9131
- var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {
9156
+ var children = hasStickyHeaderIndices || pagingEnabled ? React$1.Children.map(this.props.children, (child, i) => {
9132
9157
  var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;
9133
9158
  if (child != null && (isSticky || pagingEnabled)) {
9134
- return /*#__PURE__*/React.createElement(View$2, {
9135
- style: [isSticky && styles$p.stickyHeader, pagingEnabled && styles$p.pagingEnabledChild]
9159
+ return /*#__PURE__*/React$1.createElement(View$2, {
9160
+ style: [isSticky && styles$e.stickyHeader, pagingEnabled && styles$e.pagingEnabledChild]
9136
9161
  }, child);
9137
9162
  } else {
9138
9163
  return child;
9139
9164
  }
9140
9165
  }) : this.props.children;
9141
- var contentContainer = /*#__PURE__*/React.createElement(View$2, _extends$1({}, contentSizeChangeProps, {
9166
+ var contentContainer = /*#__PURE__*/React$1.createElement(View$2, _extends$1({}, contentSizeChangeProps, {
9142
9167
  children: children,
9143
9168
  collapsable: false,
9144
9169
  ref: this._setInnerViewRef,
9145
- style: [horizontal && styles$p.contentContainerHorizontal, centerContent && styles$p.contentContainerCenterContent, contentContainerStyle]
9170
+ style: [horizontal && styles$e.contentContainerHorizontal, centerContent && styles$e.contentContainerCenterContent, contentContainerStyle]
9146
9171
  }));
9147
- var baseStyle = horizontal ? styles$p.baseHorizontal : styles$p.baseVertical;
9148
- var pagingEnabledStyle = horizontal ? styles$p.pagingEnabledHorizontal : styles$p.pagingEnabledVertical;
9172
+ var baseStyle = horizontal ? styles$e.baseHorizontal : styles$e.baseVertical;
9173
+ var pagingEnabledStyle = horizontal ? styles$e.pagingEnabledHorizontal : styles$e.pagingEnabledVertical;
9149
9174
  var props = _objectSpread2(_objectSpread2({}, other), {}, {
9150
9175
  style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],
9151
9176
  onTouchStart: this.scrollResponderHandleTouchStart,
@@ -9167,11 +9192,11 @@ let ScrollView$1 = class ScrollView extends React.Component {
9167
9192
  });
9168
9193
  var ScrollViewClass = ScrollViewBase$1;
9169
9194
  invariant$1(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');
9170
- var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends$1({}, props, {
9195
+ var scrollView = /*#__PURE__*/React$1.createElement(ScrollViewClass, _extends$1({}, props, {
9171
9196
  ref: this._setScrollNodeRef
9172
9197
  }), contentContainer);
9173
9198
  if (refreshControl) {
9174
- return /*#__PURE__*/React.cloneElement(refreshControl, {
9199
+ return /*#__PURE__*/React$1.cloneElement(refreshControl, {
9175
9200
  style: props.style
9176
9201
  }, scrollView);
9177
9202
  }
@@ -9188,7 +9213,7 @@ var commonStyle = {
9188
9213
  // iOS native scrolling
9189
9214
  WebkitOverflowScrolling: 'touch'
9190
9215
  };
9191
- var styles$p = StyleSheet$1.create({
9216
+ var styles$e = StyleSheet$1.create({
9192
9217
  baseVertical: _objectSpread2(_objectSpread2({}, commonStyle), {}, {
9193
9218
  flexDirection: 'column',
9194
9219
  overflowX: 'hidden',
@@ -9221,8 +9246,8 @@ var styles$p = StyleSheet$1.create({
9221
9246
  scrollSnapAlign: 'start'
9222
9247
  }
9223
9248
  });
9224
- var ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
9225
- return /*#__PURE__*/React.createElement(ScrollView$1, _extends$1({}, props, {
9249
+ var ForwardedScrollView = /*#__PURE__*/React$1.forwardRef((props, forwardedRef) => {
9250
+ return /*#__PURE__*/React$1.createElement(ScrollView$1, _extends$1({}, props, {
9226
9251
  forwardedRef: forwardedRef
9227
9252
  }));
9228
9253
  });
@@ -10268,7 +10293,7 @@ function VirtualizedListContextProvider(_ref2) {
10268
10293
  var children = _ref2.children,
10269
10294
  value = _ref2.value;
10270
10295
  // Avoid setting a newly created context object if the values are identical.
10271
- var context = React.useMemo(() => ({
10296
+ var context = React$1.useMemo(() => ({
10272
10297
  cellKey: null,
10273
10298
  getScrollMetrics: value.getScrollMetrics,
10274
10299
  horizontal: value.horizontal,
@@ -10288,8 +10313,8 @@ function VirtualizedListCellContextProvider(_ref3) {
10288
10313
  var cellKey = _ref3.cellKey,
10289
10314
  children = _ref3.children;
10290
10315
  // 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), {}, {
10316
+ var currContext = React$1.useContext(VirtualizedListContext);
10317
+ var context = React$1.useMemo(() => currContext == null ? null : _objectSpread2(_objectSpread2({}, currContext), {}, {
10293
10318
  cellKey
10294
10319
  }), [currContext, cellKey]);
10295
10320
  return /*#__PURE__*/React__namespace.createElement(VirtualizedListContext.Provider, {
@@ -10401,7 +10426,7 @@ class CellRenderer extends React__namespace.Component {
10401
10426
  ItemSeparatorComponent :
10402
10427
  // $FlowFixMe[incompatible-type]
10403
10428
  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;
10429
+ var cellStyle = inversionStyle ? horizontal ? [styles$d.rowReverse, inversionStyle] : [styles$d.columnReverse, inversionStyle] : horizontal ? [styles$d.row, inversionStyle] : inversionStyle;
10405
10430
  var result = !CellRendererComponent ? /*#__PURE__*/React__namespace.createElement(View$2, _extends$1({
10406
10431
  style: cellStyle,
10407
10432
  onFocusCapture: onCellFocusCapture
@@ -10421,7 +10446,7 @@ class CellRenderer extends React__namespace.Component {
10421
10446
  }, result);
10422
10447
  }
10423
10448
  }
10424
- var styles$o = StyleSheet$1.create({
10449
+ var styles$d = StyleSheet$1.create({
10425
10450
  row: {
10426
10451
  flexDirection: 'row'
10427
10452
  },
@@ -11601,7 +11626,7 @@ class VirtualizedList extends StateSafePureComponent {
11601
11626
  var _this$props6 = this.props,
11602
11627
  data = _this$props6.data,
11603
11628
  horizontal = _this$props6.horizontal;
11604
- var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$n.horizontallyInverted : styles$n.verticallyInverted : null;
11629
+ var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$c.horizontallyInverted : styles$c.verticallyInverted : null;
11605
11630
  var cells = [];
11606
11631
  var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
11607
11632
  var stickyHeaderIndices = [];
@@ -11765,7 +11790,7 @@ class VirtualizedList extends StateSafePureComponent {
11765
11790
  }*/
11766
11791
  if (this.props.debug) {
11767
11792
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11768
- style: styles$n.debug
11793
+ style: styles$c.debug
11769
11794
  }, ret, this._renderDebugOverlay());
11770
11795
  } else {
11771
11796
  return ret;
@@ -11882,20 +11907,20 @@ class VirtualizedList extends StateSafePureComponent {
11882
11907
  var visTop = this._scrollMetrics.offset;
11883
11908
  var visLen = this._scrollMetrics.visibleLength;
11884
11909
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11885
- style: [styles$n.debugOverlayBase, styles$n.debugOverlay]
11910
+ style: [styles$c.debugOverlayBase, styles$c.debugOverlay]
11886
11911
  }, framesInLayout.map((f, ii) => /*#__PURE__*/React__namespace.createElement(View$2, {
11887
11912
  key: 'f' + ii,
11888
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrame, {
11913
+ style: [styles$c.debugOverlayBase, styles$c.debugOverlayFrame, {
11889
11914
  top: f.offset * normalize,
11890
11915
  height: f.length * normalize
11891
11916
  }]
11892
11917
  })), /*#__PURE__*/React__namespace.createElement(View$2, {
11893
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrameLast, {
11918
+ style: [styles$c.debugOverlayBase, styles$c.debugOverlayFrameLast, {
11894
11919
  top: windowTop * normalize,
11895
11920
  height: windowLen * normalize
11896
11921
  }]
11897
11922
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
11898
- style: [styles$n.debugOverlayBase, styles$n.debugOverlayFrameVis, {
11923
+ style: [styles$c.debugOverlayBase, styles$c.debugOverlayFrameVis, {
11899
11924
  top: visTop * normalize,
11900
11925
  height: visLen * normalize
11901
11926
  }]
@@ -12036,7 +12061,7 @@ class VirtualizedList extends StateSafePureComponent {
12036
12061
  }
12037
12062
  }
12038
12063
  VirtualizedList.contextType = VirtualizedListContext;
12039
- var styles$n = StyleSheet$1.create({
12064
+ var styles$c = StyleSheet$1.create({
12040
12065
  verticallyInverted: {
12041
12066
  transform: 'scaleY(-1)'
12042
12067
  },
@@ -12413,7 +12438,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12413
12438
  _index = info.index;
12414
12439
  invariant$1(Array.isArray(_item2), 'Expected array of items with numColumns > 1');
12415
12440
  return /*#__PURE__*/React__namespace.createElement(View$2, {
12416
- style: [styles$m.row, columnWrapperStyle]
12441
+ style: [styles$b.row, columnWrapperStyle]
12417
12442
  }, _item2.map((it, kk) => {
12418
12443
  var element = render({
12419
12444
  // $FlowFixMe[incompatible-call]
@@ -12539,7 +12564,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12539
12564
  );
12540
12565
  }
12541
12566
  };
12542
- var styles$m = StyleSheet$1.create({
12567
+ var styles$b = StyleSheet$1.create({
12543
12568
  row: {
12544
12569
  flexDirection: 'row'
12545
12570
  }
@@ -14334,8 +14359,8 @@ var AnimatedProps$1 = AnimatedProps;
14334
14359
  * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).
14335
14360
  */
14336
14361
  function useRefEffect(effect) {
14337
- var cleanupRef = React.useRef(undefined);
14338
- return React.useCallback(instance => {
14362
+ var cleanupRef = React$1.useRef(undefined);
14363
+ return React$1.useCallback(instance => {
14339
14364
  if (cleanupRef.current) {
14340
14365
  cleanupRef.current();
14341
14366
  cleanupRef.current = undefined;
@@ -14357,15 +14382,15 @@ function useRefEffect(effect) {
14357
14382
  */
14358
14383
 
14359
14384
  function useAnimatedProps(props) {
14360
- var _useReducer = React.useReducer(count => count + 1, 0),
14385
+ var _useReducer = React$1.useReducer(count => count + 1, 0),
14361
14386
  scheduleUpdate = _useReducer[1];
14362
- var onUpdateRef = React.useRef(null);
14387
+ var onUpdateRef = React$1.useRef(null);
14363
14388
 
14364
14389
  // TODO: Only invalidate `node` if animated props or `style` change. In the
14365
14390
  // previous implementation, we permitted `style` to override props with the
14366
14391
  // same name property name as styles, so we can probably continue doing that.
14367
14392
  // 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]);
14393
+ var node = React$1.useMemo(() => new AnimatedProps$1(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);
14369
14394
  useAnimatedPropsLifecycle(node);
14370
14395
 
14371
14396
  // TODO: This "effect" does three things:
@@ -14381,7 +14406,7 @@ function useAnimatedProps(props) {
14381
14406
  //
14382
14407
  // But there is no way to transparently compose three separate callback refs,
14383
14408
  // so we just combine them all into one for now.
14384
- var refEffect = React.useCallback(instance => {
14409
+ var refEffect = React$1.useCallback(instance => {
14385
14410
  // NOTE: This may be called more often than necessary (e.g. when `props`
14386
14411
  // changes), but `setNativeView` already optimizes for that.
14387
14412
  node.setNativeView(instance);
@@ -14431,9 +14456,9 @@ function reduceAnimatedProps(node) {
14431
14456
  * unless we are unmounting.
14432
14457
  */
14433
14458
  function useAnimatedPropsLifecycle(node) {
14434
- var prevNodeRef = React.useRef(null);
14435
- var isUnmountingRef = React.useRef(false);
14436
- React.useEffect(() => {
14459
+ var prevNodeRef = React$1.useRef(null);
14460
+ var isUnmountingRef = React$1.useRef(false);
14461
+ React$1.useEffect(() => {
14437
14462
  // It is ok for multiple components to call `flushQueue` because it noops
14438
14463
  // if the queue is empty. When multiple animated components are mounted at
14439
14464
  // the same time. Only first component flushes the queue and the others will noop.
@@ -14493,7 +14518,7 @@ function useMergeRefs() {
14493
14518
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
14494
14519
  refs[_key] = arguments[_key];
14495
14520
  }
14496
- return React.useCallback(current => {
14521
+ return React$1.useCallback(current => {
14497
14522
  for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {
14498
14523
  var ref = _refs[_i];
14499
14524
  if (ref != null) {
@@ -14926,7 +14951,7 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14926
14951
  // Accessibility image allows users to trigger the browser's image context menu
14927
14952
  var hiddenImage = displayImageUri ? createElement$1('img', {
14928
14953
  alt: ariaLabel || '',
14929
- style: styles$l.accessibilityImage$raw,
14954
+ style: styles$a.accessibilityImage$raw,
14930
14955
  draggable: draggable || false,
14931
14956
  ref: hiddenImageRef,
14932
14957
  src: displayImageUri
@@ -14998,14 +15023,14 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14998
15023
  onLayout: handleLayout,
14999
15024
  pointerEvents: pointerEvents,
15000
15025
  ref: ref,
15001
- style: [styles$l.root, hasTextAncestor && styles$l.inline, imageSizeStyle, style, styles$l.undo,
15026
+ style: [styles$a.root, hasTextAncestor && styles$a.inline, imageSizeStyle, style, styles$a.undo,
15002
15027
  // TEMP: avoid deprecated shadow props regression
15003
15028
  // until Image refactored to use createElement.
15004
15029
  {
15005
15030
  boxShadow: null
15006
15031
  }]
15007
15032
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
15008
- style: [styles$l.image, resizeModeStyles[resizeMode], {
15033
+ style: [styles$a.image, resizeModeStyles[resizeMode], {
15009
15034
  backgroundImage,
15010
15035
  filter
15011
15036
  }, backgroundSize != null && {
@@ -15027,7 +15052,7 @@ ImageWithStatics.prefetch = function (uri) {
15027
15052
  ImageWithStatics.queryCache = function (uris) {
15028
15053
  return ImageLoader$1.queryCache(uris);
15029
15054
  };
15030
- var styles$l = StyleSheet$1.create({
15055
+ var styles$a = StyleSheet$1.create({
15031
15056
  root: {
15032
15057
  flexBasis: 'auto',
15033
15058
  overflow: 'hidden',
@@ -18053,13 +18078,13 @@ var useStyles = function (theme) {
18053
18078
  var useContainerStyles = function (theme) {
18054
18079
  return {
18055
18080
  sm: {
18056
- height: theme.sizes.sm
18081
+ height: theme.sizes.xxs
18057
18082
  },
18058
18083
  md: {
18059
- height: theme.sizes.md
18084
+ height: theme.sizes.xs
18060
18085
  },
18061
18086
  lg: {
18062
- height: theme.sizes.lg
18087
+ height: theme.sizes.sm
18063
18088
  }
18064
18089
  };
18065
18090
  };
@@ -18131,7 +18156,7 @@ function _extends() {
18131
18156
  }, _extends.apply(null, arguments);
18132
18157
  }
18133
18158
 
18134
- var styles$k = StyleSheet$1.create({
18159
+ var styles$9 = StyleSheet$1.create({
18135
18160
  imageOverlay: {
18136
18161
  position: 'absolute',
18137
18162
  left: 0,
@@ -18154,39 +18179,39 @@ var ProgressiveImage = function (_a) {
18154
18179
  _b = _a.isDesaturated,
18155
18180
  isDesaturated = _b === void 0 ? false : _b,
18156
18181
  props = __rest(_a, ["source", "style", "isDesaturated"]);
18157
- var imageAnimated = React.useRef(new Animated$1.Value(0)).current;
18182
+ var imageAnimated = React$1.useRef(new Animated$1.Value(0)).current;
18158
18183
  var theme = useWllSdk().theme;
18159
18184
  var onImageLoad = function () {
18160
- Animated$1.timing(imageAnimated, {
18161
- toValue: 1,
18162
- useNativeDriver: true,
18163
- duration: 500
18164
- }).start();
18185
+ requestAnimationFrame(function () {
18186
+ Animated$1.timing(imageAnimated, {
18187
+ toValue: 1,
18188
+ useNativeDriver: true,
18189
+ duration: 300
18190
+ }).start();
18191
+ });
18165
18192
  };
18166
18193
  var baseColor = theme.alphaDerivedPrimary[20];
18167
18194
  var desaturatedColor = desaturateColor(baseColor);
18168
- return /*#__PURE__*/React.createElement(View$2, {
18169
- style: [styles$k.container, style, {
18170
- backgroundColor: isDesaturated ? desaturatedColor : baseColor
18195
+ var backgroundColor = isDesaturated ? desaturatedColor : baseColor;
18196
+ return /*#__PURE__*/React$1.createElement(View$2, {
18197
+ style: [styles$9.container, style, {
18198
+ backgroundColor: backgroundColor
18171
18199
  }]
18172
- }, isDesaturated ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18173
- source: source,
18174
- style: [styles$k.imageOverlay, {
18175
- opacity: imageAnimated,
18176
- tintColor: desaturatedColor
18177
- }],
18178
- onLoad: onImageLoad
18179
- })), /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18180
- source: source,
18181
- style: [styles$k.imageOverlay, {
18182
- opacity: 0.1
18183
- }],
18184
- onLoad: onImageLoad
18185
- }))) : /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
18200
+ }, /*#__PURE__*/React$1.createElement(Animated$1.View, {
18201
+ style: [styles$9.imageOverlay, {
18202
+ backgroundColor: backgroundColor,
18203
+ opacity: imageAnimated.interpolate({
18204
+ inputRange: [0, 1],
18205
+ outputRange: [1, 0]
18206
+ })
18207
+ }]
18208
+ }), /*#__PURE__*/React$1.createElement(Animated$1.Image, _extends({}, props, {
18186
18209
  source: source,
18187
- style: [styles$k.imageOverlay, {
18210
+ style: [styles$9.imageOverlay, __assign({
18188
18211
  opacity: imageAnimated
18189
- }],
18212
+ }, isDesaturated && {
18213
+ filter: "saturate(".concat(0 * 100, "%)")
18214
+ })],
18190
18215
  onLoad: onImageLoad
18191
18216
  })));
18192
18217
  };
@@ -18195,18 +18220,22 @@ var RowHeader = function (_a) {
18195
18220
  var children = _a.children,
18196
18221
  style = _a.style,
18197
18222
  props = __rest(_a, ["children", "style"]);
18223
+ var _b = useResponsive$1(),
18224
+ isDesktop = _b.isDesktop,
18225
+ isTablet = _b.isTablet;
18226
+ var theme = useWllSdk().theme;
18227
+ var dynamicStyles = StyleSheet$1.create({
18228
+ header: {
18229
+ flexDirection: 'row',
18230
+ alignItems: 'center',
18231
+ justifyContent: 'space-between',
18232
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet)
18233
+ }
18234
+ });
18198
18235
  return /*#__PURE__*/React__namespace.createElement(View$2, _extends({
18199
- style: [styles$j.header, style]
18236
+ style: [dynamicStyles.header, style]
18200
18237
  }, props), children);
18201
18238
  };
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
18239
 
18211
18240
  var Text = function (_a) {
18212
18241
  var _b = _a.variant,
@@ -18225,51 +18254,38 @@ var Text = function (_a) {
18225
18254
  switch (variant) {
18226
18255
  case 'eyebrow':
18227
18256
  return __assign(__assign({}, baseStyle), {
18228
- fontSize: getResponsiveValue(14, 12, isDesktop, isTablet),
18229
- marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
18257
+ fontSize: useResponsiveValue(theme.sizes.md, theme.sizes.sm, isDesktop, isTablet),
18258
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet)
18230
18259
  });
18231
18260
  case 'title':
18232
18261
  return __assign(__assign({}, baseStyle), {
18233
- fontSize: getResponsiveValue(24, 14, isDesktop, isTablet),
18262
+ fontSize: useResponsiveValue(theme.sizes.xxl, theme.sizes.md, isDesktop, isTablet),
18234
18263
  fontWeight: 'bold'
18235
18264
  });
18236
18265
  case 'body':
18237
18266
  return {
18238
18267
  color: theme.derivedSurfaceText[20],
18239
- fontSize: getResponsiveValue(14, 10, isDesktop, isTablet)
18268
+ fontSize: useResponsiveValue(theme.sizes.md, theme.sizes.xs, isDesktop, isTablet)
18240
18269
  };
18241
18270
  case 'caption':
18242
18271
  return __assign(__assign({}, baseStyle), {
18243
18272
  fontWeight: 'bold',
18244
- fontSize: getResponsiveValue(24, 18, isDesktop, isTablet),
18273
+ fontSize: useResponsiveValue(theme.sizes.xxl, theme.sizes.xl, isDesktop, isTablet),
18245
18274
  color: theme.primary
18246
18275
  });
18247
- case 'tier-earned':
18248
- return __assign(__assign({}, baseStyle), {
18249
- fontSize: getResponsiveValue(20, 14, isDesktop, isTablet),
18250
- fontWeight: 'bold'
18251
- });
18252
- case 'tier-requirement':
18253
- return __assign(__assign({}, baseStyle), {
18254
- fontSize: getResponsiveValue(18, 12, isDesktop, isTablet),
18255
- fontWeight: 'bold'
18256
- });
18257
18276
  case 'description':
18258
18277
  case 'label':
18259
18278
  default:
18260
18279
  return __assign(__assign({}, baseStyle), {
18261
- fontSize: getResponsiveValue(12, 10, isDesktop, isTablet)
18280
+ fontSize: useResponsiveValue(theme.sizes.sm, theme.sizes.xs, isDesktop, isTablet)
18262
18281
  });
18263
18282
  }
18264
18283
  };
18265
18284
  var variantStyle = getVariantStyle(variant);
18266
18285
  return /*#__PURE__*/React__namespace.createElement(Text$3, _extends({
18267
- style: [styles$i.base, variantStyle, style]
18286
+ style: [variantStyle, style]
18268
18287
  }, props));
18269
18288
  };
18270
- var styles$i = StyleSheet$1.create({
18271
- base: {}
18272
- });
18273
18289
 
18274
18290
  /**
18275
18291
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -18756,9 +18772,9 @@ function Pressable(props, forwardedRef) {
18756
18772
  var _useForceableState3 = useForceableState(testOnly_pressed === true),
18757
18773
  pressed = _useForceableState3[0],
18758
18774
  setPressed = _useForceableState3[1];
18759
- var hostRef = React.useRef(null);
18775
+ var hostRef = React$1.useRef(null);
18760
18776
  var setRef = useMergeRefs$1(forwardedRef, hostRef);
18761
- var pressConfig = React.useMemo(() => ({
18777
+ var pressConfig = React$1.useMemo(() => ({
18762
18778
  delayLongPress,
18763
18779
  delayPressStart: delayPressIn,
18764
18780
  delayPressEnd: delayPressOut,
@@ -18830,17 +18846,17 @@ function Pressable(props, forwardedRef) {
18830
18846
  onFocus: focusHandler,
18831
18847
  onKeyDown: keyDownHandler,
18832
18848
  ref: setRef,
18833
- style: [disabled ? styles$h.disabled : styles$h.active, typeof style === 'function' ? style(interactionState) : style],
18849
+ style: [disabled ? styles$8.disabled : styles$8.active, typeof style === 'function' ? style(interactionState) : style],
18834
18850
  tabIndex: _tabIndex
18835
18851
  }), typeof children === 'function' ? children(interactionState) : children);
18836
18852
  }
18837
18853
  function useForceableState(forced) {
18838
- var _useState = React.useState(false),
18854
+ var _useState = React$1.useState(false),
18839
18855
  bool = _useState[0],
18840
18856
  setBool = _useState[1];
18841
18857
  return [bool || forced, setBool];
18842
18858
  }
18843
- var styles$h = StyleSheet$1.create({
18859
+ var styles$8 = StyleSheet$1.create({
18844
18860
  active: {
18845
18861
  cursor: 'pointer',
18846
18862
  touchAction: 'manipulation'
@@ -18849,13 +18865,17 @@ var styles$h = StyleSheet$1.create({
18849
18865
  pointerEvents: 'box-none'
18850
18866
  }
18851
18867
  });
18852
- var MemoedPressable = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Pressable));
18868
+ var MemoedPressable = /*#__PURE__*/React$1.memo( /*#__PURE__*/React$1.forwardRef(Pressable));
18853
18869
  MemoedPressable.displayName = 'Pressable';
18854
18870
  var Pressable$1 = MemoedPressable;
18855
18871
 
18872
+ var MAX_WIDTH = 1080;
18873
+ var SLIDE_WIDTH = MAX_WIDTH;
18874
+ var BUTTON_SIZE = 42;
18875
+
18856
18876
  var useHandleTilePress = function (ctaLink, ctaLinkTarget) {
18857
18877
  var handleNavigation = useWllSdk().handleNavigation;
18858
- return React.useCallback(function () {
18878
+ return React$1.useCallback(function () {
18859
18879
  if (ctaLink) {
18860
18880
  var target = ctaLinkTarget || 'SAME_FRAME';
18861
18881
  handleNavigation(ctaLink, target);
@@ -18885,7 +18905,7 @@ var BaseBanner = function (_a) {
18885
18905
  }, /*#__PURE__*/React__namespace.createElement(Pressable$1, {
18886
18906
  style: function (_a) {
18887
18907
  var pressed = _a.pressed;
18888
- return [styles$g.container, {
18908
+ return [styles$7.container, {
18889
18909
  backgroundColor: theme.surface,
18890
18910
  borderRadius: theme.sizes.borderRadiusLg,
18891
18911
  opacity: pressed ? 0.7 : 1
@@ -18898,10 +18918,10 @@ var BaseBanner = function (_a) {
18898
18918
  accessibilityLabel: "".concat(title).concat(ctaLink ? ' - Click to open' : '')
18899
18919
  }, children));
18900
18920
  };
18901
- var styles$g = StyleSheet$1.create({
18921
+ var styles$7 = StyleSheet$1.create({
18902
18922
  container: {
18903
18923
  width: '100%',
18904
- maxWidth: 1080,
18924
+ maxWidth: MAX_WIDTH,
18905
18925
  flexDirection: 'row',
18906
18926
  alignItems: 'center',
18907
18927
  justifyContent: 'space-between',
@@ -19043,7 +19063,7 @@ var TierTileConfig = /** @class */function () {
19043
19063
  }();
19044
19064
 
19045
19065
  var useTileSize = function (tile) {
19046
- return React.useMemo(function () {
19066
+ return React$1.useMemo(function () {
19047
19067
  return {
19048
19068
  isFullSize: tile.tileHeight === exports.TileHeight.Full,
19049
19069
  isHalfSize: tile.tileHeight === exports.TileHeight.Half
@@ -19051,9 +19071,9 @@ var useTileSize = function (tile) {
19051
19071
  }, [tile.tileHeight]);
19052
19072
  };
19053
19073
 
19054
- var TileContext = /*#__PURE__*/React.createContext(null);
19074
+ var TileContext = /*#__PURE__*/React$1.createContext(null);
19055
19075
  var useTileContext = function () {
19056
- var context = React.useContext(TileContext);
19076
+ var context = React$1.useContext(TileContext);
19057
19077
  if (!context) {
19058
19078
  throw new Error('Tile components must be used within a BaseTile');
19059
19079
  }
@@ -19062,9 +19082,9 @@ var useTileContext = function () {
19062
19082
  var BaseTileInner = function (_a) {
19063
19083
  var tile = _a.tile,
19064
19084
  children = _a.children;
19065
- return /*#__PURE__*/React.createElement(TileContext.Provider, {
19085
+ return /*#__PURE__*/React$1.createElement(TileContext.Provider, {
19066
19086
  value: tile
19067
- }, /*#__PURE__*/React.createElement(BaseTile.Root, null, children));
19087
+ }, /*#__PURE__*/React$1.createElement(BaseTile.Root, null, children));
19068
19088
  };
19069
19089
  var BaseTileRoot = function (_a) {
19070
19090
  var children = _a.children,
@@ -19077,23 +19097,29 @@ var BaseTileRoot = function (_a) {
19077
19097
  ctaLinkTarget = _b.ctaLinkTarget,
19078
19098
  title = _b.title;
19079
19099
  var handlePress = useHandleTilePress(ctaLink, ctaLinkTarget);
19100
+ var _c = useResponsive$1(),
19101
+ isDesktop = _c.isDesktop,
19102
+ isTablet = _c.isTablet;
19080
19103
  var layout = {
19081
19104
  flexDirection: 'column',
19082
19105
  justifyContent: isHalfSize ? 'center' : 'flex-start',
19083
19106
  alignItems: 'stretch'
19084
19107
  };
19085
- var responsiveStyles = createResponsiveStyle({
19086
- borderRadius: [theme.sizes.borderRadiusSm, theme.sizes.borderRadiusSm, theme.sizes.borderRadiusLg]
19108
+ var dynamicStyles = StyleSheet$1.create({
19109
+ container: {
19110
+ justifyContent: 'center',
19111
+ alignItems: 'center',
19112
+ aspectRatio: isHalfSize ? 2 : 1,
19113
+ borderRadius: useResponsiveValue(theme.sizes.borderRadiusLg, theme.sizes.borderRadiusSm, isDesktop, isTablet)
19114
+ }
19087
19115
  });
19088
- return /*#__PURE__*/React.createElement(Pressable$1, {
19116
+ return /*#__PURE__*/React$1.createElement(Pressable$1, {
19089
19117
  style: function (_a) {
19090
19118
  var pressed = _a.pressed;
19091
- return [styles$f.container, {
19119
+ return [styles$6.container, {
19092
19120
  backgroundColor: theme.surface,
19093
- borderRadius: responsiveStyles.borderRadius,
19094
- aspectRatio: isHalfSize ? 2 : 1,
19095
19121
  opacity: pressed ? 0.7 : 1
19096
- }, layout, style];
19122
+ }, dynamicStyles.container, layout, style];
19097
19123
  },
19098
19124
  onPress: handlePress,
19099
19125
  disabled: !ctaLink,
@@ -19109,8 +19135,8 @@ var BaseTileContent = function (_a) {
19109
19135
  var isHalfSize = useTileSize(tile).isHalfSize;
19110
19136
  // For half tiles with an image, don't show other content
19111
19137
  if (isHalfSize && artworkUrl) return null;
19112
- return /*#__PURE__*/React.createElement(View$2, {
19113
- style: [styles$f.content, {
19138
+ return /*#__PURE__*/React$1.createElement(View$2, {
19139
+ style: [styles$6.content, {
19114
19140
  justifyContent: 'center',
19115
19141
  height: !artworkUrl ? '100%' : undefined
19116
19142
  }]
@@ -19119,16 +19145,26 @@ var BaseTileContent = function (_a) {
19119
19145
  var BaseTileHeader = function (_a) {
19120
19146
  var children = _a.children;
19121
19147
  var tile = useTileContext();
19148
+ var theme = useWllSdk().theme;
19122
19149
  var artworkUrl = tile.configuration.artworkUrl;
19123
19150
  var isHalfSize = useTileSize(tile).isHalfSize;
19151
+ var _b = useResponsive$1(),
19152
+ isDesktop = _b.isDesktop,
19153
+ isTablet = _b.isTablet;
19124
19154
  // For half tiles with an image, don't show header
19125
19155
  if (isHalfSize && artworkUrl) return null;
19126
- var headerStyle = createResponsiveStyle({
19127
- marginTop: [8, 8, 12]
19156
+ var dynamicStyles = StyleSheet$1.create({
19157
+ header: {
19158
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet),
19159
+ marginTop: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
19160
+ flexDirection: 'row',
19161
+ alignItems: 'center',
19162
+ justifyContent: 'space-between'
19163
+ }
19128
19164
  });
19129
- return /*#__PURE__*/React.createElement(View$2, {
19130
- style: [styles$f.header, {
19131
- marginTop: !isHalfSize && artworkUrl ? headerStyle.marginTop : undefined,
19165
+ return /*#__PURE__*/React$1.createElement(View$2, {
19166
+ style: [dynamicStyles.header, {
19167
+ marginTop: isHalfSize ? 0 : dynamicStyles.header.marginTop,
19132
19168
  // @ts-ignore
19133
19169
  textAlign: isHalfSize && 'center'
19134
19170
  }],
@@ -19145,11 +19181,11 @@ var BaseTileMedia = function (props) {
19145
19181
  if (!artworkUrl) return null;
19146
19182
  var hasTitle = !!title;
19147
19183
  var hasDescription = !!body;
19148
- return /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
19184
+ return /*#__PURE__*/React$1.createElement(ProgressiveImage, _extends({}, props, {
19149
19185
  source: {
19150
19186
  uri: artworkUrl
19151
19187
  },
19152
- style: [props.style, styles$f.media, {
19188
+ style: [props.style, styles$6.media, {
19153
19189
  flexBasis: !isHalfSize && hasTitle && hasDescription ? '50%' : '100%',
19154
19190
  height: isHalfSize ? '100%' : undefined
19155
19191
  }]
@@ -19165,10 +19201,10 @@ var BaseTileTitle = function () {
19165
19201
  var isHalfSize = useTileSize(tile).isHalfSize;
19166
19202
  // Don't show title for half tiles with image
19167
19203
  if (isHalfSize && artworkUrl || !title) return null;
19168
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
19204
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Text, {
19169
19205
  variant: "title",
19170
19206
  accessibilityLabel: title
19171
- }, title), ctaLink && /*#__PURE__*/React.createElement(Icon, {
19207
+ }, title), ctaLink && /*#__PURE__*/React$1.createElement(Icon, {
19172
19208
  name: "ChevronRight",
19173
19209
  color: theme.derivedSurfaceText[20]
19174
19210
  }));
@@ -19180,7 +19216,7 @@ var BaseTileBody = function (props) {
19180
19216
  artworkUrl = _a.artworkUrl;
19181
19217
  var isHalfSize = useTileSize(tile).isHalfSize;
19182
19218
  if (isHalfSize && artworkUrl || !body) return null;
19183
- return /*#__PURE__*/React.createElement(Text, _extends({
19219
+ return /*#__PURE__*/React$1.createElement(Text, _extends({
19184
19220
  variant: "body"
19185
19221
  }, props, {
19186
19222
  accessibilityLabel: body
@@ -19193,7 +19229,7 @@ BaseTile.Content = BaseTileContent;
19193
19229
  BaseTile.Header = BaseTileHeader;
19194
19230
  BaseTile.Title = BaseTileTitle;
19195
19231
  BaseTile.Body = BaseTileBody;
19196
- var styles$f = StyleSheet$1.create({
19232
+ var styles$6 = StyleSheet$1.create({
19197
19233
  container: {
19198
19234
  width: '100%',
19199
19235
  height: '100%',
@@ -19206,13 +19242,7 @@ var styles$f = StyleSheet$1.create({
19206
19242
  media: {
19207
19243
  width: '100%',
19208
19244
  objectFit: 'cover'
19209
- },
19210
- header: createResponsiveStyle({
19211
- flexDirection: 'row',
19212
- alignItems: 'center',
19213
- justifyContent: 'space-between',
19214
- marginBottom: [4, 4, 8]
19215
- })
19245
+ }
19216
19246
  });
19217
19247
 
19218
19248
  var Indicator = function () {
@@ -19224,13 +19254,13 @@ var Indicator = function () {
19224
19254
  if (isTablet) return 'Tablet Layout';
19225
19255
  return 'Mobile Layout';
19226
19256
  };
19227
- return /*#__PURE__*/React.createElement(View$2, {
19228
- style: styles$e.indicator
19229
- }, /*#__PURE__*/React.createElement(Text$3, {
19230
- style: styles$e.indicatorText
19257
+ return /*#__PURE__*/React$1.createElement(View$2, {
19258
+ style: styles$5.indicator
19259
+ }, /*#__PURE__*/React$1.createElement(Text$3, {
19260
+ style: styles$5.indicatorText
19231
19261
  }, getCurrentLayout()));
19232
19262
  };
19233
- var styles$e = StyleSheet$1.create({
19263
+ var styles$5 = StyleSheet$1.create({
19234
19264
  indicator: {
19235
19265
  position: 'absolute',
19236
19266
  top: 10,
@@ -19280,36 +19310,36 @@ var Skeleton = function (_a) {
19280
19310
  borderRadius: theme.sizes.borderRadiusLg
19281
19311
  };
19282
19312
  return /*#__PURE__*/React__namespace.createElement(View$2, null, /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19283
- style: [styles$d.skeleton, styles$d.title, {
19313
+ style: [styles$4.skeleton, styles$4.title, {
19284
19314
  opacity: opacity,
19285
19315
  backgroundColor: theme.alphaDerivedText[20],
19286
19316
  borderRadius: 6
19287
19317
  }]
19288
19318
  }), /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19289
- style: [styles$d.skeleton, styles$d.body, {
19319
+ style: [styles$4.skeleton, styles$4.body, {
19290
19320
  opacity: opacity,
19291
19321
  backgroundColor: theme.alphaDerivedText[20],
19292
19322
  borderRadius: 6
19293
19323
  }]
19294
19324
  }), /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19295
- style: [styles$d.container, style]
19325
+ style: [styles$4.container, style]
19296
19326
  }, Array.from({
19297
19327
  length: numberOfSquares
19298
19328
  }).map(function (_, index) {
19299
19329
  return /*#__PURE__*/React__namespace.createElement(Animated$1.View, {
19300
19330
  key: index,
19301
- style: [styles$d.skeleton, styles$d.square, sharedSkeletonStyle]
19331
+ style: [styles$4.skeleton, styles$4.square, sharedSkeletonStyle]
19302
19332
  });
19303
19333
  })));
19304
19334
  };
19305
- var styles$d = StyleSheet$1.create({
19335
+ var styles$4 = StyleSheet$1.create({
19306
19336
  container: {
19307
19337
  flexDirection: 'row',
19308
19338
  flexWrap: 'wrap',
19309
19339
  gap: GRID_GAP,
19310
19340
  justifyContent: 'space-between',
19311
19341
  width: '100%',
19312
- maxWidth: 1080
19342
+ maxWidth: MAX_WIDTH
19313
19343
  },
19314
19344
  title: {
19315
19345
  height: 40,
@@ -19330,136 +19360,71 @@ var styles$d = StyleSheet$1.create({
19330
19360
  }
19331
19361
  });
19332
19362
 
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();
19363
+ var useBadgeTileStyles = function () {
19364
+ var _a = useResponsive$1(),
19365
+ isDesktop = _a.isDesktop,
19366
+ isTablet = _a.isTablet;
19350
19367
  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
19368
+ return StyleSheet$1.create({
19369
+ container: {
19370
+ flex: 1
19361
19371
  },
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]
19372
+ indicatorContainer: {
19373
+ position: 'absolute',
19374
+ bottom: useResponsiveValue(theme.sizes.lg, theme.sizes.xxs, isDesktop, isTablet),
19375
+ right: useResponsiveValue(theme.sizes.lg, theme.sizes.xxs, isDesktop, isTablet),
19376
+ backgroundColor: 'rgba(0,0,0,0.6)',
19377
+ borderRadius: 40,
19378
+ width: 40,
19379
+ alignItems: 'center',
19380
+ justifyContent: 'center',
19381
+ height: 40
19382
+ },
19383
+ countText: {
19384
+ color: '#FFF',
19385
+ fontSize: 14,
19386
+ fontWeight: 'bold'
19387
+ },
19388
+ header: {
19389
+ flexBasis: '50%',
19390
+ alignItems: 'center',
19391
+ justifyContent: 'center',
19392
+ position: 'relative',
19393
+ marginBottom: useResponsiveValue(theme.sizes.lg, theme.sizes.xxs, isDesktop, isTablet)
19394
+ },
19395
+ image: {
19396
+ width: '100%',
19397
+ height: '100%'
19398
+ },
19399
+ titleText: {
19400
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet)
19401
+ },
19402
+ dateEarnedContainer: {
19403
+ alignItems: 'flex-start',
19404
+ paddingHorizontal: 8,
19405
+ paddingVertical: 4,
19406
+ borderRadius: 20
19407
+ }
19404
19408
  });
19405
19409
  };
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
19410
 
19448
19411
  var BadgeTileInner = function (_a) {
19449
19412
  var tile = _a.tile;
19413
+ var styles = useBadgeTileStyles();
19450
19414
  if (!tile) return null;
19451
- return /*#__PURE__*/React.createElement(BaseTile, {
19415
+ return /*#__PURE__*/React$1.createElement(BaseTile, {
19452
19416
  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, {
19417
+ }, /*#__PURE__*/React$1.createElement(View$2, {
19418
+ style: styles.container
19419
+ }, /*#__PURE__*/React$1.createElement(BadgeTile.Media, null, /*#__PURE__*/React$1.createElement(BadgeTile.Status, null)), /*#__PURE__*/React$1.createElement(Column$1, {
19456
19420
  justify: "between",
19457
19421
  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))));
19422
+ }, /*#__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
19423
  };
19460
19424
  var BadgeTileMedia = function (_a) {
19461
19425
  var children = _a.children,
19462
19426
  props = __rest(_a, ["children"]);
19427
+ var styles = useBadgeTileStyles();
19463
19428
  var tile = useTileContext();
19464
19429
  var configuration = tile.configuration;
19465
19430
  var type = configuration.type,
@@ -19468,18 +19433,19 @@ var BadgeTileMedia = function (_a) {
19468
19433
  emptyBadgeArtworkUrl = configuration.emptyBadgeArtworkUrl;
19469
19434
  var displayUrl = count === 0 ? emptyBadgeArtworkUrl : artworkUrl;
19470
19435
  if (!displayUrl) return null;
19471
- return /*#__PURE__*/React.createElement(View$2, {
19472
- style: styles$b.header
19473
- }, /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
19436
+ return /*#__PURE__*/React$1.createElement(View$2, {
19437
+ style: styles.header
19438
+ }, /*#__PURE__*/React$1.createElement(ProgressiveImage, _extends({}, props, {
19474
19439
  source: {
19475
19440
  uri: displayUrl
19476
19441
  },
19477
- style: styles$b.image,
19442
+ style: styles.image,
19478
19443
  resizeMode: "contain",
19479
19444
  isDesaturated: shouldDesaturate(type, count)
19480
19445
  })), children);
19481
19446
  };
19482
19447
  var BadgeTileTitle = function () {
19448
+ var styles = useBadgeTileStyles();
19483
19449
  var tile = useTileContext();
19484
19450
  var configuration = tile.configuration;
19485
19451
  var count = configuration.count,
@@ -19487,9 +19453,9 @@ var BadgeTileTitle = function () {
19487
19453
  emptyBadgeMessage = configuration.emptyBadgeMessage;
19488
19454
  var displayText = count === 0 ? emptyBadgeMessage : name;
19489
19455
  if (!displayText) return null;
19490
- return /*#__PURE__*/React.createElement(View$2, null, /*#__PURE__*/React.createElement(Text, {
19456
+ return /*#__PURE__*/React$1.createElement(View$2, null, /*#__PURE__*/React$1.createElement(Text, {
19491
19457
  variant: "title",
19492
- style: styles$b.titleText,
19458
+ style: styles.titleText,
19493
19459
  numberOfLines: 2,
19494
19460
  ellipsizeMode: "tail"
19495
19461
  }, displayText));
@@ -19500,16 +19466,14 @@ var BadgeTileDescription = function () {
19500
19466
  var count = configuration.count,
19501
19467
  description = configuration.description;
19502
19468
  if (count === 0 || !description) return null;
19503
- return /*#__PURE__*/React.createElement(View$2, {
19504
- style: styles$b.descriptionContainer
19505
- }, /*#__PURE__*/React.createElement(Text, {
19469
+ return /*#__PURE__*/React$1.createElement(Text, {
19506
19470
  variant: "body",
19507
- style: styles$b.descriptionText,
19508
19471
  numberOfLines: 2,
19509
19472
  ellipsizeMode: "tail"
19510
- }, description));
19473
+ }, description);
19511
19474
  };
19512
19475
  var BadgeTileDateEarned = function () {
19476
+ var styles = useBadgeTileStyles();
19513
19477
  var tile = useTileContext();
19514
19478
  var configuration = tile.configuration;
19515
19479
  var type = configuration.type,
@@ -19519,27 +19483,28 @@ var BadgeTileDateEarned = function () {
19519
19483
  badgeNotEarnedMessage = configuration.badgeNotEarnedMessage;
19520
19484
  var theme = useWllSdk().theme;
19521
19485
  var backgroundColor = getStateColor(theme.alphaDerivedPrimary[20], type, count);
19522
- var containerStyle = [styles$b.dateEarnedContainer, {
19486
+ var containerStyle = [styles.dateEarnedContainer, {
19523
19487
  backgroundColor: backgroundColor
19524
19488
  }];
19525
19489
  if (type === exports.BadgeTileType.Latest && count === 0) {
19526
19490
  return null;
19527
19491
  }
19528
19492
  if (count === 0) {
19529
- return /*#__PURE__*/React.createElement(View$2, {
19493
+ return /*#__PURE__*/React$1.createElement(View$2, {
19530
19494
  style: containerStyle
19531
- }, /*#__PURE__*/React.createElement(Text, {
19495
+ }, /*#__PURE__*/React$1.createElement(Text, {
19532
19496
  variant: "label"
19533
19497
  }, badgeNotEarnedMessage));
19534
19498
  }
19535
19499
  var formattedDate = new Date(createdAt).toLocaleDateString();
19536
- return /*#__PURE__*/React.createElement(View$2, {
19500
+ return /*#__PURE__*/React$1.createElement(View$2, {
19537
19501
  style: containerStyle
19538
- }, /*#__PURE__*/React.createElement(Text, {
19502
+ }, /*#__PURE__*/React$1.createElement(Text, {
19539
19503
  variant: "label"
19540
19504
  }, "".concat(awardedDatePrefix, " ").concat(formattedDate)));
19541
19505
  };
19542
19506
  var BadgeTileStatus = function () {
19507
+ var styles = useBadgeTileStyles();
19543
19508
  var tile = useTileContext();
19544
19509
  var configuration = tile.configuration;
19545
19510
  var count = configuration.count,
@@ -19547,13 +19512,13 @@ var BadgeTileStatus = function () {
19547
19512
  if (type !== exports.BadgeTileType.Specific || count === 1) {
19548
19513
  return null;
19549
19514
  }
19550
- return /*#__PURE__*/React.createElement(View$2, {
19551
- style: styles$b.indicatorContainer
19552
- }, count === 0 ? /*#__PURE__*/React.createElement(LucideIcons.LockKeyholeIcon, {
19515
+ return /*#__PURE__*/React$1.createElement(View$2, {
19516
+ style: styles.indicatorContainer
19517
+ }, count === 0 ? /*#__PURE__*/React$1.createElement(LucideIcons.LockKeyholeIcon, {
19553
19518
  color: "#FFF",
19554
19519
  size: 20
19555
- }) : /*#__PURE__*/React.createElement(Text, {
19556
- style: styles$b.countText
19520
+ }) : /*#__PURE__*/React$1.createElement(Text, {
19521
+ style: styles.countText
19557
19522
  }, count, "x"));
19558
19523
  };
19559
19524
  var BadgeTile = BadgeTileInner;
@@ -19562,91 +19527,84 @@ BadgeTile.Title = BadgeTileTitle;
19562
19527
  BadgeTile.Description = BadgeTileDescription;
19563
19528
  BadgeTile.DateEarned = BadgeTileDateEarned;
19564
19529
  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
- });
19530
+
19531
+ var useBannerTileStyles = function () {
19532
+ var _a = useResponsive$1(),
19533
+ isDesktop = _a.isDesktop,
19534
+ isTablet = _a.isTablet;
19535
+ var theme = useWllSdk().theme;
19536
+ return StyleSheet$1.create({
19537
+ slideContent: {
19538
+ flex: 1
19539
+ },
19540
+ mediaContainer: {
19541
+ width: '30%',
19542
+ aspectRatio: 1,
19543
+ position: 'relative',
19544
+ overflow: 'hidden',
19545
+ marginRight: useResponsiveValue(theme.sizes.xxl, theme.sizes.xxs, isDesktop, isTablet),
19546
+ height: 320
19547
+ },
19548
+ media: {
19549
+ position: 'absolute',
19550
+ width: '100%',
19551
+ height: '100%',
19552
+ objectFit: 'cover'
19553
+ },
19554
+ title: {
19555
+ fontSize: useResponsiveValue(theme.sizes.xxxl, theme.sizes.md, isDesktop, isTablet),
19556
+ marginBottom: useResponsiveValue(theme.sizes.sm, theme.sizes.xxxs, isDesktop, isTablet),
19557
+ fontWeight: '700'
19558
+ },
19559
+ description: {
19560
+ fontSize: useResponsiveValue(theme.sizes.xl, theme.sizes.xs, isDesktop, isTablet),
19561
+ marginBottom: useResponsiveValue(theme.sizes.xxxl, theme.sizes.sm, isDesktop, isTablet),
19562
+ color: theme.derivedSurfaceText[20]
19563
+ }
19564
+ });
19565
+ };
19608
19566
 
19609
19567
  var BannerTile = function (_a) {
19610
19568
  var tile = _a.tile;
19569
+ var styles = useBannerTileStyles();
19611
19570
  return /*#__PURE__*/React__namespace.createElement(BaseBanner, {
19612
19571
  tile: tile
19613
19572
  }, /*#__PURE__*/React__namespace.createElement(BannerTile.Media, null), /*#__PURE__*/React__namespace.createElement(View$2, {
19614
- style: styles$a.slideContent
19573
+ style: styles.slideContent
19615
19574
  }, /*#__PURE__*/React__namespace.createElement(BannerTile.Title, null), /*#__PURE__*/React__namespace.createElement(BannerTile.Description, null), /*#__PURE__*/React__namespace.createElement(BannerTile.CTA, null)));
19616
19575
  };
19617
19576
  var BannerTileMedia = function () {
19577
+ var styles = useBannerTileStyles();
19618
19578
  var configuration = useBannerContext().configuration;
19619
19579
  var artworkUrl = configuration.artworkUrl;
19620
19580
  if (!artworkUrl) return null;
19621
19581
  return /*#__PURE__*/React__namespace.createElement(View$2, {
19622
- style: styles$a.mediaContainer
19582
+ style: styles.mediaContainer
19623
19583
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
19624
19584
  source: {
19625
19585
  uri: artworkUrl
19626
19586
  },
19627
- style: styles$a.media
19587
+ style: styles.media
19628
19588
  }));
19629
19589
  };
19630
19590
  var BannerTileTitle = function () {
19591
+ var styles = useBannerTileStyles();
19631
19592
  var configuration = useBannerContext().configuration;
19632
19593
  var title = configuration.title;
19633
19594
  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
- );
19595
+ return /*#__PURE__*/React__namespace.createElement(Text, {
19596
+ variant: "title",
19597
+ style: styles.title
19598
+ }, title);
19642
19599
  };
19643
19600
  var BannerTileDescription = function () {
19601
+ var styles = useBannerTileStyles();
19644
19602
  var configuration = useBannerContext().configuration;
19645
- var theme = useWllSdk().theme;
19646
19603
  var description = configuration.description;
19604
+ var theme = useWllSdk().theme;
19647
19605
  if (!description) return null;
19648
19606
  return /*#__PURE__*/React__namespace.createElement(Text, {
19649
- style: [styles$a.description, {
19607
+ style: [styles.description, {
19650
19608
  color: theme.derivedSurfaceText[20]
19651
19609
  }]
19652
19610
  }, description);
@@ -19665,48 +19623,28 @@ var BannerTileCTA = function () {
19665
19623
  onPress: handlePress
19666
19624
  });
19667
19625
  };
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
19626
  BannerTile.Media = BannerTileMedia;
19706
19627
  BannerTile.Title = BannerTileTitle;
19707
19628
  BannerTile.Description = BannerTileDescription;
19708
19629
  BannerTile.CTA = BannerTileCTA;
19709
19630
 
19631
+ var useContentTileStyles = function () {
19632
+ var theme = useWllSdk().theme;
19633
+ var _a = useResponsive$1(),
19634
+ isDesktop = _a.isDesktop,
19635
+ isTablet = _a.isTablet;
19636
+ return StyleSheet$1.create({
19637
+ content: {
19638
+ paddingHorizontal: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
19639
+ flex: 1,
19640
+ justifyContent: 'center'
19641
+ },
19642
+ media: {
19643
+ width: '100%'
19644
+ }
19645
+ });
19646
+ };
19647
+
19710
19648
  var ContentTileInner = function (_a) {
19711
19649
  var tile = _a.tile;
19712
19650
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
@@ -19718,32 +19656,27 @@ var ContentTileRoot = function (_a) {
19718
19656
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Root, null, children);
19719
19657
  };
19720
19658
  var ContentTileMedia = function () {
19659
+ var styles = useContentTileStyles();
19721
19660
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Media, {
19722
- style: styles$9.media
19661
+ style: styles.media
19723
19662
  });
19724
19663
  };
19725
19664
  var ContentTileContent = function (_a) {
19726
19665
  var children = _a.children;
19666
+ var styles = useContentTileStyles();
19727
19667
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Content, null, /*#__PURE__*/React__namespace.createElement(View$2, {
19728
- style: styles$9.content
19668
+ style: styles.content
19729
19669
  }, children));
19730
19670
  };
19731
19671
  var ContentTileHeader = function () {
19672
+ var tile = useTileContext();
19673
+ var title = tile.configuration.title;
19674
+ if (!title) return null;
19732
19675
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Header, null, /*#__PURE__*/React__namespace.createElement(BaseTile.Title, null));
19733
19676
  };
19734
19677
  var ContentTileBody = function () {
19735
19678
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Body, null);
19736
19679
  };
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
19680
  var ContentTile = ContentTileInner;
19748
19681
  ContentTile.Root = ContentTileRoot;
19749
19682
  ContentTile.Media = ContentTileMedia;
@@ -19773,71 +19706,159 @@ exports.SectionType = void 0;
19773
19706
  SectionType["Banner"] = "BANNER";
19774
19707
  })(exports.SectionType || (exports.SectionType = {}));
19775
19708
 
19776
- var SectionHeader = function (_a) {
19777
- var title = _a.title,
19778
- description = _a.description;
19709
+ var useSectionHeaderStyles = function () {
19710
+ var _a = useResponsive$1(),
19711
+ isDesktop = _a.isDesktop,
19712
+ isTablet = _a.isTablet;
19779
19713
  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({
19714
+ return StyleSheet$1.create({
19787
19715
  sectionHeader: {
19788
- marginBottom: getResponsiveValue(16, 8, isDesktop, isTablet)
19716
+ marginBottom: useResponsiveValue(theme.sizes.lg, theme.sizes.xxs, isDesktop, isTablet)
19789
19717
  },
19790
19718
  sectionTitle: {
19791
- fontSize: getResponsiveValue(32, 18, isDesktop, isTablet),
19792
- marginBottom: getResponsiveValue(8, 4, isDesktop, isTablet)
19719
+ fontSize: useResponsiveValue(theme.sizes.xxxl, theme.sizes.xl, isDesktop, isTablet),
19720
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet),
19721
+ fontWeight: '700',
19722
+ color: theme.text
19793
19723
  },
19794
19724
  sectionDescription: {
19795
- fontSize: getResponsiveValue(24, 14, isDesktop, isTablet)
19725
+ fontSize: useResponsiveValue(theme.sizes.xxl, theme.sizes.md, isDesktop, isTablet),
19726
+ color: theme.alphaDerivedText[80]
19796
19727
  }
19797
19728
  });
19798
- return /*#__PURE__*/React.createElement(View$2, {
19799
- style: dynamicStyles.sectionHeader
19800
- }, title && /*#__PURE__*/React.createElement(Text, {
19801
- style: [dynamicStyles.sectionTitle, {
19729
+ };
19730
+
19731
+ var SectionHeader = function (_a) {
19732
+ var title = _a.title,
19733
+ description = _a.description;
19734
+ var styles = useSectionHeaderStyles();
19735
+ var theme = useWllSdk().theme;
19736
+ if (!title) {
19737
+ return null;
19738
+ }
19739
+ return /*#__PURE__*/React$1.createElement(View$2, {
19740
+ style: styles.sectionHeader
19741
+ }, title && /*#__PURE__*/React$1.createElement(Text, {
19742
+ style: [styles.sectionTitle, {
19802
19743
  fontWeight: '700',
19803
19744
  color: theme.text
19804
19745
  }]
19805
- }, title), description && /*#__PURE__*/React.createElement(Text, {
19806
- style: [dynamicStyles.sectionDescription, {
19746
+ }, title), description && /*#__PURE__*/React$1.createElement(Text, {
19747
+ style: [styles.sectionDescription, {
19807
19748
  color: theme.alphaDerivedText[80]
19808
19749
  }]
19809
19750
  }, description));
19810
19751
  };
19811
19752
 
19753
+ var useCarouselStyles = function (buttonSize, slideWidth) {
19754
+ if (buttonSize === void 0) {
19755
+ buttonSize = 42;
19756
+ }
19757
+ var _a = useResponsive$1(),
19758
+ isDesktop = _a.isDesktop,
19759
+ isTablet = _a.isTablet;
19760
+ var theme = useWllSdk().theme;
19761
+ return StyleSheet$1.create({
19762
+ container: {
19763
+ flex: 1,
19764
+ maxWidth: MAX_WIDTH
19765
+ },
19766
+ sectionTitle: {
19767
+ fontSize: 31,
19768
+ marginBottom: 10
19769
+ },
19770
+ sectionDescription: {
19771
+ marginBottom: 21
19772
+ },
19773
+ title: {
19774
+ marginBottom: 10
19775
+ },
19776
+ description: {
19777
+ marginBottom: 20
19778
+ },
19779
+ carouselContainer: {
19780
+ flexDirection: 'row',
19781
+ alignItems: 'center',
19782
+ justifyContent: 'center'
19783
+ },
19784
+ carouselContent: {
19785
+ overflow: 'hidden',
19786
+ width: slideWidth
19787
+ },
19788
+ navButton: {
19789
+ position: 'absolute',
19790
+ top: '50%',
19791
+ transform: [{
19792
+ translateY: -buttonSize / 2
19793
+ }],
19794
+ width: buttonSize,
19795
+ height: buttonSize,
19796
+ borderRadius: buttonSize / 2,
19797
+ backgroundColor: theme.background,
19798
+ justifyContent: 'center',
19799
+ alignItems: 'center',
19800
+ zIndex: 1
19801
+ },
19802
+ navButtonLeft: {
19803
+ left: -buttonSize / 2
19804
+ },
19805
+ navButtonRight: {
19806
+ right: -buttonSize / 2,
19807
+ backgroundColor: theme.surface
19808
+ },
19809
+ slideContainer: {
19810
+ width: slideWidth
19811
+ },
19812
+ indicators: {
19813
+ flexDirection: 'row',
19814
+ justifyContent: 'center',
19815
+ marginTop: useResponsiveValue(theme.sizes.xxl, theme.sizes.sm, isDesktop, isTablet)
19816
+ },
19817
+ indicator: {
19818
+ width: 8,
19819
+ height: 8,
19820
+ borderRadius: 8,
19821
+ marginHorizontal: 4,
19822
+ backgroundColor: theme.derivedBackground
19823
+ },
19824
+ activeIndicator: {
19825
+ backgroundColor: theme.primary
19826
+ }
19827
+ });
19828
+ };
19829
+
19812
19830
  var Carousel = function (_a) {
19813
19831
  var section = _a.section;
19832
+ var styles = useCarouselStyles(BUTTON_SIZE, SLIDE_WIDTH);
19833
+ var animatedIndex = React$1.useRef(new Animated$1.Value(0)).current;
19814
19834
  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;
19835
+ var _b = useResponsive(),
19836
+ isDesktop = _b.isDesktop,
19837
+ isTablet = _b.isTablet;
19838
+ var scrollViewRef = React$1.useRef(null);
19839
+ var _c = React$1.useState(0),
19840
+ currentIndex = _c[0],
19841
+ setCurrentIndex = _c[1];
19820
19842
  var bannerTiles = section.tiles.filter(function (tile) {
19821
19843
  return tile.type === exports.TileType.Banner;
19822
19844
  });
19823
19845
  var sortedTiles = sortByPriority(bannerTiles);
19824
- var animatedIndex = React.useRef(new Animated$1.Value(0)).current;
19825
- var handleScroll = React.useCallback(function (event) {
19846
+ var handleScroll = React$1.useCallback(function (event) {
19826
19847
  var contentOffsetX = event.nativeEvent.contentOffset.x;
19827
- var newIndex = contentOffsetX / slideWidth;
19848
+ var newIndex = contentOffsetX / SLIDE_WIDTH;
19828
19849
  animatedIndex.setValue(newIndex);
19829
- }, [slideWidth, animatedIndex]);
19830
- var handleScrollEnd = React.useCallback(function (event) {
19850
+ }, [SLIDE_WIDTH, animatedIndex]);
19851
+ var handleScrollEnd = React$1.useCallback(function (event) {
19831
19852
  var contentOffsetX = event.nativeEvent.contentOffset.x;
19832
- var newIndex = Math.round(contentOffsetX / slideWidth);
19853
+ var newIndex = Math.round(contentOffsetX / SLIDE_WIDTH);
19833
19854
  setCurrentIndex(newIndex);
19834
- }, [slideWidth]);
19855
+ }, [SLIDE_WIDTH]);
19835
19856
  var handlePrev = function () {
19836
19857
  var _a;
19837
19858
  var newIndex = Math.max(0, currentIndex - 1);
19838
19859
  setCurrentIndex(newIndex);
19839
19860
  (_a = scrollViewRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
19840
- x: newIndex * slideWidth,
19861
+ x: newIndex * SLIDE_WIDTH,
19841
19862
  animated: true
19842
19863
  });
19843
19864
  };
@@ -19846,28 +19867,35 @@ var Carousel = function (_a) {
19846
19867
  var newIndex = Math.min(sortedTiles.length - 1, currentIndex + 1);
19847
19868
  setCurrentIndex(newIndex);
19848
19869
  (_a = scrollViewRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
19849
- x: newIndex * slideWidth,
19870
+ x: newIndex * SLIDE_WIDTH,
19850
19871
  animated: true
19851
19872
  });
19852
19873
  };
19853
19874
  var displayControls = sortedTiles.length > 1;
19854
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SectionHeader, {
19875
+ var dynamicStyles = StyleSheet$1.create({
19876
+ indicators: {
19877
+ flexDirection: 'row',
19878
+ justifyContent: 'center',
19879
+ marginTop: useResponsiveValue(theme.sizes.xxl, theme.sizes.sm, isDesktop, isTablet)
19880
+ }
19881
+ });
19882
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(SectionHeader, {
19855
19883
  title: section.title,
19856
19884
  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, {
19885
+ }), /*#__PURE__*/React$1.createElement(View$2, {
19886
+ style: styles.container
19887
+ }, /*#__PURE__*/React$1.createElement(View$2, {
19888
+ style: styles.carouselContainer
19889
+ }, displayControls && /*#__PURE__*/React$1.createElement(TouchableOpacity$1, {
19890
+ style: [styles.navButton, styles.navButtonLeft, {
19863
19891
  backgroundColor: theme.background
19864
19892
  }],
19865
19893
  onPress: handlePrev
19866
- }, /*#__PURE__*/React.createElement(Icon, {
19894
+ }, /*#__PURE__*/React$1.createElement(Icon, {
19867
19895
  name: "ArrowLeft",
19868
19896
  size: 20,
19869
19897
  color: theme.primary
19870
- })), /*#__PURE__*/React.createElement(ScrollView$2, {
19898
+ })), /*#__PURE__*/React$1.createElement(ScrollView$2, {
19871
19899
  ref: scrollViewRef,
19872
19900
  horizontal: true,
19873
19901
  pagingEnabled: true,
@@ -19875,44 +19903,44 @@ var Carousel = function (_a) {
19875
19903
  onScroll: handleScroll,
19876
19904
  onMomentumScrollEnd: handleScrollEnd,
19877
19905
  scrollEventThrottle: 16,
19878
- style: [styles$8.carouselContent, {
19879
- width: slideWidth
19906
+ style: [styles.carouselContent, {
19907
+ width: SLIDE_WIDTH
19880
19908
  }],
19881
19909
  contentContainerStyle: {
19882
- width: slideWidth * sortedTiles.length
19910
+ width: SLIDE_WIDTH * sortedTiles.length
19883
19911
  },
19884
19912
  decelerationRate: "fast",
19885
- snapToInterval: slideWidth,
19913
+ snapToInterval: SLIDE_WIDTH,
19886
19914
  snapToAlignment: "start"
19887
19915
  }, sortedTiles.map(function (tile, index) {
19888
- return /*#__PURE__*/React.createElement(View$2, {
19916
+ return /*#__PURE__*/React$1.createElement(View$2, {
19889
19917
  key: index,
19890
19918
  style: [{
19891
- width: slideWidth
19919
+ width: SLIDE_WIDTH
19892
19920
  }]
19893
- }, /*#__PURE__*/React.createElement(BannerTile, {
19921
+ }, /*#__PURE__*/React$1.createElement(BannerTile, {
19894
19922
  tile: tile
19895
19923
  }));
19896
- })), displayControls && /*#__PURE__*/React.createElement(TouchableOpacity$1, {
19897
- style: [styles$8.navButton, styles$8.navButtonRight, {
19924
+ })), displayControls && /*#__PURE__*/React$1.createElement(TouchableOpacity$1, {
19925
+ style: [styles.navButton, styles.navButtonRight, {
19898
19926
  backgroundColor: theme.surface
19899
19927
  }],
19900
19928
  onPress: handleNext
19901
- }, /*#__PURE__*/React.createElement(Icon, {
19929
+ }, /*#__PURE__*/React$1.createElement(Icon, {
19902
19930
  name: "ArrowRight",
19903
19931
  size: 20,
19904
19932
  color: theme.primary
19905
- }))), displayControls && /*#__PURE__*/React.createElement(View$2, {
19906
- style: styles$8.indicators
19933
+ }))), displayControls && /*#__PURE__*/React$1.createElement(View$2, {
19934
+ style: dynamicStyles.indicators
19907
19935
  }, sortedTiles.map(function (_, index) {
19908
19936
  var width = animatedIndex.interpolate({
19909
19937
  inputRange: [index - 1, index, index + 1],
19910
19938
  outputRange: [8, 30, 8],
19911
19939
  extrapolate: 'clamp'
19912
19940
  });
19913
- return /*#__PURE__*/React.createElement(Animated$1.View, {
19941
+ return /*#__PURE__*/React$1.createElement(Animated$1.View, {
19914
19942
  key: index,
19915
- style: [styles$8.indicator, {
19943
+ style: [styles.indicator, {
19916
19944
  backgroundColor: theme.derivedBackground,
19917
19945
  width: width
19918
19946
  }, index === currentIndex && {
@@ -19921,74 +19949,6 @@ var Carousel = function (_a) {
19921
19949
  });
19922
19950
  }))));
19923
19951
  };
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
19952
 
19993
19953
  var Grid = function (_a) {
19994
19954
  var section = _a.section;
@@ -20069,10 +20029,10 @@ var Grid = function (_a) {
20069
20029
  title: section.title,
20070
20030
  description: section.description
20071
20031
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
20072
- style: styles$7.grid
20032
+ style: styles$3.grid
20073
20033
  }, renderGrid()));
20074
20034
  };
20075
- var styles$7 = StyleSheet$1.create({
20035
+ var styles$3 = StyleSheet$1.create({
20076
20036
  grid: {
20077
20037
  flexDirection: 'row',
20078
20038
  flexWrap: 'wrap',
@@ -20099,15 +20059,15 @@ var ProgressIndicator = function (_a) {
20099
20059
  progressVariant = 'accent';
20100
20060
  }
20101
20061
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20102
- style: styles$6.container
20062
+ style: styles$2.container
20103
20063
  }, /*#__PURE__*/React__namespace.createElement(ProgressBar, {
20104
20064
  percentage: percentage,
20105
20065
  variant: progressVariant,
20106
20066
  height: height
20107
20067
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
20108
- style: [styles$6.circleContainer]
20068
+ style: [styles$2.circleContainer]
20109
20069
  }, /*#__PURE__*/React__namespace.createElement(View$2, {
20110
- style: [styles$6.circle, {
20070
+ style: [styles$2.circle, {
20111
20071
  borderColor: theme.derivedSurface[20],
20112
20072
  backgroundColor: isComplete ? theme.primary : theme.surface,
20113
20073
  borderWidth: isComplete ? 0 : 4
@@ -20118,7 +20078,7 @@ var ProgressIndicator = function (_a) {
20118
20078
  color: theme.primaryText
20119
20079
  }))));
20120
20080
  };
20121
- var styles$6 = StyleSheet$1.create({
20081
+ var styles$2 = StyleSheet$1.create({
20122
20082
  container: {
20123
20083
  width: '100%',
20124
20084
  flexDirection: 'row',
@@ -20139,17 +20099,33 @@ var styles$6 = StyleSheet$1.create({
20139
20099
  }
20140
20100
  });
20141
20101
 
20142
- var SectionContext = /*#__PURE__*/React.createContext(undefined);
20102
+ var useSectionStyles = function () {
20103
+ var _a = useResponsive$1(),
20104
+ isDesktop = _a.isDesktop,
20105
+ isTablet = _a.isTablet;
20106
+ var theme = useWllSdk().theme;
20107
+ return StyleSheet$1.create({
20108
+ section: {
20109
+ width: '100%',
20110
+ maxWidth: MAX_WIDTH,
20111
+ marginHorizontal: 'auto',
20112
+ marginBottom: useResponsiveValue(theme.sizes.xxxxxl, theme.sizes.xxxxl, isDesktop, isTablet)
20113
+ }
20114
+ });
20115
+ };
20116
+
20117
+ var SectionContext = /*#__PURE__*/React$1.createContext(undefined);
20143
20118
  var Section = function (_a) {
20144
20119
  var section = _a.section;
20120
+ var styles = useSectionStyles();
20145
20121
  var renderSectionContent = function () {
20146
20122
  switch (section.type) {
20147
20123
  case exports.SectionType.Banner:
20148
- return /*#__PURE__*/React.createElement(Carousel, {
20124
+ return /*#__PURE__*/React$1.createElement(Carousel, {
20149
20125
  section: section
20150
20126
  });
20151
20127
  case exports.SectionType.Grid:
20152
- return /*#__PURE__*/React.createElement(Grid, {
20128
+ return /*#__PURE__*/React$1.createElement(Grid, {
20153
20129
  section: section
20154
20130
  });
20155
20131
  default:
@@ -20157,33 +20133,25 @@ var Section = function (_a) {
20157
20133
  return null;
20158
20134
  }
20159
20135
  };
20160
- return /*#__PURE__*/React.createElement(SectionContext.Provider, {
20136
+ return /*#__PURE__*/React$1.createElement(SectionContext.Provider, {
20161
20137
  value: {
20162
20138
  sectionData: section
20163
20139
  }
20164
- }, /*#__PURE__*/React.createElement(View$2, {
20165
- style: styles$5.section
20140
+ }, /*#__PURE__*/React$1.createElement(View$2, {
20141
+ style: styles.section
20166
20142
  }, renderSectionContent()));
20167
20143
  };
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
20144
 
20177
20145
  var Group = function (_a) {
20178
20146
  var id = _a.id;
20179
20147
  var getGroupByID = useWllSdk().getGroupByID;
20180
- var _b = React.useState(null),
20148
+ var _b = React$1.useState(null),
20181
20149
  groupData = _b[0],
20182
20150
  setGroupData = _b[1];
20183
- var _c = React.useState(true),
20151
+ var _c = React$1.useState(true),
20184
20152
  loading = _c[0],
20185
20153
  setLoading = _c[1];
20186
- React.useEffect(function () {
20154
+ React$1.useEffect(function () {
20187
20155
  var fetchGroup = function () {
20188
20156
  return __awaiter(void 0, void 0, void 0, function () {
20189
20157
  var response;
@@ -20204,29 +20172,29 @@ var Group = function (_a) {
20204
20172
  fetchGroup();
20205
20173
  }, [id, getGroupByID]);
20206
20174
  if (loading) {
20207
- return /*#__PURE__*/React.createElement(View$2, {
20208
- style: styles$4.emptyConatiner
20209
- }, /*#__PURE__*/React.createElement(Skeleton, null));
20175
+ return /*#__PURE__*/React$1.createElement(View$2, {
20176
+ style: styles$1.emptyConatiner
20177
+ }, /*#__PURE__*/React$1.createElement(Skeleton, null));
20210
20178
  }
20211
20179
  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"));
20180
+ return /*#__PURE__*/React$1.createElement(View$2, {
20181
+ style: styles$1.emptyConatiner
20182
+ }, /*#__PURE__*/React$1.createElement(Text$3, null, "No group data available"));
20215
20183
  }
20216
20184
  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"));
20185
+ return /*#__PURE__*/React$1.createElement(View$2, {
20186
+ style: styles$1.emptyConatiner
20187
+ }, /*#__PURE__*/React$1.createElement(Text$3, null, "No sections available"));
20220
20188
  }
20221
20189
  var sortedSections = sortByPriority(groupData.sections);
20222
- return /*#__PURE__*/React.createElement(View$2, null, sortedSections.map(function (section) {
20223
- return /*#__PURE__*/React.createElement(Section, {
20190
+ return /*#__PURE__*/React$1.createElement(View$2, null, sortedSections.map(function (section) {
20191
+ return /*#__PURE__*/React$1.createElement(Section, {
20224
20192
  key: section.id,
20225
20193
  section: section
20226
20194
  });
20227
20195
  }));
20228
20196
  };
20229
- var styles$4 = StyleSheet$1.create({
20197
+ var styles$1 = StyleSheet$1.create({
20230
20198
  emptyConatiner: {
20231
20199
  flex: 1,
20232
20200
  justifyContent: 'center',
@@ -20234,22 +20202,54 @@ var styles$4 = StyleSheet$1.create({
20234
20202
  }
20235
20203
  });
20236
20204
 
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],
20205
+ var usePointsTileStyles = function (isFullSize) {
20206
+ var _a = useResponsive$1(),
20207
+ isDesktop = _a.isDesktop,
20208
+ isTablet = _a.isTablet;
20209
+ var theme = useWllSdk().theme;
20210
+ return StyleSheet$1.create({
20211
+ container: {
20212
+ paddingHorizontal: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
20243
20213
  width: '100%',
20244
20214
  flexDirection: isFullSize ? 'row' : 'row-reverse',
20245
20215
  alignItems: isFullSize ? 'flex-start' : 'center',
20246
20216
  justifyContent: 'space-between'
20247
- }),
20217
+ },
20248
20218
  contentContainer: {
20249
20219
  flexDirection: 'column',
20250
20220
  width: isFullSize ? '100%' : 'auto'
20221
+ },
20222
+ suffix: {
20223
+ fontSize: useResponsiveValue(theme.sizes.xl, theme.sizes.md, isDesktop, isTablet),
20224
+ color: theme.primary
20225
+ },
20226
+ pointsWithSuffix: {
20227
+ flexDirection: 'row',
20228
+ alignItems: 'center',
20229
+ justifyContent: 'center'
20230
+ },
20231
+ imageContainer: {
20232
+ width: isFullSize ? '100%' : 57,
20233
+ height: isFullSize ? '50%' : 57,
20234
+ marginBottom: isFullSize ? useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet) : 0,
20235
+ backgroundColor: isFullSize ? theme.alphaDerivedPrimary[20] : theme.surface,
20236
+ justifyContent: 'center',
20237
+ alignItems: 'center',
20238
+ overflow: 'hidden'
20239
+ },
20240
+ image: {
20241
+ width: '100%',
20242
+ height: '100%',
20243
+ position: 'absolute',
20244
+ resizeMode: 'contain'
20251
20245
  }
20252
20246
  });
20247
+ };
20248
+
20249
+ var PointsTile = function (_a) {
20250
+ var tile = _a.tile;
20251
+ var isFullSize = useTileSize(tile).isFullSize;
20252
+ var styles = usePointsTileStyles(isFullSize);
20253
20253
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20254
20254
  tile: tile
20255
20255
  }, isFullSize && /*#__PURE__*/React__namespace.createElement(PointsTile.Image, {
@@ -20270,7 +20270,7 @@ var PointsTileTitle = function () {
20270
20270
  }, title);
20271
20271
  };
20272
20272
  var PointsTilePoints = function () {
20273
- var theme = useWllSdk().theme;
20273
+ var styles = usePointsTileStyles();
20274
20274
  var configuration = useTileContext().configuration;
20275
20275
  var _a = configuration,
20276
20276
  multiplier = _a.multiplier,
@@ -20278,17 +20278,6 @@ var PointsTilePoints = function () {
20278
20278
  suffix = _a.suffix,
20279
20279
  points = _a.points;
20280
20280
  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
20281
  if (calculatedPoints === null) return null;
20293
20282
  return /*#__PURE__*/React__namespace.createElement(Text, {
20294
20283
  variant: "caption"
@@ -20300,26 +20289,9 @@ var PointsTilePoints = function () {
20300
20289
  };
20301
20290
  var PointsTileImage = function (_a) {
20302
20291
  var isFullSize = _a.isFullSize;
20303
- var theme = useWllSdk().theme;
20304
20292
  var configuration = useTileContext().configuration;
20305
20293
  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
- });
20294
+ var styles = usePointsTileStyles(isFullSize);
20323
20295
  if (!artworkUrl) return null;
20324
20296
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20325
20297
  style: styles.imageContainer
@@ -20335,6 +20307,37 @@ PointsTile.Title = PointsTileTitle;
20335
20307
  PointsTile.Points = PointsTilePoints;
20336
20308
  PointsTile.Image = PointsTileImage;
20337
20309
 
20310
+ var useRewardCategoryTileStyles = function () {
20311
+ var _a = useResponsive$1(),
20312
+ isDesktop = _a.isDesktop,
20313
+ isTablet = _a.isTablet;
20314
+ var theme = useWllSdk().theme;
20315
+ return StyleSheet$1.create({
20316
+ header: {
20317
+ position: 'absolute',
20318
+ top: 0,
20319
+ left: 0,
20320
+ right: 0,
20321
+ zIndex: 10,
20322
+ height: 35,
20323
+ alignItems: 'center',
20324
+ justifyContent: 'center',
20325
+ backgroundColor: theme.primary
20326
+ },
20327
+ headerText: {
20328
+ fontSize: useResponsiveValue(theme.sizes.lg, theme.sizes.sm, isDesktop, isTablet),
20329
+ paddingHorizontal: useResponsiveValue(theme.sizes.xxxxl, 20, isDesktop, isTablet),
20330
+ color: theme.primaryText
20331
+ },
20332
+ background: {
20333
+ position: 'absolute',
20334
+ width: '100%',
20335
+ height: '100%',
20336
+ objectFit: 'cover'
20337
+ }
20338
+ });
20339
+ };
20340
+
20338
20341
  var RewardCategoryTile = function (_a) {
20339
20342
  var tile = _a.tile;
20340
20343
  if (!tile) return null;
@@ -20343,27 +20346,19 @@ var RewardCategoryTile = function (_a) {
20343
20346
  }, /*#__PURE__*/React__namespace.createElement(RewardCategoryTile.Header, null), /*#__PURE__*/React__namespace.createElement(RewardCategoryTile.Background, null));
20344
20347
  };
20345
20348
  var RewardCategoryHeader = function () {
20349
+ var styles = useRewardCategoryTileStyles();
20346
20350
  var theme = useWllSdk().theme;
20347
20351
  var configuration = useTileContext().configuration;
20348
20352
  var _a = configuration,
20349
20353
  showName = _a.showName,
20350
20354
  name = _a.name;
20351
- var _b = useResponsive$1(),
20352
- isDesktop = _b.isDesktop,
20353
- isTablet = _b.isTablet;
20354
20355
  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
20356
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20362
- style: [styles$3.header, {
20357
+ style: [styles.header, {
20363
20358
  backgroundColor: theme.primary
20364
20359
  }]
20365
20360
  }, /*#__PURE__*/React__namespace.createElement(Text, {
20366
- style: [dynamicStyles.headerText, {
20361
+ style: [styles.headerText, {
20367
20362
  color: theme.primaryText
20368
20363
  }],
20369
20364
  ellipsizeMode: "tail",
@@ -20371,6 +20366,7 @@ var RewardCategoryHeader = function () {
20371
20366
  }, name));
20372
20367
  };
20373
20368
  var RewardCategoryBackground = function () {
20369
+ var styles = useRewardCategoryTileStyles();
20374
20370
  var configuration = useTileContext().configuration;
20375
20371
  var artworkUrl = configuration.artworkUrl;
20376
20372
  if (!artworkUrl) return null;
@@ -20378,30 +20374,51 @@ var RewardCategoryBackground = function () {
20378
20374
  source: {
20379
20375
  uri: artworkUrl
20380
20376
  },
20381
- style: styles$3.background
20377
+ style: styles.background
20382
20378
  });
20383
20379
  };
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
20380
  RewardCategoryTile.Header = RewardCategoryHeader;
20403
20381
  RewardCategoryTile.Background = RewardCategoryBackground;
20404
20382
 
20383
+ var useRewardTileStyles = function () {
20384
+ var _a = useResponsive$1(),
20385
+ isDesktop = _a.isDesktop,
20386
+ isTablet = _a.isTablet;
20387
+ var theme = useWllSdk().theme;
20388
+ return StyleSheet$1.create({
20389
+ imageContainer: {
20390
+ width: '100%',
20391
+ flexBasis: '50%',
20392
+ marginBottom: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet)
20393
+ },
20394
+ image: {
20395
+ position: 'absolute',
20396
+ top: 0,
20397
+ left: 0,
20398
+ bottom: 0,
20399
+ right: 0,
20400
+ width: '100%',
20401
+ height: '100%',
20402
+ resizeMode: 'cover'
20403
+ },
20404
+ content: {
20405
+ paddingHorizontal: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
20406
+ flex: 1
20407
+ },
20408
+ footer: {
20409
+ marginTop: 8
20410
+ },
20411
+ pointsContainer: {
20412
+ flexDirection: 'row',
20413
+ alignItems: 'center',
20414
+ justifyContent: 'center'
20415
+ },
20416
+ suffix: {
20417
+ fontSize: useResponsiveValue(theme.sizes.xl, theme.sizes.md, isDesktop, isTablet)
20418
+ }
20419
+ });
20420
+ };
20421
+
20405
20422
  var RewardTile = function (_a) {
20406
20423
  var tile = _a.tile;
20407
20424
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
@@ -20409,16 +20426,17 @@ var RewardTile = function (_a) {
20409
20426
  }, /*#__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
20427
  };
20411
20428
  var RewardTileMedia = function () {
20429
+ var styles = useRewardTileStyles();
20412
20430
  var configuration = useTileContext().configuration;
20413
20431
  var reward = configuration;
20414
20432
  if (!(reward === null || reward === void 0 ? void 0 : reward.pictureUrl)) return null;
20415
20433
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20416
- style: styles$2.imageContainer
20434
+ style: styles.imageContainer
20417
20435
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20418
20436
  source: {
20419
20437
  uri: reward.pictureUrl
20420
20438
  },
20421
- style: styles$2.image
20439
+ style: styles.image
20422
20440
  }));
20423
20441
  };
20424
20442
  var RewardTileTitle = function () {
@@ -20440,6 +20458,7 @@ var RewardTileDescription = function () {
20440
20458
  }, reward.summary);
20441
20459
  };
20442
20460
  var RewardTilePoints = function () {
20461
+ var styles = useRewardTileStyles();
20443
20462
  var configuration = useTileContext().configuration;
20444
20463
  var theme = useWllSdk().theme;
20445
20464
  var reward = configuration;
@@ -20449,19 +20468,20 @@ var RewardTilePoints = function () {
20449
20468
  }
20450
20469
  return /*#__PURE__*/React__namespace.createElement(Text, {
20451
20470
  variant: "caption",
20452
- style: styles$2.footer
20471
+ style: styles.footer
20453
20472
  }, reward.pointsPrefix, /*#__PURE__*/React__namespace.createElement(View$2, {
20454
- style: styles$2.pointsContainer
20473
+ style: styles.pointsContainer
20455
20474
  }, calculatedPoints, /*#__PURE__*/React__namespace.createElement(Text, {
20456
- style: [styles$2.suffix, {
20475
+ style: [styles.suffix, {
20457
20476
  color: theme.primary
20458
20477
  }]
20459
20478
  }, reward.pointsSuffix)));
20460
20479
  };
20461
20480
  var RewardTileContent = function (_a) {
20462
20481
  var children = _a.children;
20482
+ var styles = useRewardTileStyles();
20463
20483
  return /*#__PURE__*/React__namespace.createElement(View$2, {
20464
- style: styles$2.content
20484
+ style: styles.content
20465
20485
  }, children);
20466
20486
  };
20467
20487
  var RewardTileChevron = function () {
@@ -20471,38 +20491,6 @@ var RewardTileChevron = function () {
20471
20491
  color: theme.derivedSurfaceText[20]
20472
20492
  });
20473
20493
  };
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
20494
  RewardTile.Media = RewardTileMedia;
20507
20495
  RewardTile.Title = RewardTileTitle;
20508
20496
  RewardTile.Description = RewardTileDescription;
@@ -20510,182 +20498,50 @@ RewardTile.Points = RewardTilePoints;
20510
20498
  RewardTile.Chevron = RewardTileChevron;
20511
20499
  RewardTile.Content = RewardTileContent;
20512
20500
 
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],
20501
+ var useTierTileStyles = function () {
20502
+ var _a = useResponsive$1(),
20503
+ isDesktop = _a.isDesktop,
20504
+ isTablet = _a.isTablet;
20505
+ var theme = useWllSdk().theme;
20506
+ return StyleSheet$1.create({
20507
+ header: {
20508
+ flexBasis: '50%',
20522
20509
  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'
20510
+ overflow: 'hidden',
20511
+ marginBottom: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet)
20531
20512
  },
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
20513
+ title: {
20514
+ marginBottom: useResponsiveValue(theme.sizes.xxs, theme.sizes.xxxs, isDesktop, isTablet)
20604
20515
  },
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'
20516
+ smallImageContainer: {
20517
+ width: 48,
20518
+ height: 48,
20519
+ position: 'relative'
20520
+ },
20521
+ smallImage: {
20522
+ width: '100%',
20523
+ height: '100%',
20524
+ resizeMode: 'cover',
20525
+ position: 'absolute',
20526
+ top: 0,
20527
+ left: 0,
20528
+ right: 0,
20529
+ bottom: 0
20530
+ },
20531
+ image: {
20532
+ width: '100%',
20533
+ height: '100%',
20534
+ resizeMode: 'cover'
20645
20535
  }
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
20536
  });
20663
20537
  };
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
20538
+
20682
20539
  var TierTileInner = function (_a) {
20683
20540
  var tile = _a.tile;
20684
20541
  if (!tile) return null;
20685
20542
  var configuration = tile.configuration;
20686
20543
  var tier = configuration.tier;
20687
20544
  var isHalfSize = useTileSize(tile).isHalfSize;
20688
- // Determine which variant to show
20689
20545
  if (!tier || Array.isArray(tier)) {
20690
20546
  return /*#__PURE__*/React__namespace.createElement(TierTile.Empty, {
20691
20547
  tile: tile
@@ -20697,9 +20553,9 @@ var TierTileInner = function (_a) {
20697
20553
  tile: tile
20698
20554
  });
20699
20555
  };
20700
- // Full-size tile with artwork
20701
20556
  var TierTileFull = function (_a) {
20702
20557
  var tile = _a.tile;
20558
+ var styles = useTierTileStyles();
20703
20559
  var configuration = tile.configuration;
20704
20560
  var tier = configuration.tier,
20705
20561
  title = configuration.title;
@@ -20710,38 +20566,40 @@ var TierTileFull = function (_a) {
20710
20566
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20711
20567
  tile: tile
20712
20568
  }, artworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20713
- style: styles$1.header
20569
+ style: styles.header
20714
20570
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20715
20571
  source: {
20716
20572
  uri: artworkUrl
20717
20573
  },
20718
- style: styles$1.image,
20574
+ style: styles.image,
20719
20575
  resizeMode: "center"
20720
- })), /*#__PURE__*/React__namespace.createElement(Column, {
20576
+ })), /*#__PURE__*/React__namespace.createElement(Column$1, {
20721
20577
  align: "stretch",
20722
20578
  justify: artworkUrl ? 'start' : 'center',
20723
20579
  direction: "column"
20724
20580
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20725
20581
  variant: "eyebrow",
20726
- style: styles$1.title
20582
+ style: styles.title
20727
20583
  }, title), name && /*#__PURE__*/React__namespace.createElement(Text, {
20728
20584
  variant: "title",
20729
- style: styles$1.title
20585
+ style: styles.title
20730
20586
  }, name), description && /*#__PURE__*/React__namespace.createElement(Text, {
20731
20587
  variant: "body"
20732
20588
  }, description))));
20733
20589
  };
20734
- // Half-size tile with small artwork
20735
20590
  var TierTileHalf = function (_a) {
20736
20591
  var tile = _a.tile;
20592
+ var styles = useTierTileStyles();
20737
20593
  var configuration = tile.configuration;
20738
- var tier = configuration.tier,
20739
- title = configuration.title;
20740
- var artworkUrl = tier.artworkUrl,
20741
- name = tier.name;
20594
+ var _b = configuration,
20595
+ tier = _b.tier,
20596
+ title = _b.title;
20597
+ var _c = tier || {},
20598
+ artworkUrl = _c.artworkUrl,
20599
+ name = _c.name;
20742
20600
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20743
20601
  tile: tile
20744
- }, /*#__PURE__*/React__namespace.createElement(Column, {
20602
+ }, /*#__PURE__*/React__namespace.createElement(Column$1, {
20745
20603
  align: "center",
20746
20604
  justify: "between",
20747
20605
  direction: "row",
@@ -20750,23 +20608,24 @@ var TierTileHalf = function (_a) {
20750
20608
  }
20751
20609
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20752
20610
  variant: "eyebrow",
20753
- style: styles$1.title
20611
+ style: styles.title
20754
20612
  }, title), name && /*#__PURE__*/React__namespace.createElement(Text, {
20755
20613
  variant: "title",
20756
- style: styles$1.title
20614
+ style: styles.title
20757
20615
  }, name)), artworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20758
- style: styles$1.smallImageContainer
20616
+ style: styles.smallImageContainer
20759
20617
  }, /*#__PURE__*/React__namespace.createElement(Image$2, {
20760
20618
  source: {
20761
20619
  uri: artworkUrl
20762
20620
  },
20763
- style: styles$1.smallImage,
20621
+ style: styles.smallImage,
20764
20622
  resizeMode: "contain"
20765
20623
  }))));
20766
20624
  };
20767
20625
  // Empty state tile
20768
20626
  var TierTileEmpty = function (_a) {
20769
20627
  var tile = _a.tile;
20628
+ var styles = useTierTileStyles();
20770
20629
  var configuration = tile.configuration;
20771
20630
  var title = configuration.title,
20772
20631
  emptyDescription = configuration.emptyDescription,
@@ -20775,7 +20634,7 @@ var TierTileEmpty = function (_a) {
20775
20634
  if (isHalfSize) {
20776
20635
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20777
20636
  tile: tile
20778
- }, /*#__PURE__*/React__namespace.createElement(Column, {
20637
+ }, /*#__PURE__*/React__namespace.createElement(Column$1, {
20779
20638
  align: "center",
20780
20639
  justify: "between",
20781
20640
  direction: "row",
@@ -20788,76 +20647,44 @@ var TierTileEmpty = function (_a) {
20788
20647
  }
20789
20648
  }, title && /*#__PURE__*/React__namespace.createElement(Text, {
20790
20649
  variant: "title",
20791
- style: styles$1.title
20650
+ style: styles.title
20792
20651
  }, title), emptyDescription && /*#__PURE__*/React__namespace.createElement(Text, {
20793
20652
  variant: "body"
20794
20653
  }, emptyDescription)), emptyArtworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20795
- style: styles$1.smallImageContainer
20654
+ style: styles.smallImageContainer
20796
20655
  }, /*#__PURE__*/React__namespace.createElement(Image$2, {
20797
20656
  source: {
20798
20657
  uri: emptyArtworkUrl
20799
20658
  },
20800
- style: styles$1.smallImage,
20659
+ style: styles.smallImage,
20801
20660
  resizeMode: "contain"
20802
20661
  }))));
20803
20662
  }
20804
20663
  return /*#__PURE__*/React__namespace.createElement(BaseTile, {
20805
20664
  tile: tile
20806
20665
  }, emptyArtworkUrl && /*#__PURE__*/React__namespace.createElement(View$2, {
20807
- style: styles$1.header
20666
+ style: styles.header
20808
20667
  }, /*#__PURE__*/React__namespace.createElement(ProgressiveImage, {
20809
20668
  source: {
20810
20669
  uri: emptyArtworkUrl
20811
20670
  },
20812
- style: styles$1.image,
20671
+ style: styles.image,
20813
20672
  resizeMode: "center"
20814
- })), /*#__PURE__*/React__namespace.createElement(Column, {
20673
+ })), /*#__PURE__*/React__namespace.createElement(Column$1, {
20815
20674
  align: "stretch",
20816
20675
  justify: "center",
20817
20676
  direction: "column"
20818
20677
  }, /*#__PURE__*/React__namespace.createElement(View$2, null, title && /*#__PURE__*/React__namespace.createElement(Text, {
20819
20678
  variant: "title",
20820
- style: styles$1.title
20679
+ style: styles.title
20821
20680
  }, title), emptyDescription && /*#__PURE__*/React__namespace.createElement(Text, {
20822
20681
  variant: "body"
20823
20682
  }, emptyDescription))));
20824
20683
  };
20825
20684
  var TierTile = TierTileInner;
20826
- // Assign variant components
20827
20685
  TierTile.Full = TierTileFull;
20828
20686
  TierTile.Half = TierTileHalf;
20829
20687
  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
20688
 
20862
20689
  var TileContainer = function (_a) {
20863
20690
  var tiles = _a.tiles;
@@ -20911,20 +20738,92 @@ var TileContainer = function (_a) {
20911
20738
  };
20912
20739
  var styles = StyleSheet$1.create({
20913
20740
  container: {
20914
- flexDirection: 'column',
20915
- marginBottom: GRID_GAP
20741
+ flexDirection: 'column'
20916
20742
  },
20917
20743
  tileContainer: {
20918
20744
  flex: 1
20919
20745
  }
20920
20746
  });
20921
20747
 
20748
+ var Column = function (_a) {
20749
+ var children = _a.children,
20750
+ _b = _a.justify,
20751
+ justify = _b === void 0 ? 'start' : _b,
20752
+ _c = _a.align,
20753
+ align = _c === void 0 ? 'stretch' : _c,
20754
+ style = _a.style;
20755
+ var _d = useResponsive$1(),
20756
+ isDesktop = _d.isDesktop,
20757
+ isTablet = _d.isTablet;
20758
+ var theme = useWllSdk().theme;
20759
+ return /*#__PURE__*/React.createElement(View$2, {
20760
+ style: [{
20761
+ flex: 1,
20762
+ flexDirection: 'column',
20763
+ justifyContent: justifyMap[justify],
20764
+ alignItems: alignMap[align],
20765
+ paddingHorizontal: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet),
20766
+ paddingBottom: useResponsiveValue(theme.sizes.sm, theme.sizes.xxs, isDesktop, isTablet)
20767
+ }, style]
20768
+ }, children);
20769
+ };
20770
+
20771
+ var Row = function (_a) {
20772
+ var children = _a.children,
20773
+ _b = _a.justify,
20774
+ justify = _b === void 0 ? 'start' : _b,
20775
+ _c = _a.align,
20776
+ align = _c === void 0 ? 'center' : _c,
20777
+ _d = _a.direction,
20778
+ direction = _d === void 0 ? 'row' : _d,
20779
+ style = _a.style;
20780
+ return /*#__PURE__*/React.createElement(View$2, {
20781
+ style: [{
20782
+ flexDirection: direction,
20783
+ justifyContent: justifyMap[justify],
20784
+ alignItems: alignMap[align]
20785
+ }, style]
20786
+ }, children);
20787
+ };
20788
+
20789
+ var Stack = function (_a) {
20790
+ var children = _a.children,
20791
+ _b = _a.justify,
20792
+ justify = _b === void 0 ? 'start' : _b,
20793
+ _c = _a.align,
20794
+ align = _c === void 0 ? 'stretch' : _c,
20795
+ _d = _a.direction,
20796
+ direction = _d === void 0 ? 'column' : _d,
20797
+ style = _a.style;
20798
+ return /*#__PURE__*/React.createElement(View$2, {
20799
+ style: [{
20800
+ flexDirection: direction,
20801
+ justifyContent: justifyMap[justify],
20802
+ alignItems: alignMap[align]
20803
+ }, style]
20804
+ }, children);
20805
+ };
20806
+
20807
+ var justifyMap = {
20808
+ start: 'flex-start',
20809
+ end: 'flex-end',
20810
+ center: 'center',
20811
+ between: 'space-between',
20812
+ around: 'space-around',
20813
+ evenly: 'space-evenly'
20814
+ };
20815
+ var alignMap = {
20816
+ start: 'flex-start',
20817
+ end: 'flex-end',
20818
+ center: 'center',
20819
+ stretch: 'stretch'
20820
+ };
20821
+
20922
20822
  var Reward = /** @class */function () {
20923
20823
  function Reward() {}
20924
20824
  return Reward;
20925
20825
  }();
20926
20826
 
20927
- exports.BadgeTile = BadgeTile$1;
20928
20827
  exports.BadgeTileConfig = BadgeTileConfig;
20929
20828
  exports.BadgeTileUpdated = BadgeTile;
20930
20829
  exports.BannerTile = BannerTile;
@@ -20933,7 +20832,8 @@ exports.BaseBanner = BaseBanner;
20933
20832
  exports.BaseTile = BaseTile;
20934
20833
  exports.Button = Button;
20935
20834
  exports.Carousel = Carousel;
20936
- exports.Content = Column;
20835
+ exports.Column = Column;
20836
+ exports.Content = Column$1;
20937
20837
  exports.ContentTile = ContentTile;
20938
20838
  exports.ContentTileConfig = ContentTileConfig;
20939
20839
  exports.Grid = Grid;
@@ -20951,12 +20851,13 @@ exports.RewardCategoryTile = RewardCategoryTile;
20951
20851
  exports.RewardCategoryTileConfig = RewardCategoryTileConfig;
20952
20852
  exports.RewardTile = RewardTile;
20953
20853
  exports.RewardTileConfig = RewardTileConfig;
20854
+ exports.Row = Row;
20954
20855
  exports.RowHeader = RowHeader;
20955
20856
  exports.Section = Section;
20956
20857
  exports.SectionHeader = SectionHeader;
20957
20858
  exports.Skeleton = Skeleton;
20859
+ exports.Stack = Stack;
20958
20860
  exports.Text = Text;
20959
- exports.TierTile = TierTile$1;
20960
20861
  exports.TierTileConfig = TierTileConfig;
20961
20862
  exports.TierTileUpdated = TierTile;
20962
20863
  exports.TileContainer = TileContainer;