@wlloyalty/wll-react-sdk 1.0.9 → 1.0.12

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
@@ -785,7 +785,7 @@ var canUseDOM$1 = canUseDOM;
785
785
  * longfrom equivalents.
786
786
  */
787
787
 
788
- var emptyObject$8 = {};
788
+ var emptyObject$9 = {};
789
789
  var supportsCSS3TextDecoration = !canUseDOM$1 || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));
790
790
  var MONOSPACE_FONT_STACK = 'monospace,monospace';
791
791
  var SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif';
@@ -844,7 +844,7 @@ var STYLE_SHORT_FORM_EXPANSIONS = {
844
844
 
845
845
  var createReactDOMStyle = (style, isInline) => {
846
846
  if (!style) {
847
- return emptyObject$8;
847
+ return emptyObject$9;
848
848
  }
849
849
  var resolvedStyle = {};
850
850
  var _loop = function _loop() {
@@ -1784,9 +1784,9 @@ var staticData = {
1784
1784
  var prefixAll = _default$9(staticData);
1785
1785
  var prefixStyles = prefixAll;
1786
1786
 
1787
- var _excluded$e = ["animationKeyframes"];
1787
+ var _excluded$f = ["animationKeyframes"];
1788
1788
  var cache$3 = new Map();
1789
- var emptyObject$7 = {};
1789
+ var emptyObject$8 = {};
1790
1790
  var classicGroup = 1;
1791
1791
  var atomicGroup = 3;
1792
1792
  var customGroup = {
@@ -1986,7 +1986,7 @@ function classic(style, name) {
1986
1986
  };
1987
1987
  var compiledRules = [];
1988
1988
  var animationKeyframes = style.animationKeyframes,
1989
- rest = _objectWithoutPropertiesLoose(style, _excluded$e);
1989
+ rest = _objectWithoutPropertiesLoose(style, _excluded$f);
1990
1990
  var identifier = createIdentifier('css', name, JSON.stringify(style));
1991
1991
  var selector = "." + identifier;
1992
1992
  var animationName;
@@ -2010,7 +2010,7 @@ function classic(style, name) {
2010
2010
  * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.
2011
2011
  */
2012
2012
  function inline(originalStyle, isRTL) {
2013
- var style = originalStyle || emptyObject$7;
2013
+ var style = originalStyle || emptyObject$8;
2014
2014
  var frozenProps = {};
2015
2015
  var nextStyle = {};
2016
2016
  var _loop = function _loop() {
@@ -2631,7 +2631,7 @@ function warnOnce(key, message) {
2631
2631
  *
2632
2632
  */
2633
2633
 
2634
- var emptyObject$6 = {};
2634
+ var emptyObject$7 = {};
2635
2635
 
2636
2636
  /**
2637
2637
  * Shadows
@@ -2726,7 +2726,7 @@ var preprocess = function preprocess(originalStyle, options) {
2726
2726
  if (options === void 0) {
2727
2727
  options = {};
2728
2728
  }
2729
- var style = originalStyle || emptyObject$6;
2729
+ var style = originalStyle || emptyObject$7;
2730
2730
  var nextStyle = {};
2731
2731
 
2732
2732
  // Convert shadow styles
@@ -3600,7 +3600,7 @@ function validate(obj) {
3600
3600
  }
3601
3601
  }
3602
3602
 
3603
- var _excluded$d = ["writingDirection"];
3603
+ var _excluded$e = ["writingDirection"];
3604
3604
  var staticStyleMap = new WeakMap();
3605
3605
  var sheet = createSheet();
3606
3606
  var defaultPreprocessOptions = {
@@ -3613,7 +3613,7 @@ function customStyleq(styles, options) {
3613
3613
  }
3614
3614
  var _options = options,
3615
3615
  writingDirection = _options.writingDirection,
3616
- preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded$d);
3616
+ preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded$e);
3617
3617
  var isRTL = writingDirection === 'rtl';
3618
3618
  return styleq_2.factory({
3619
3619
  transform(style) {
@@ -3843,10 +3843,10 @@ var roleComponents = {
3843
3843
  region: 'section',
3844
3844
  strong: 'strong'
3845
3845
  };
3846
- var emptyObject$5 = {};
3846
+ var emptyObject$6 = {};
3847
3847
  var propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {
3848
3848
  if (props === void 0) {
3849
- props = emptyObject$5;
3849
+ props = emptyObject$6;
3850
3850
  }
3851
3851
  var roleProp = props.role || props.accessibilityRole;
3852
3852
  // special-case for "label" role which doesn't map to an ARIA role
@@ -3883,8 +3883,8 @@ var AccessibilityUtil = {
3883
3883
  };
3884
3884
  var AccessibilityUtil$1 = AccessibilityUtil;
3885
3885
 
3886
- var _excluded$c = ["aria-activedescendant", "accessibilityActiveDescendant", "aria-atomic", "accessibilityAtomic", "aria-autocomplete", "accessibilityAutoComplete", "aria-busy", "accessibilityBusy", "aria-checked", "accessibilityChecked", "aria-colcount", "accessibilityColumnCount", "aria-colindex", "accessibilityColumnIndex", "aria-colspan", "accessibilityColumnSpan", "aria-controls", "accessibilityControls", "aria-current", "accessibilityCurrent", "aria-describedby", "accessibilityDescribedBy", "aria-details", "accessibilityDetails", "aria-disabled", "accessibilityDisabled", "aria-errormessage", "accessibilityErrorMessage", "aria-expanded", "accessibilityExpanded", "aria-flowto", "accessibilityFlowTo", "aria-haspopup", "accessibilityHasPopup", "aria-hidden", "accessibilityHidden", "aria-invalid", "accessibilityInvalid", "aria-keyshortcuts", "accessibilityKeyShortcuts", "aria-label", "accessibilityLabel", "aria-labelledby", "accessibilityLabelledBy", "aria-level", "accessibilityLevel", "aria-live", "accessibilityLiveRegion", "aria-modal", "accessibilityModal", "aria-multiline", "accessibilityMultiline", "aria-multiselectable", "accessibilityMultiSelectable", "aria-orientation", "accessibilityOrientation", "aria-owns", "accessibilityOwns", "aria-placeholder", "accessibilityPlaceholder", "aria-posinset", "accessibilityPosInSet", "aria-pressed", "accessibilityPressed", "aria-readonly", "accessibilityReadOnly", "aria-required", "accessibilityRequired", "role", "accessibilityRole", "aria-roledescription", "accessibilityRoleDescription", "aria-rowcount", "accessibilityRowCount", "aria-rowindex", "accessibilityRowIndex", "aria-rowspan", "accessibilityRowSpan", "aria-selected", "accessibilitySelected", "aria-setsize", "accessibilitySetSize", "aria-sort", "accessibilitySort", "aria-valuemax", "accessibilityValueMax", "aria-valuemin", "accessibilityValueMin", "aria-valuenow", "accessibilityValueNow", "aria-valuetext", "accessibilityValueText", "dataSet", "focusable", "id", "nativeID", "pointerEvents", "style", "tabIndex", "testID"];
3887
- var emptyObject$4 = {};
3886
+ var _excluded$d = ["aria-activedescendant", "accessibilityActiveDescendant", "aria-atomic", "accessibilityAtomic", "aria-autocomplete", "accessibilityAutoComplete", "aria-busy", "accessibilityBusy", "aria-checked", "accessibilityChecked", "aria-colcount", "accessibilityColumnCount", "aria-colindex", "accessibilityColumnIndex", "aria-colspan", "accessibilityColumnSpan", "aria-controls", "accessibilityControls", "aria-current", "accessibilityCurrent", "aria-describedby", "accessibilityDescribedBy", "aria-details", "accessibilityDetails", "aria-disabled", "accessibilityDisabled", "aria-errormessage", "accessibilityErrorMessage", "aria-expanded", "accessibilityExpanded", "aria-flowto", "accessibilityFlowTo", "aria-haspopup", "accessibilityHasPopup", "aria-hidden", "accessibilityHidden", "aria-invalid", "accessibilityInvalid", "aria-keyshortcuts", "accessibilityKeyShortcuts", "aria-label", "accessibilityLabel", "aria-labelledby", "accessibilityLabelledBy", "aria-level", "accessibilityLevel", "aria-live", "accessibilityLiveRegion", "aria-modal", "accessibilityModal", "aria-multiline", "accessibilityMultiline", "aria-multiselectable", "accessibilityMultiSelectable", "aria-orientation", "accessibilityOrientation", "aria-owns", "accessibilityOwns", "aria-placeholder", "accessibilityPlaceholder", "aria-posinset", "accessibilityPosInSet", "aria-pressed", "accessibilityPressed", "aria-readonly", "accessibilityReadOnly", "aria-required", "accessibilityRequired", "role", "accessibilityRole", "aria-roledescription", "accessibilityRoleDescription", "aria-rowcount", "accessibilityRowCount", "aria-rowindex", "accessibilityRowIndex", "aria-rowspan", "accessibilityRowSpan", "aria-selected", "accessibilitySelected", "aria-setsize", "accessibilitySetSize", "aria-sort", "accessibilitySort", "aria-valuemax", "accessibilityValueMax", "aria-valuemin", "accessibilityValueMin", "aria-valuenow", "accessibilityValueNow", "aria-valuetext", "accessibilityValueText", "dataSet", "focusable", "id", "nativeID", "pointerEvents", "style", "tabIndex", "testID"];
3887
+ var emptyObject$5 = {};
3888
3888
  var hasOwnProperty = Object.prototype.hasOwnProperty;
3889
3889
  var isArray = Array.isArray;
3890
3890
  var uppercasePattern = /[A-Z]/g;
@@ -3913,7 +3913,7 @@ var pointerEventsStyles = StyleSheet$1.create({
3913
3913
  });
3914
3914
  var createDOMProps = (elementType, props, options) => {
3915
3915
  if (!props) {
3916
- props = emptyObject$4;
3916
+ props = emptyObject$5;
3917
3917
  }
3918
3918
  var _props = props,
3919
3919
  ariaActiveDescendant = _props['aria-activedescendant'],
@@ -4016,7 +4016,7 @@ var createDOMProps = (elementType, props, options) => {
4016
4016
  style = _props.style,
4017
4017
  tabIndex = _props.tabIndex,
4018
4018
  testID = _props.testID,
4019
- domProps = _objectWithoutPropertiesLoose(_props, _excluded$c);
4019
+ domProps = _objectWithoutPropertiesLoose(_props, _excluded$d);
4020
4020
  if (accessibilityDisabled != null) {
4021
4021
  warnOnce('accessibilityDisabled', "accessibilityDisabled is deprecated.");
4022
4022
  }
@@ -5250,8 +5250,8 @@ function usePlatformMethods(_ref) {
5250
5250
  *
5251
5251
  */
5252
5252
 
5253
- var emptyFunction$2 = () => {};
5254
- var emptyObject$3 = {};
5253
+ var emptyFunction$3 = () => {};
5254
+ var emptyObject$4 = {};
5255
5255
  var emptyArray = [];
5256
5256
 
5257
5257
  /**
@@ -5282,7 +5282,7 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
5282
5282
  var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;
5283
5283
  var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;
5284
5284
  var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;
5285
- var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction$2;
5285
+ var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction$3;
5286
5286
  var timestamp = domEvent.timeStamp;
5287
5287
  function normalizeTouches(touches) {
5288
5288
  return Array.prototype.slice.call(touches).map(touch => {
@@ -5329,7 +5329,7 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
5329
5329
  // `currentTarget` is set before dispatch
5330
5330
  currentTarget: null,
5331
5331
  defaultPrevented: domEvent.defaultPrevented,
5332
- dispatchConfig: emptyObject$3,
5332
+ dispatchConfig: emptyObject$4,
5333
5333
  eventPhase: domEvent.eventPhase,
5334
5334
  isDefaultPrevented() {
5335
5335
  return domEvent.defaultPrevented;
@@ -5359,7 +5359,7 @@ function createResponderEvent(domEvent, responderTouchHistoryStore) {
5359
5359
  touches,
5360
5360
  type: domEventType
5361
5361
  },
5362
- persist: emptyFunction$2,
5362
+ persist: emptyFunction$3,
5363
5363
  preventDefault,
5364
5364
  stopPropagation() {
5365
5365
  propagationWasStopped = true;
@@ -5404,7 +5404,7 @@ var TOUCH_START = 'touchstart';
5404
5404
  var TOUCH_MOVE = 'touchmove';
5405
5405
  var TOUCH_END = 'touchend';
5406
5406
  var TOUCH_CANCEL = 'touchcancel';
5407
- var SCROLL = 'scroll';
5407
+ var SCROLL$1 = 'scroll';
5408
5408
  var SELECT = 'select';
5409
5409
  var SELECTION_CHANGE = 'selectionchange';
5410
5410
  function isStartish(eventType) {
@@ -5420,7 +5420,7 @@ function isCancelish(eventType) {
5420
5420
  return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;
5421
5421
  }
5422
5422
  function isScroll(eventType) {
5423
- return eventType === SCROLL;
5423
+ return eventType === SCROLL$1;
5424
5424
  }
5425
5425
  function isSelectionChange(eventType) {
5426
5426
  return eventType === SELECT || eventType === SELECTION_CHANGE;
@@ -5791,7 +5791,7 @@ class ResponderTouchHistoryStore {
5791
5791
 
5792
5792
  /* ------------ TYPES ------------ */
5793
5793
 
5794
- var emptyObject$2 = {};
5794
+ var emptyObject$3 = {};
5795
5795
 
5796
5796
  /* ------------ IMPLEMENTATION ------------ */
5797
5797
 
@@ -5817,7 +5817,7 @@ var emptyResponder = {
5817
5817
  node: null
5818
5818
  };
5819
5819
  var responderListenersMap = new Map();
5820
- var isEmulatingMouseEvents = false;
5820
+ var isEmulatingMouseEvents$1 = false;
5821
5821
  var trackedTouchCount = 0;
5822
5822
  var currentResponder = {
5823
5823
  id: null,
@@ -5830,7 +5830,7 @@ function changeCurrentResponder(responder) {
5830
5830
  }
5831
5831
  function getResponderConfig(id) {
5832
5832
  var config = responderListenersMap.get(id);
5833
- return config != null ? config : emptyObject$2;
5833
+ return config != null ? config : emptyObject$3;
5834
5834
  }
5835
5835
 
5836
5836
  /**
@@ -5856,24 +5856,24 @@ function eventListener(domEvent) {
5856
5856
 
5857
5857
  // Flag when browser may produce emulated events
5858
5858
  if (eventType === 'touchstart') {
5859
- isEmulatingMouseEvents = true;
5859
+ isEmulatingMouseEvents$1 = true;
5860
5860
  }
5861
5861
  // Remove flag when browser will not produce emulated events
5862
5862
  if (eventType === 'touchmove' || trackedTouchCount > 1) {
5863
- isEmulatingMouseEvents = false;
5863
+ isEmulatingMouseEvents$1 = false;
5864
5864
  }
5865
5865
  // Ignore various events in particular circumstances
5866
5866
  if (
5867
5867
  // Ignore browser emulated mouse events
5868
- eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||
5868
+ eventType === 'mousedown' && isEmulatingMouseEvents$1 || eventType === 'mousemove' && isEmulatingMouseEvents$1 ||
5869
5869
  // Ignore mousemove if a mousedown didn't occur first
5870
5870
  eventType === 'mousemove' && trackedTouchCount < 1) {
5871
5871
  return;
5872
5872
  }
5873
5873
  // Remove flag after emulated events are finished
5874
- if (isEmulatingMouseEvents && eventType === 'mouseup') {
5874
+ if (isEmulatingMouseEvents$1 && eventType === 'mouseup') {
5875
5875
  if (trackedTouchCount === 0) {
5876
- isEmulatingMouseEvents = false;
5876
+ isEmulatingMouseEvents$1 = false;
5877
5877
  }
5878
5878
  return;
5879
5879
  }
@@ -6022,7 +6022,7 @@ function eventListener(domEvent) {
6022
6022
  onResponderTerminate(responderEvent);
6023
6023
  }
6024
6024
  changeCurrentResponder(emptyResponder);
6025
- isEmulatingMouseEvents = false;
6025
+ isEmulatingMouseEvents$1 = false;
6026
6026
  trackedTouchCount = 0;
6027
6027
  }
6028
6028
  }
@@ -6229,7 +6229,7 @@ function terminateResponder() {
6229
6229
  }
6230
6230
  changeCurrentResponder(emptyResponder);
6231
6231
  }
6232
- isEmulatingMouseEvents = false;
6232
+ isEmulatingMouseEvents$1 = false;
6233
6233
  trackedTouchCount = 0;
6234
6234
  }
6235
6235
 
@@ -6250,7 +6250,7 @@ function getResponderNode() {
6250
6250
  *
6251
6251
  */
6252
6252
 
6253
- var emptyObject$1 = {};
6253
+ var emptyObject$2 = {};
6254
6254
  var idCounter = 0;
6255
6255
  function useStable(getInitialValue) {
6256
6256
  var ref = React__namespace.useRef(null);
@@ -6261,7 +6261,7 @@ function useStable(getInitialValue) {
6261
6261
  }
6262
6262
  function useResponderEvents(hostRef, config) {
6263
6263
  if (config === void 0) {
6264
- config = emptyObject$1;
6264
+ config = emptyObject$2;
6265
6265
  }
6266
6266
  var id = useStable(() => idCounter++);
6267
6267
  var isAttachedRef = React__namespace.useRef(false);
@@ -6315,7 +6315,7 @@ function useResponderEvents(hostRef, config) {
6315
6315
  var TextAncestorContext = /*#__PURE__*/React.createContext(false);
6316
6316
  var TextAncestorContext$1 = TextAncestorContext;
6317
6317
 
6318
- var _excluded$b = ["hrefAttrs", "numberOfLines", "onClick", "onLayout", "onPress", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture", "selectable"];
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"];
6319
6319
  var forwardPropsList$1 = Object.assign({}, defaultProps, accessibilityProps, clickProps, focusProps, keyboardProps, mouseProps, touchProps, styleProps, {
6320
6320
  href: true,
6321
6321
  lang: true,
@@ -6345,7 +6345,7 @@ var Text$2 = /*#__PURE__*/React__namespace.forwardRef((props, forwardedRef) => {
6345
6345
  onStartShouldSetResponder = props.onStartShouldSetResponder,
6346
6346
  onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,
6347
6347
  selectable = props.selectable,
6348
- rest = _objectWithoutPropertiesLoose(props, _excluded$b);
6348
+ rest = _objectWithoutPropertiesLoose(props, _excluded$c);
6349
6349
  if (selectable != null) {
6350
6350
  warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');
6351
6351
  }
@@ -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$u.textHasAncestor$raw : styles$u.text$raw, numberOfLines === 1 && styles$u.textOneLine, numberOfLines != null && numberOfLines > 1 && styles$u.textMultiLine, props.style, selectable === true && styles$u.selectable, selectable === false && styles$u.notSelectable, onPress && styles$u.pressable];
6398
+ }, hasTextAncestor === true ? styles$v.textHasAncestor$raw : styles$v.text$raw, numberOfLines === 1 && styles$v.textOneLine, numberOfLines != null && numberOfLines > 1 && styles$v.textMultiLine, props.style, selectable === true && styles$v.selectable, selectable === false && styles$v.notSelectable, onPress && styles$v.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$u = StyleSheet$1.create({
6443
+ var styles$v = StyleSheet$1.create({
6444
6444
  text$raw: textStyle,
6445
6445
  textHasAncestor$raw: _objectSpread2(_objectSpread2({}, textStyle), {}, {
6446
6446
  color: 'inherit',
@@ -7010,7 +7010,7 @@ function usePressEvents(hostRef, config) {
7010
7010
  return pressResponder.getEventHandlers();
7011
7011
  }
7012
7012
 
7013
- var _excluded$a = ["hrefAttrs", "onLayout", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture"];
7013
+ var _excluded$b = ["hrefAttrs", "onLayout", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture"];
7014
7014
  var forwardPropsList = Object.assign({}, defaultProps, accessibilityProps, clickProps, focusProps, keyboardProps, mouseProps, touchProps, styleProps, {
7015
7015
  href: true,
7016
7016
  lang: true,
@@ -7038,7 +7038,7 @@ var View$1 = /*#__PURE__*/React__namespace.forwardRef((props, forwardedRef) => {
7038
7038
  onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,
7039
7039
  onStartShouldSetResponder = props.onStartShouldSetResponder,
7040
7040
  onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,
7041
- rest = _objectWithoutPropertiesLoose(props, _excluded$a);
7041
+ rest = _objectWithoutPropertiesLoose(props, _excluded$b);
7042
7042
  if (process.env.NODE_ENV !== 'production') {
7043
7043
  React__namespace.Children.toArray(props.children).forEach(item => {
7044
7044
  if (typeof item === 'string') {
@@ -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$t.view$raw, hasTextAncestor && styles$t.inline, props.style];
7078
+ supportedProps.style = [styles$u.view$raw, hasTextAncestor && styles$u.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$t = StyleSheet$1.create({
7104
+ var styles$u = StyleSheet$1.create({
7105
7105
  view$raw: {
7106
7106
  alignItems: 'stretch',
7107
7107
  backgroundColor: 'transparent',
@@ -7136,7 +7136,7 @@ var View$2 = View$1;
7136
7136
  * @format
7137
7137
  */
7138
7138
 
7139
- var _excluded$9 = ["activeOpacity", "delayPressIn", "delayPressOut", "delayLongPress", "disabled", "focusable", "onLongPress", "onPress", "onPressIn", "onPressOut", "rejectResponderTermination", "style"];
7139
+ var _excluded$a = ["activeOpacity", "delayPressIn", "delayPressOut", "delayLongPress", "disabled", "focusable", "onLongPress", "onPress", "onPressIn", "onPressOut", "rejectResponderTermination", "style"];
7140
7140
  /**
7141
7141
  * A wrapper for making views respond properly to touches.
7142
7142
  * On press down, the opacity of the wrapped view is decreased, dimming it.
@@ -7155,7 +7155,7 @@ function TouchableOpacity(props, forwardedRef) {
7155
7155
  onPressOut = props.onPressOut,
7156
7156
  rejectResponderTermination = props.rejectResponderTermination,
7157
7157
  style = props.style,
7158
- rest = _objectWithoutPropertiesLoose(props, _excluded$9);
7158
+ rest = _objectWithoutPropertiesLoose(props, _excluded$a);
7159
7159
  var hostRef = React.useRef(null);
7160
7160
  var setRef = useMergeRefs$1(forwardedRef, hostRef);
7161
7161
  var _useState = React.useState('0s'),
@@ -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$s.root, !disabled && styles$s.actionable, style, opacityOverride != null && {
7205
+ style: [styles$t.root, !disabled && styles$t.actionable, style, opacityOverride != null && {
7206
7206
  opacity: opacityOverride
7207
7207
  }, {
7208
7208
  transitionDuration: duration
7209
7209
  }]
7210
7210
  }));
7211
7211
  }
7212
- var styles$s = StyleSheet$1.create({
7212
+ var styles$t = StyleSheet$1.create({
7213
7213
  root: {
7214
7214
  transitionProperty: 'opacity',
7215
7215
  transitionDuration: '0.15s',
@@ -7307,6 +7307,44 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
7307
7307
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
7308
7308
  };
7309
7309
 
7310
+ var parseNavigationLink = function (link) {
7311
+ var result;
7312
+ if (link.startsWith('http://') || link.startsWith('https://') || link.startsWith('mailto:')) {
7313
+ result = {
7314
+ type: 'external',
7315
+ target: link
7316
+ };
7317
+ } else if (link.startsWith('#')) {
7318
+ result = {
7319
+ type: 'modal',
7320
+ target: link.slice(1)
7321
+ };
7322
+ } else {
7323
+ result = {
7324
+ type: 'internal',
7325
+ target: link
7326
+ };
7327
+ }
7328
+ return result;
7329
+ };
7330
+
7331
+ var useNavigation = function (config) {
7332
+ var handleNavigation = React.useCallback(function (link, ctaTarget) {
7333
+ var _a;
7334
+ var _b = parseNavigationLink(link),
7335
+ type = _b.type,
7336
+ target = _b.target;
7337
+ var windowTarget = ctaTarget === 'SAME_FRAME' ? '_self' : '_blank';
7338
+ if ((_a = config.navigationHandlers) === null || _a === void 0 ? void 0 : _a[type]) {
7339
+ return config.navigationHandlers[type]({
7340
+ target: target,
7341
+ windowTarget: windowTarget
7342
+ });
7343
+ }
7344
+ }, [config]);
7345
+ return handleNavigation;
7346
+ };
7347
+
7310
7348
  var baseUrl = 'https://api.staging.core.wlloyalty.net/v1';
7311
7349
  var useCreateRequestOptions = function (config) {
7312
7350
  return React.useCallback(function (options) {
@@ -7489,12 +7527,14 @@ var WllSdkContext = /*#__PURE__*/React.createContext(undefined);
7489
7527
  var WllSdkProvider = function (_a) {
7490
7528
  var children = _a.children,
7491
7529
  providedTheme = _a.theme,
7492
- config = _a.config;
7493
- var _b = React.useState(function () {
7530
+ config = _a.config,
7531
+ _b = _a.navigationConfig,
7532
+ navigationConfig = _b === void 0 ? {} : _b;
7533
+ var _c = React.useState(function () {
7494
7534
  return createTheme(providedTheme || {});
7495
7535
  }),
7496
- theme = _b[0],
7497
- setThemeState = _b[1];
7536
+ theme = _c[0],
7537
+ setThemeState = _c[1];
7498
7538
  var setTheme = React.useCallback(function (newTheme) {
7499
7539
  setThemeState(function (prevTheme) {
7500
7540
  return createTheme(__assign(__assign({}, prevTheme), newTheme));
@@ -7503,15 +7543,17 @@ var WllSdkProvider = function (_a) {
7503
7543
  var getGroupByID = useGetGroupByID(config);
7504
7544
  var getSectionByID = useGetSectionByID(config);
7505
7545
  var getTileByID = useGetTileByID(config);
7546
+ var handleNavigation = useNavigation(navigationConfig);
7506
7547
  var contextValue = React.useMemo(function () {
7507
7548
  return {
7508
7549
  theme: theme,
7509
7550
  setTheme: setTheme,
7510
7551
  getGroupByID: getGroupByID,
7511
7552
  getSectionByID: getSectionByID,
7512
- getTileByID: getTileByID
7553
+ getTileByID: getTileByID,
7554
+ handleNavigation: handleNavigation
7513
7555
  };
7514
- }, [theme, setTheme, getGroupByID, getSectionByID, getTileByID]);
7556
+ }, [theme, setTheme, getGroupByID, getSectionByID, getTileByID, handleNavigation]);
7515
7557
  return /*#__PURE__*/React.createElement(WllSdkContext.Provider, {
7516
7558
  value: contextValue
7517
7559
  }, children);
@@ -7602,7 +7644,7 @@ var dimensions = {
7602
7644
  width: 0
7603
7645
  }
7604
7646
  };
7605
- var listeners = {};
7647
+ var listeners$1 = {};
7606
7648
  var shouldInit = canUseDOM$1;
7607
7649
  function update() {
7608
7650
  if (!canUseDOM$1) {
@@ -7647,8 +7689,8 @@ function update() {
7647
7689
  }
7648
7690
  function handleResize() {
7649
7691
  update();
7650
- if (Array.isArray(listeners['change'])) {
7651
- listeners['change'].forEach(handler => handler(dimensions));
7692
+ if (Array.isArray(listeners$1['change'])) {
7693
+ listeners$1['change'].forEach(handler => handler(dimensions));
7652
7694
  }
7653
7695
  }
7654
7696
  class Dimensions {
@@ -7675,8 +7717,8 @@ class Dimensions {
7675
7717
  }
7676
7718
  }
7677
7719
  static addEventListener(type, handler) {
7678
- listeners[type] = listeners[type] || [];
7679
- listeners[type].push(handler);
7720
+ listeners$1[type] = listeners$1[type] || [];
7721
+ listeners$1[type].push(handler);
7680
7722
  return {
7681
7723
  remove: () => {
7682
7724
  this.removeEventListener(type, handler);
@@ -7684,8 +7726,8 @@ class Dimensions {
7684
7726
  };
7685
7727
  }
7686
7728
  static removeEventListener(type, handler) {
7687
- if (Array.isArray(listeners[type])) {
7688
- listeners[type] = listeners[type].filter(_handler => _handler !== handler);
7729
+ if (Array.isArray(listeners$1[type])) {
7730
+ listeners$1[type] = listeners$1[type].filter(_handler => _handler !== handler);
7689
7731
  }
7690
7732
  }
7691
7733
  }
@@ -7730,7 +7772,7 @@ function createVariantSystem(baseStyle, variantStyles) {
7730
7772
  };
7731
7773
  }
7732
7774
 
7733
- var styles$r = StyleSheet$1.create({
7775
+ var styles$s = StyleSheet$1.create({
7734
7776
  button: createResponsiveStyle({
7735
7777
  justifyContent: 'center',
7736
7778
  alignItems: 'center',
@@ -7745,7 +7787,7 @@ var styles$r = StyleSheet$1.create({
7745
7787
  fontSize: [12, 12, 18]
7746
7788
  })
7747
7789
  });
7748
- var useButtonStyles = createVariantSystem(styles$r.button, function (theme) {
7790
+ var useButtonStyles = createVariantSystem(styles$s.button, function (theme) {
7749
7791
  return {
7750
7792
  primary: {
7751
7793
  backgroundColor: theme.primary
@@ -7761,7 +7803,7 @@ var useButtonStyles = createVariantSystem(styles$r.button, function (theme) {
7761
7803
  }
7762
7804
  };
7763
7805
  });
7764
- var useTextStyles = createVariantSystem(styles$r.text, function (theme) {
7806
+ var useTextStyles = createVariantSystem(styles$s.text, function (theme) {
7765
7807
  return {
7766
7808
  primary: {
7767
7809
  color: theme.primaryText
@@ -7821,14 +7863,14 @@ var Column = function (_a) {
7821
7863
  _e = _a.style,
7822
7864
  style = _e === void 0 ? {} : _e;
7823
7865
  return /*#__PURE__*/React__namespace.createElement(View$2, {
7824
- style: [styles$q.column, {
7866
+ style: [styles$r.column, {
7825
7867
  justifyContent: justifyMap[justify],
7826
7868
  alignItems: alignMap[align],
7827
7869
  flexDirection: direction
7828
7870
  }, style]
7829
7871
  }, children);
7830
7872
  };
7831
- var styles$q = StyleSheet$1.create({
7873
+ var styles$r = StyleSheet$1.create({
7832
7874
  column: __assign({
7833
7875
  flex: 1
7834
7876
  }, createResponsiveStyle({
@@ -7858,7 +7900,7 @@ var Icon = function (_a) {
7858
7900
  }));
7859
7901
  };
7860
7902
 
7861
- var _excluded$8 = ["animating", "color", "hidesWhenStopped", "size", "style"];
7903
+ var _excluded$9 = ["animating", "color", "hidesWhenStopped", "size", "style"];
7862
7904
  var createSvgCircle = style => /*#__PURE__*/React__namespace.createElement("circle", {
7863
7905
  cx: "16",
7864
7906
  cy: "16",
@@ -7877,7 +7919,7 @@ var ActivityIndicator = /*#__PURE__*/React__namespace.forwardRef((props, forward
7877
7919
  _props$size = props.size,
7878
7920
  size = _props$size === void 0 ? 'small' : _props$size,
7879
7921
  style = props.style,
7880
- other = _objectWithoutPropertiesLoose(props, _excluded$8);
7922
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
7881
7923
  var svg = /*#__PURE__*/React__namespace.createElement("svg", {
7882
7924
  height: "100%",
7883
7925
  viewBox: "0 0 32 32",
@@ -7895,17 +7937,17 @@ var ActivityIndicator = /*#__PURE__*/React__namespace.forwardRef((props, forward
7895
7937
  "aria-valuemin": 0,
7896
7938
  ref: forwardedRef,
7897
7939
  role: "progressbar",
7898
- style: [styles$p.container, style]
7940
+ style: [styles$q.container, style]
7899
7941
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
7900
7942
  children: svg,
7901
7943
  style: [typeof size === 'number' ? {
7902
7944
  height: size,
7903
7945
  width: size
7904
- } : indicatorSizes[size], styles$p.animation, !animating && styles$p.animationPause, !animating && hidesWhenStopped && styles$p.hidesWhenStopped]
7946
+ } : indicatorSizes[size], styles$q.animation, !animating && styles$q.animationPause, !animating && hidesWhenStopped && styles$q.hidesWhenStopped]
7905
7947
  }));
7906
7948
  });
7907
7949
  ActivityIndicator.displayName = 'ActivityIndicator';
7908
- var styles$p = StyleSheet$1.create({
7950
+ var styles$q = StyleSheet$1.create({
7909
7951
  container: {
7910
7952
  alignItems: 'center',
7911
7953
  justifyContent: 'center'
@@ -7945,7 +7987,7 @@ var ActivityIndicator$1 = ActivityIndicator;
7945
7987
  var LoadingIndicator = function () {
7946
7988
  var theme = useWllSdk().theme;
7947
7989
  return /*#__PURE__*/React__namespace.createElement(View$2, {
7948
- style: [styles$o.container, {
7990
+ style: [styles$p.container, {
7949
7991
  borderRadius: theme.sizes.borderRadiusSm,
7950
7992
  padding: theme.sizes.md
7951
7993
  }]
@@ -7954,7 +7996,7 @@ var LoadingIndicator = function () {
7954
7996
  color: theme.primary
7955
7997
  }));
7956
7998
  };
7957
- var styles$o = StyleSheet$1.create({
7999
+ var styles$p = StyleSheet$1.create({
7958
8000
  container: {
7959
8001
  width: '100%',
7960
8002
  height: '100%',
@@ -8089,7 +8131,7 @@ function _createForOfIteratorHelperLoose(r, e) {
8089
8131
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
8090
8132
  }
8091
8133
 
8092
- var _excluded$7 = ["colors", "enabled", "onRefresh", "progressBackgroundColor", "progressViewOffset", "refreshing", "size", "tintColor", "title", "titleColor"];
8134
+ var _excluded$8 = ["colors", "enabled", "onRefresh", "progressBackgroundColor", "progressViewOffset", "refreshing", "size", "tintColor", "title", "titleColor"];
8093
8135
  function RefreshControl(props) {
8094
8136
  props.colors;
8095
8137
  props.enabled;
@@ -8101,7 +8143,7 @@ function RefreshControl(props) {
8101
8143
  props.tintColor;
8102
8144
  props.title;
8103
8145
  props.titleColor;
8104
- var rest = _objectWithoutPropertiesLoose(props, _excluded$7);
8146
+ var rest = _objectWithoutPropertiesLoose(props, _excluded$8);
8105
8147
  return /*#__PURE__*/React.createElement(View$2, rest);
8106
8148
  }
8107
8149
 
@@ -8179,7 +8221,7 @@ var dismissKeyboard = () => {
8179
8221
  };
8180
8222
  var dismissKeyboard$1 = dismissKeyboard;
8181
8223
 
8182
- var _excluded$6 = ["onScroll", "onTouchMove", "onWheel", "scrollEnabled", "scrollEventThrottle", "showsHorizontalScrollIndicator", "showsVerticalScrollIndicator", "style"];
8224
+ var _excluded$7 = ["onScroll", "onTouchMove", "onWheel", "scrollEnabled", "scrollEventThrottle", "showsHorizontalScrollIndicator", "showsVerticalScrollIndicator", "style"];
8183
8225
  function normalizeScrollEvent(e) {
8184
8226
  return {
8185
8227
  nativeEvent: {
@@ -8230,7 +8272,7 @@ var ScrollViewBase = /*#__PURE__*/React__namespace.forwardRef((props, forwardedR
8230
8272
  showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,
8231
8273
  showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,
8232
8274
  style = props.style,
8233
- rest = _objectWithoutPropertiesLoose(props, _excluded$6);
8275
+ rest = _objectWithoutPropertiesLoose(props, _excluded$7);
8234
8276
  var scrollState = React__namespace.useRef({
8235
8277
  isScrolling: false,
8236
8278
  scrollLastTick: 0
@@ -8290,14 +8332,14 @@ var ScrollViewBase = /*#__PURE__*/React__namespace.forwardRef((props, forwardedR
8290
8332
  onTouchMove: createPreventableScrollHandler(onTouchMove),
8291
8333
  onWheel: createPreventableScrollHandler(onWheel),
8292
8334
  ref: useMergeRefs$1(scrollRef, forwardedRef),
8293
- style: [style, !scrollEnabled && styles$n.scrollDisabled, hideScrollbar && styles$n.hideScrollbar]
8335
+ style: [style, !scrollEnabled && styles$o.scrollDisabled, hideScrollbar && styles$o.hideScrollbar]
8294
8336
  }));
8295
8337
  });
8296
8338
 
8297
8339
  // Chrome doesn't support e.preventDefault in this case; touch-action must be
8298
8340
  // used to disable scrolling.
8299
8341
  // https://developers.google.com/web/updates/2017/01/scrolling-intervention
8300
- var styles$n = StyleSheet$1.create({
8342
+ var styles$o = StyleSheet$1.create({
8301
8343
  scrollDisabled: {
8302
8344
  overflowX: 'hidden',
8303
8345
  overflowY: 'hidden',
@@ -8329,22 +8371,22 @@ function makeEmptyFunction(arg) {
8329
8371
  */
8330
8372
 
8331
8373
 
8332
- var emptyFunction$1 = function emptyFunction() {};
8374
+ var emptyFunction$2 = function emptyFunction() {};
8333
8375
 
8334
- emptyFunction$1.thatReturns = makeEmptyFunction;
8335
- emptyFunction$1.thatReturnsFalse = makeEmptyFunction(false);
8336
- emptyFunction$1.thatReturnsTrue = makeEmptyFunction(true);
8337
- emptyFunction$1.thatReturnsNull = makeEmptyFunction(null);
8376
+ emptyFunction$2.thatReturns = makeEmptyFunction;
8377
+ emptyFunction$2.thatReturnsFalse = makeEmptyFunction(false);
8378
+ emptyFunction$2.thatReturnsTrue = makeEmptyFunction(true);
8379
+ emptyFunction$2.thatReturnsNull = makeEmptyFunction(null);
8338
8380
 
8339
- emptyFunction$1.thatReturnsThis = function () {
8381
+ emptyFunction$2.thatReturnsThis = function () {
8340
8382
  return this;
8341
8383
  };
8342
8384
 
8343
- emptyFunction$1.thatReturnsArgument = function (arg) {
8385
+ emptyFunction$2.thatReturnsArgument = function (arg) {
8344
8386
  return arg;
8345
8387
  };
8346
8388
 
8347
- var emptyFunction_1 = emptyFunction$1;
8389
+ var emptyFunction_1 = emptyFunction$2;
8348
8390
 
8349
8391
  /**
8350
8392
  * Copyright (c) 2014-present, Facebook, Inc.
@@ -8354,7 +8396,7 @@ var emptyFunction_1 = emptyFunction$1;
8354
8396
  *
8355
8397
  */
8356
8398
 
8357
- var emptyFunction = emptyFunction_1;
8399
+ var emptyFunction$1 = emptyFunction_1;
8358
8400
  /**
8359
8401
  * Similar to invariant but only logs a warning if the condition is not met.
8360
8402
  * This can be used to log issues in development environments in critical
@@ -8397,13 +8439,13 @@ var warning = process.env.NODE_ENV !== "production" ? function (condition, forma
8397
8439
 
8398
8440
  printWarning.apply(void 0, [format].concat(args));
8399
8441
  }
8400
- } : emptyFunction;
8442
+ } : emptyFunction$1;
8401
8443
  var warning_1 = warning;
8402
8444
 
8403
8445
  var warning$1 = /*@__PURE__*/getDefaultExportFromCjs(warning_1);
8404
8446
 
8405
- var _excluded$5 = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"];
8406
- var emptyObject = {};
8447
+ var _excluded$6 = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"];
8448
+ var emptyObject$1 = {};
8407
8449
  var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
8408
8450
  let ScrollView$1 = class ScrollView extends React.Component {
8409
8451
  constructor() {
@@ -8487,7 +8529,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
8487
8529
  if (typeof x === 'number') {
8488
8530
  console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');
8489
8531
  } else {
8490
- var _ref = x || emptyObject;
8532
+ var _ref = x || emptyObject$1;
8491
8533
  x = _ref.x;
8492
8534
  y = _ref.y;
8493
8535
  animated = _ref.animated;
@@ -8582,7 +8624,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
8582
8624
  if (typeof y === 'number') {
8583
8625
  console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');
8584
8626
  } else {
8585
- var _ref2 = y || emptyObject;
8627
+ var _ref2 = y || emptyObject$1;
8586
8628
  x = _ref2.x;
8587
8629
  y = _ref2.y;
8588
8630
  animated = _ref2.animated;
@@ -8919,7 +8961,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
8919
8961
  _this$props.keyboardDismissMode;
8920
8962
  _this$props.onScroll;
8921
8963
  var centerContent = _this$props.centerContent,
8922
- other = _objectWithoutPropertiesLoose(_this$props, _excluded$5);
8964
+ other = _objectWithoutPropertiesLoose(_this$props, _excluded$6);
8923
8965
  if (process.env.NODE_ENV !== 'production' && this.props.style) {
8924
8966
  var style = StyleSheet$1.flatten(this.props.style);
8925
8967
  var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);
@@ -8936,7 +8978,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
8936
8978
  var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;
8937
8979
  if (child != null && (isSticky || pagingEnabled)) {
8938
8980
  return /*#__PURE__*/React.createElement(View$2, {
8939
- style: [isSticky && styles$m.stickyHeader, pagingEnabled && styles$m.pagingEnabledChild]
8981
+ style: [isSticky && styles$n.stickyHeader, pagingEnabled && styles$n.pagingEnabledChild]
8940
8982
  }, child);
8941
8983
  } else {
8942
8984
  return child;
@@ -8946,10 +8988,10 @@ let ScrollView$1 = class ScrollView extends React.Component {
8946
8988
  children: children,
8947
8989
  collapsable: false,
8948
8990
  ref: this._setInnerViewRef,
8949
- style: [horizontal && styles$m.contentContainerHorizontal, centerContent && styles$m.contentContainerCenterContent, contentContainerStyle]
8991
+ style: [horizontal && styles$n.contentContainerHorizontal, centerContent && styles$n.contentContainerCenterContent, contentContainerStyle]
8950
8992
  }));
8951
- var baseStyle = horizontal ? styles$m.baseHorizontal : styles$m.baseVertical;
8952
- var pagingEnabledStyle = horizontal ? styles$m.pagingEnabledHorizontal : styles$m.pagingEnabledVertical;
8993
+ var baseStyle = horizontal ? styles$n.baseHorizontal : styles$n.baseVertical;
8994
+ var pagingEnabledStyle = horizontal ? styles$n.pagingEnabledHorizontal : styles$n.pagingEnabledVertical;
8953
8995
  var props = _objectSpread2(_objectSpread2({}, other), {}, {
8954
8996
  style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],
8955
8997
  onTouchStart: this.scrollResponderHandleTouchStart,
@@ -8992,7 +9034,7 @@ var commonStyle = {
8992
9034
  // iOS native scrolling
8993
9035
  WebkitOverflowScrolling: 'touch'
8994
9036
  };
8995
- var styles$m = StyleSheet$1.create({
9037
+ var styles$n = StyleSheet$1.create({
8996
9038
  baseVertical: _objectSpread2(_objectSpread2({}, commonStyle), {}, {
8997
9039
  flexDirection: 'column',
8998
9040
  overflowX: 'hidden',
@@ -10205,7 +10247,7 @@ class CellRenderer extends React__namespace.Component {
10205
10247
  ItemSeparatorComponent :
10206
10248
  // $FlowFixMe[incompatible-type]
10207
10249
  ItemSeparatorComponent && /*#__PURE__*/React__namespace.createElement(ItemSeparatorComponent, this.state.separatorProps);
10208
- var cellStyle = inversionStyle ? horizontal ? [styles$l.rowReverse, inversionStyle] : [styles$l.columnReverse, inversionStyle] : horizontal ? [styles$l.row, inversionStyle] : inversionStyle;
10250
+ var cellStyle = inversionStyle ? horizontal ? [styles$m.rowReverse, inversionStyle] : [styles$m.columnReverse, inversionStyle] : horizontal ? [styles$m.row, inversionStyle] : inversionStyle;
10209
10251
  var result = !CellRendererComponent ? /*#__PURE__*/React__namespace.createElement(View$2, _extends$1({
10210
10252
  style: cellStyle,
10211
10253
  onFocusCapture: onCellFocusCapture
@@ -10225,7 +10267,7 @@ class CellRenderer extends React__namespace.Component {
10225
10267
  }, result);
10226
10268
  }
10227
10269
  }
10228
- var styles$l = StyleSheet$1.create({
10270
+ var styles$m = StyleSheet$1.create({
10229
10271
  row: {
10230
10272
  flexDirection: 'row'
10231
10273
  },
@@ -11405,7 +11447,7 @@ class VirtualizedList extends StateSafePureComponent {
11405
11447
  var _this$props6 = this.props,
11406
11448
  data = _this$props6.data,
11407
11449
  horizontal = _this$props6.horizontal;
11408
- var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$k.horizontallyInverted : styles$k.verticallyInverted : null;
11450
+ var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles$l.horizontallyInverted : styles$l.verticallyInverted : null;
11409
11451
  var cells = [];
11410
11452
  var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
11411
11453
  var stickyHeaderIndices = [];
@@ -11569,7 +11611,7 @@ class VirtualizedList extends StateSafePureComponent {
11569
11611
  }*/
11570
11612
  if (this.props.debug) {
11571
11613
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11572
- style: styles$k.debug
11614
+ style: styles$l.debug
11573
11615
  }, ret, this._renderDebugOverlay());
11574
11616
  } else {
11575
11617
  return ret;
@@ -11686,20 +11728,20 @@ class VirtualizedList extends StateSafePureComponent {
11686
11728
  var visTop = this._scrollMetrics.offset;
11687
11729
  var visLen = this._scrollMetrics.visibleLength;
11688
11730
  return /*#__PURE__*/React__namespace.createElement(View$2, {
11689
- style: [styles$k.debugOverlayBase, styles$k.debugOverlay]
11731
+ style: [styles$l.debugOverlayBase, styles$l.debugOverlay]
11690
11732
  }, framesInLayout.map((f, ii) => /*#__PURE__*/React__namespace.createElement(View$2, {
11691
11733
  key: 'f' + ii,
11692
- style: [styles$k.debugOverlayBase, styles$k.debugOverlayFrame, {
11734
+ style: [styles$l.debugOverlayBase, styles$l.debugOverlayFrame, {
11693
11735
  top: f.offset * normalize,
11694
11736
  height: f.length * normalize
11695
11737
  }]
11696
11738
  })), /*#__PURE__*/React__namespace.createElement(View$2, {
11697
- style: [styles$k.debugOverlayBase, styles$k.debugOverlayFrameLast, {
11739
+ style: [styles$l.debugOverlayBase, styles$l.debugOverlayFrameLast, {
11698
11740
  top: windowTop * normalize,
11699
11741
  height: windowLen * normalize
11700
11742
  }]
11701
11743
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
11702
- style: [styles$k.debugOverlayBase, styles$k.debugOverlayFrameVis, {
11744
+ style: [styles$l.debugOverlayBase, styles$l.debugOverlayFrameVis, {
11703
11745
  top: visTop * normalize,
11704
11746
  height: visLen * normalize
11705
11747
  }]
@@ -11840,7 +11882,7 @@ class VirtualizedList extends StateSafePureComponent {
11840
11882
  }
11841
11883
  }
11842
11884
  VirtualizedList.contextType = VirtualizedListContext;
11843
- var styles$k = StyleSheet$1.create({
11885
+ var styles$l = StyleSheet$1.create({
11844
11886
  verticallyInverted: {
11845
11887
  transform: 'scaleY(-1)'
11846
11888
  },
@@ -11928,7 +11970,7 @@ function memoizeOne(resultFn, isEqual) {
11928
11970
  return memoized;
11929
11971
  }
11930
11972
 
11931
- var _excluded$4 = ["numColumns", "columnWrapperStyle", "removeClippedSubviews", "strictMode"];
11973
+ var _excluded$5 = ["numColumns", "columnWrapperStyle", "removeClippedSubviews", "strictMode"];
11932
11974
  /**
11933
11975
  * Default Props Helper Functions
11934
11976
  * Use the following helper functions for default values
@@ -12217,7 +12259,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12217
12259
  _index = info.index;
12218
12260
  invariant$1(Array.isArray(_item2), 'Expected array of items with numColumns > 1');
12219
12261
  return /*#__PURE__*/React__namespace.createElement(View$2, {
12220
- style: [styles$j.row, columnWrapperStyle]
12262
+ style: [styles$k.row, columnWrapperStyle]
12221
12263
  }, _item2.map((it, kk) => {
12222
12264
  var element = render({
12223
12265
  // $FlowFixMe[incompatible-call]
@@ -12327,7 +12369,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12327
12369
  _removeClippedSubviews = _this$props.removeClippedSubviews,
12328
12370
  _this$props$strictMod = _this$props.strictMode,
12329
12371
  strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,
12330
- restProps = _objectWithoutPropertiesLoose(_this$props, _excluded$4);
12372
+ restProps = _objectWithoutPropertiesLoose(_this$props, _excluded$5);
12331
12373
  var renderer = strictMode ? this._memoizedRenderer : this._renderer;
12332
12374
  return (
12333
12375
  /*#__PURE__*/
@@ -12343,7 +12385,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
12343
12385
  );
12344
12386
  }
12345
12387
  };
12346
- var styles$j = StyleSheet$1.create({
12388
+ var styles$k = StyleSheet$1.create({
12347
12389
  row: {
12348
12390
  flexDirection: 'row'
12349
12391
  }
@@ -14312,7 +14354,7 @@ function useMergeRefs() {
14312
14354
  );
14313
14355
  }
14314
14356
 
14315
- var _excluded$3 = ["style"];
14357
+ var _excluded$4 = ["style"];
14316
14358
  /**
14317
14359
  * Experimental implementation of `createAnimatedComponent` that is intended to
14318
14360
  * be compatible with concurrent rendering.
@@ -14333,7 +14375,7 @@ function createAnimatedComponent(Component) {
14333
14375
  style = reducedProps.style;
14334
14376
  var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},
14335
14377
  passthroughStyle = _ref.style,
14336
- passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded$3);
14378
+ passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded$4);
14337
14379
  var mergedStyle = [style, passthroughStyle];
14338
14380
  return /*#__PURE__*/React__namespace.createElement(Component, _extends$1({}, reducedProps, passthroughProps, {
14339
14381
  style: mergedStyle,
@@ -14560,7 +14602,7 @@ class PixelRatio {
14560
14602
  }
14561
14603
  }
14562
14604
 
14563
- var _excluded$2 = ["aria-label", "accessibilityLabel", "blurRadius", "defaultSource", "draggable", "onError", "onLayout", "onLoad", "onLoadEnd", "onLoadStart", "pointerEvents", "source", "style"];
14605
+ var _excluded$3 = ["aria-label", "accessibilityLabel", "blurRadius", "defaultSource", "draggable", "onError", "onLayout", "onLoad", "onLoadEnd", "onLoadStart", "pointerEvents", "source", "style"];
14564
14606
  var ERRORED = 'ERRORED';
14565
14607
  var LOADED = 'LOADED';
14566
14608
  var LOADING = 'LOADING';
@@ -14688,7 +14730,7 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14688
14730
  pointerEvents = props.pointerEvents,
14689
14731
  source = props.source,
14690
14732
  style = props.style,
14691
- rest = _objectWithoutPropertiesLoose(props, _excluded$2);
14733
+ rest = _objectWithoutPropertiesLoose(props, _excluded$3);
14692
14734
  var ariaLabel = _ariaLabel || accessibilityLabel;
14693
14735
  if (process.env.NODE_ENV !== 'production') {
14694
14736
  if (props.children) {
@@ -14730,7 +14772,7 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14730
14772
  // Accessibility image allows users to trigger the browser's image context menu
14731
14773
  var hiddenImage = displayImageUri ? createElement$1('img', {
14732
14774
  alt: ariaLabel || '',
14733
- style: styles$i.accessibilityImage$raw,
14775
+ style: styles$j.accessibilityImage$raw,
14734
14776
  draggable: draggable || false,
14735
14777
  ref: hiddenImageRef,
14736
14778
  src: displayImageUri
@@ -14802,14 +14844,14 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
14802
14844
  onLayout: handleLayout,
14803
14845
  pointerEvents: pointerEvents,
14804
14846
  ref: ref,
14805
- style: [styles$i.root, hasTextAncestor && styles$i.inline, imageSizeStyle, style, styles$i.undo,
14847
+ style: [styles$j.root, hasTextAncestor && styles$j.inline, imageSizeStyle, style, styles$j.undo,
14806
14848
  // TEMP: avoid deprecated shadow props regression
14807
14849
  // until Image refactored to use createElement.
14808
14850
  {
14809
14851
  boxShadow: null
14810
14852
  }]
14811
14853
  }), /*#__PURE__*/React__namespace.createElement(View$2, {
14812
- style: [styles$i.image, resizeModeStyles[resizeMode], {
14854
+ style: [styles$j.image, resizeModeStyles[resizeMode], {
14813
14855
  backgroundImage,
14814
14856
  filter
14815
14857
  }, backgroundSize != null && {
@@ -14831,7 +14873,7 @@ ImageWithStatics.prefetch = function (uri) {
14831
14873
  ImageWithStatics.queryCache = function (uris) {
14832
14874
  return ImageLoader$1.queryCache(uris);
14833
14875
  };
14834
- var styles$i = StyleSheet$1.create({
14876
+ var styles$j = StyleSheet$1.create({
14835
14877
  root: {
14836
14878
  flexBasis: 'auto',
14837
14879
  overflow: 'hidden',
@@ -14916,7 +14958,7 @@ var ScrollViewWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((prop
14916
14958
  })));
14917
14959
  var ScrollView = createAnimatedComponent(ScrollViewWithEventThrottle);
14918
14960
 
14919
- var _excluded$1 = ["ItemSeparatorComponent", "SectionSeparatorComponent", "renderItem", "renderSectionFooter", "renderSectionHeader", "sections", "stickySectionHeadersEnabled"];
14961
+ var _excluded$2 = ["ItemSeparatorComponent", "SectionSeparatorComponent", "renderItem", "renderSectionFooter", "renderSectionHeader", "sections", "stickySectionHeadersEnabled"];
14920
14962
  /**
14921
14963
  * Right now this just flattens everything into one list and uses VirtualizedList under the
14922
14964
  * hood. The only operation that might not scale well is concatting the data arrays of all the
@@ -15073,7 +15115,7 @@ class VirtualizedSectionList extends React__namespace.PureComponent {
15073
15115
  _this$props.renderSectionHeader;
15074
15116
  _this$props.sections;
15075
15117
  _this$props.stickySectionHeadersEnabled;
15076
- var passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded$1);
15118
+ var passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded$2);
15077
15119
  var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;
15078
15120
  var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;
15079
15121
  var itemCount = 0;
@@ -15293,7 +15335,7 @@ var VirtualizedSectionList$1 = VirtualizedSectionList;
15293
15335
  * @format
15294
15336
  */
15295
15337
 
15296
- var _excluded = ["stickySectionHeadersEnabled"];
15338
+ var _excluded$1 = ["stickySectionHeadersEnabled"];
15297
15339
  /**
15298
15340
  * A performant interface for rendering sectioned lists, supporting the most handy features:
15299
15341
  *
@@ -15410,7 +15452,7 @@ let SectionList$1 = class SectionList extends React__namespace.PureComponent {
15410
15452
  render() {
15411
15453
  var _this$props = this.props,
15412
15454
  _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,
15413
- restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);
15455
+ restProps = _objectWithoutPropertiesLoose(_this$props, _excluded$1);
15414
15456
  var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform$1.OS === 'ios';
15415
15457
  return /*#__PURE__*/React__namespace.createElement(VirtualizedSectionList$1, _extends$1({}, restProps, {
15416
15458
  stickySectionHeadersEnabled: stickySectionHeadersEnabled,
@@ -17935,7 +17977,7 @@ function _extends() {
17935
17977
  }, _extends.apply(null, arguments);
17936
17978
  }
17937
17979
 
17938
- var styles$h = StyleSheet$1.create({
17980
+ var styles$i = StyleSheet$1.create({
17939
17981
  imageOverlay: {
17940
17982
  position: 'absolute',
17941
17983
  left: 0,
@@ -17970,25 +18012,25 @@ var ProgressiveImage = function (_a) {
17970
18012
  var baseColor = theme.alphaDerivedPrimary[20];
17971
18013
  var desaturatedColor = desaturateColor(baseColor);
17972
18014
  return /*#__PURE__*/React.createElement(View$2, {
17973
- style: [styles$h.container, style, {
18015
+ style: [styles$i.container, style, {
17974
18016
  backgroundColor: isDesaturated ? desaturatedColor : baseColor
17975
18017
  }]
17976
18018
  }, isDesaturated ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
17977
18019
  source: source,
17978
- style: [styles$h.imageOverlay, {
18020
+ style: [styles$i.imageOverlay, {
17979
18021
  opacity: imageAnimated,
17980
18022
  tintColor: desaturatedColor
17981
18023
  }],
17982
18024
  onLoad: onImageLoad
17983
18025
  })), /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
17984
18026
  source: source,
17985
- style: [styles$h.imageOverlay, {
18027
+ style: [styles$i.imageOverlay, {
17986
18028
  opacity: 0.1
17987
18029
  }],
17988
18030
  onLoad: onImageLoad
17989
18031
  }))) : /*#__PURE__*/React.createElement(Animated$1.Image, _extends({}, props, {
17990
18032
  source: source,
17991
- style: [styles$h.imageOverlay, {
18033
+ style: [styles$i.imageOverlay, {
17992
18034
  opacity: imageAnimated
17993
18035
  }],
17994
18036
  onLoad: onImageLoad
@@ -18000,10 +18042,10 @@ var RowHeader = function (_a) {
18000
18042
  style = _a.style,
18001
18043
  props = __rest(_a, ["children", "style"]);
18002
18044
  return /*#__PURE__*/React__namespace.createElement(View$2, _extends({
18003
- style: [styles$g.header, style]
18045
+ style: [styles$h.header, style]
18004
18046
  }, props), children);
18005
18047
  };
18006
- var styles$g = StyleSheet$1.create({
18048
+ var styles$h = StyleSheet$1.create({
18007
18049
  header: createResponsiveStyle({
18008
18050
  flexDirection: 'row',
18009
18051
  alignItems: 'center',
@@ -18065,13 +18107,605 @@ var Text = function (_a) {
18065
18107
  };
18066
18108
  var variantStyle = getVariantStyle(variant);
18067
18109
  return /*#__PURE__*/React__namespace.createElement(Text$3, _extends({
18068
- style: [styles$f.base, variantStyle, style]
18110
+ style: [styles$g.base, variantStyle, style]
18069
18111
  }, props));
18070
18112
  };
18071
- var styles$f = StyleSheet$1.create({
18113
+ var styles$g = StyleSheet$1.create({
18072
18114
  base: {}
18073
18115
  });
18074
18116
 
18117
+ /**
18118
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
18119
+ *
18120
+ * This source code is licensed under the MIT license found in the
18121
+ * LICENSE file in the root directory of this source tree.
18122
+ *
18123
+ *
18124
+ */
18125
+
18126
+ var emptyFunction = () => {};
18127
+ function supportsPassiveEvents() {
18128
+ var supported = false;
18129
+ // Check if browser supports event with passive listeners
18130
+ // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support
18131
+ if (canUseDOM$1) {
18132
+ try {
18133
+ var options = {};
18134
+ Object.defineProperty(options, 'passive', {
18135
+ get() {
18136
+ supported = true;
18137
+ return false;
18138
+ }
18139
+ });
18140
+ window.addEventListener('test', null, options);
18141
+ window.removeEventListener('test', null, options);
18142
+ } catch (e) {}
18143
+ }
18144
+ return supported;
18145
+ }
18146
+ var canUsePassiveEvents = supportsPassiveEvents();
18147
+ function getOptions(options) {
18148
+ if (options == null) {
18149
+ return false;
18150
+ }
18151
+ return canUsePassiveEvents ? options : Boolean(options.capture);
18152
+ }
18153
+
18154
+ /**
18155
+ * Shim generic API compatibility with ReactDOM's synthetic events, without needing the
18156
+ * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic
18157
+ * event wrapper at all.
18158
+ */
18159
+ function isPropagationStopped() {
18160
+ return this.cancelBubble;
18161
+ }
18162
+ function isDefaultPrevented() {
18163
+ return this.defaultPrevented;
18164
+ }
18165
+ function normalizeEvent(event) {
18166
+ event.nativeEvent = event;
18167
+ event.persist = emptyFunction;
18168
+ event.isDefaultPrevented = isDefaultPrevented;
18169
+ event.isPropagationStopped = isPropagationStopped;
18170
+ return event;
18171
+ }
18172
+
18173
+ /**
18174
+ *
18175
+ */
18176
+ function addEventListener(target, type, listener, options) {
18177
+ var opts = getOptions(options);
18178
+ var compatListener = e => listener(normalizeEvent(e));
18179
+ target.addEventListener(type, compatListener, opts);
18180
+ return function removeEventListener() {
18181
+ if (target != null) {
18182
+ target.removeEventListener(type, compatListener, opts);
18183
+ }
18184
+ };
18185
+ }
18186
+
18187
+ /**
18188
+ * Copyright (c) Nicolas Gallagher.
18189
+ *
18190
+ * This source code is licensed under the MIT license found in the
18191
+ * LICENSE file in the root directory of this source tree.
18192
+ *
18193
+ *
18194
+ */
18195
+
18196
+ var supportsPointerEvent$1 = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);
18197
+ var activeModality = 'keyboard';
18198
+ var modality = 'keyboard';
18199
+ var previousModality;
18200
+ var previousActiveModality;
18201
+ var isEmulatingMouseEvents = false;
18202
+ var listeners = new Set();
18203
+ var KEYBOARD = 'keyboard';
18204
+ var MOUSE = 'mouse';
18205
+ var TOUCH = 'touch';
18206
+ var BLUR = 'blur';
18207
+ var CONTEXTMENU = 'contextmenu';
18208
+ var FOCUS = 'focus';
18209
+ var KEYDOWN = 'keydown';
18210
+ var MOUSEDOWN = 'mousedown';
18211
+ var MOUSEMOVE = 'mousemove';
18212
+ var MOUSEUP = 'mouseup';
18213
+ var POINTERDOWN = 'pointerdown';
18214
+ var POINTERMOVE = 'pointermove';
18215
+ var SCROLL = 'scroll';
18216
+ var SELECTIONCHANGE = 'selectionchange';
18217
+ var TOUCHCANCEL = 'touchcancel';
18218
+ var TOUCHMOVE = 'touchmove';
18219
+ var TOUCHSTART = 'touchstart';
18220
+ var VISIBILITYCHANGE = 'visibilitychange';
18221
+ var bubbleOptions = {
18222
+ passive: true
18223
+ };
18224
+ var captureOptions = {
18225
+ capture: true,
18226
+ passive: true
18227
+ };
18228
+ function restoreModality() {
18229
+ if (previousModality != null || previousActiveModality != null) {
18230
+ if (previousModality != null) {
18231
+ modality = previousModality;
18232
+ previousModality = null;
18233
+ }
18234
+ if (previousActiveModality != null) {
18235
+ activeModality = previousActiveModality;
18236
+ previousActiveModality = null;
18237
+ }
18238
+ callListeners();
18239
+ }
18240
+ }
18241
+ function onBlurWindow() {
18242
+ previousModality = modality;
18243
+ previousActiveModality = activeModality;
18244
+ activeModality = KEYBOARD;
18245
+ modality = KEYBOARD;
18246
+ callListeners();
18247
+ // for fallback events
18248
+ isEmulatingMouseEvents = false;
18249
+ }
18250
+ function onFocusWindow() {
18251
+ restoreModality();
18252
+ }
18253
+ function onKeyDown(event) {
18254
+ if (event.metaKey || event.altKey || event.ctrlKey) {
18255
+ return;
18256
+ }
18257
+ if (modality !== KEYBOARD) {
18258
+ modality = KEYBOARD;
18259
+ activeModality = KEYBOARD;
18260
+ callListeners();
18261
+ }
18262
+ }
18263
+ function onVisibilityChange() {
18264
+ if (document.visibilityState !== 'hidden') {
18265
+ restoreModality();
18266
+ }
18267
+ }
18268
+ function onPointerish(event) {
18269
+ var eventType = event.type;
18270
+ if (supportsPointerEvent$1()) {
18271
+ if (eventType === POINTERDOWN) {
18272
+ if (activeModality !== event.pointerType) {
18273
+ modality = event.pointerType;
18274
+ activeModality = event.pointerType;
18275
+ callListeners();
18276
+ }
18277
+ return;
18278
+ }
18279
+ if (eventType === POINTERMOVE) {
18280
+ if (modality !== event.pointerType) {
18281
+ modality = event.pointerType;
18282
+ callListeners();
18283
+ }
18284
+ return;
18285
+ }
18286
+ }
18287
+ // Fallback for non-PointerEvent environment
18288
+ else {
18289
+ if (!isEmulatingMouseEvents) {
18290
+ if (eventType === MOUSEDOWN) {
18291
+ if (activeModality !== MOUSE) {
18292
+ modality = MOUSE;
18293
+ activeModality = MOUSE;
18294
+ callListeners();
18295
+ }
18296
+ }
18297
+ if (eventType === MOUSEMOVE) {
18298
+ if (modality !== MOUSE) {
18299
+ modality = MOUSE;
18300
+ callListeners();
18301
+ }
18302
+ }
18303
+ }
18304
+
18305
+ // Flag when browser may produce emulated events
18306
+ if (eventType === TOUCHSTART) {
18307
+ isEmulatingMouseEvents = true;
18308
+ if (event.touches && event.touches.length > 1) {
18309
+ isEmulatingMouseEvents = false;
18310
+ }
18311
+ if (activeModality !== TOUCH) {
18312
+ modality = TOUCH;
18313
+ activeModality = TOUCH;
18314
+ callListeners();
18315
+ }
18316
+ return;
18317
+ }
18318
+
18319
+ // Remove flag after emulated events are finished or cancelled, and if an
18320
+ // event occurs that cuts short a touch event sequence.
18321
+ if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {
18322
+ isEmulatingMouseEvents = false;
18323
+ }
18324
+ }
18325
+ }
18326
+ if (canUseDOM$1) {
18327
+ // Window events
18328
+ addEventListener(window, BLUR, onBlurWindow, bubbleOptions);
18329
+ addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);
18330
+ // Must be capture phase because 'stopPropagation' might prevent these
18331
+ // events bubbling to the document.
18332
+ addEventListener(document, KEYDOWN, onKeyDown, captureOptions);
18333
+ addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);
18334
+ addEventListener(document, POINTERDOWN, onPointerish, captureOptions);
18335
+ addEventListener(document, POINTERMOVE, onPointerish, captureOptions);
18336
+ // Fallback events
18337
+ addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);
18338
+ addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);
18339
+ addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);
18340
+ addEventListener(document, MOUSEUP, onPointerish, captureOptions);
18341
+ addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);
18342
+ addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);
18343
+ addEventListener(document, TOUCHSTART, onPointerish, captureOptions);
18344
+ addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);
18345
+ addEventListener(document, SCROLL, onPointerish, captureOptions);
18346
+ }
18347
+ function callListeners() {
18348
+ var value = {
18349
+ activeModality,
18350
+ modality
18351
+ };
18352
+ listeners.forEach(listener => {
18353
+ listener(value);
18354
+ });
18355
+ }
18356
+ function getModality() {
18357
+ return modality;
18358
+ }
18359
+
18360
+ /**
18361
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
18362
+ *
18363
+ * This source code is licensed under the MIT license found in the
18364
+ * LICENSE file in the root directory of this source tree.
18365
+ *
18366
+ *
18367
+ */
18368
+
18369
+ /**
18370
+ * This can be used with any event type include custom events.
18371
+ *
18372
+ * const click = useEvent('click', options);
18373
+ * useEffect(() => {
18374
+ * click.setListener(target, onClick);
18375
+ * return () => click.clear();
18376
+ * }).
18377
+ */
18378
+ function useEvent(eventType, options) {
18379
+ var targetListeners = useStable$1(() => new Map());
18380
+ var addListener = useStable$1(() => {
18381
+ return (target, callback) => {
18382
+ var removeTargetListener = targetListeners.get(target);
18383
+ if (removeTargetListener != null) {
18384
+ removeTargetListener();
18385
+ }
18386
+ if (callback == null) {
18387
+ targetListeners.delete(target);
18388
+ callback = () => {};
18389
+ }
18390
+ var removeEventListener = addEventListener(target, eventType, callback, options);
18391
+ targetListeners.set(target, removeEventListener);
18392
+ return removeEventListener;
18393
+ };
18394
+ });
18395
+ useLayoutEffect(() => {
18396
+ return () => {
18397
+ targetListeners.forEach(removeListener => {
18398
+ removeListener();
18399
+ });
18400
+ targetListeners.clear();
18401
+ };
18402
+ }, [targetListeners]);
18403
+ return addListener;
18404
+ }
18405
+
18406
+ /**
18407
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
18408
+ *
18409
+ * This source code is licensed under the MIT license found in the
18410
+ * LICENSE file in the root directory of this source tree.
18411
+ *
18412
+ *
18413
+ */
18414
+
18415
+
18416
+ /**
18417
+ * Types
18418
+ */
18419
+
18420
+ /**
18421
+ * Implementation
18422
+ */
18423
+
18424
+ var emptyObject = {};
18425
+ var opts = {
18426
+ passive: true
18427
+ };
18428
+ var lockEventType = 'react-gui:hover:lock';
18429
+ var unlockEventType = 'react-gui:hover:unlock';
18430
+ var supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);
18431
+ function dispatchCustomEvent(target, type, payload) {
18432
+ var event = document.createEvent('CustomEvent');
18433
+ var _ref = payload || emptyObject,
18434
+ _ref$bubbles = _ref.bubbles,
18435
+ bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,
18436
+ _ref$cancelable = _ref.cancelable,
18437
+ cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,
18438
+ detail = _ref.detail;
18439
+ event.initCustomEvent(type, bubbles, cancelable, detail);
18440
+ target.dispatchEvent(event);
18441
+ }
18442
+
18443
+ // This accounts for the non-PointerEvent fallback events.
18444
+ function getPointerType(event) {
18445
+ var pointerType = event.pointerType;
18446
+ return pointerType != null ? pointerType : getModality();
18447
+ }
18448
+ function useHover(targetRef, config) {
18449
+ var contain = config.contain,
18450
+ disabled = config.disabled,
18451
+ onHoverStart = config.onHoverStart,
18452
+ onHoverChange = config.onHoverChange,
18453
+ onHoverUpdate = config.onHoverUpdate,
18454
+ onHoverEnd = config.onHoverEnd;
18455
+ var canUsePE = supportsPointerEvent();
18456
+ var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);
18457
+ var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);
18458
+ var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);
18459
+ // These custom events are used to implement the "contain" prop.
18460
+ var addLockListener = useEvent(lockEventType, opts);
18461
+ var addUnlockListener = useEvent(unlockEventType, opts);
18462
+ useLayoutEffect(() => {
18463
+ var target = targetRef.current;
18464
+ if (target !== null) {
18465
+ /**
18466
+ * End the hover gesture
18467
+ */
18468
+ var hoverEnd = function hoverEnd(e) {
18469
+ if (onHoverEnd != null) {
18470
+ onHoverEnd(e);
18471
+ }
18472
+ if (onHoverChange != null) {
18473
+ onHoverChange(false);
18474
+ }
18475
+ // Remove the listeners once finished.
18476
+ addMoveListener(target, null);
18477
+ addLeaveListener(target, null);
18478
+ };
18479
+
18480
+ /**
18481
+ * Leave element
18482
+ */
18483
+ var leaveListener = function leaveListener(e) {
18484
+ var target = targetRef.current;
18485
+ if (target != null && getPointerType(e) !== 'touch') {
18486
+ if (contain) {
18487
+ dispatchCustomEvent(target, unlockEventType);
18488
+ }
18489
+ hoverEnd(e);
18490
+ }
18491
+ };
18492
+
18493
+ /**
18494
+ * Move within element
18495
+ */
18496
+ var moveListener = function moveListener(e) {
18497
+ if (getPointerType(e) !== 'touch') {
18498
+ if (onHoverUpdate != null) {
18499
+ // Not all browsers have these properties
18500
+ if (e.x == null) {
18501
+ e.x = e.clientX;
18502
+ }
18503
+ if (e.y == null) {
18504
+ e.y = e.clientY;
18505
+ }
18506
+ onHoverUpdate(e);
18507
+ }
18508
+ }
18509
+ };
18510
+
18511
+ /**
18512
+ * Start the hover gesture
18513
+ */
18514
+ var hoverStart = function hoverStart(e) {
18515
+ if (onHoverStart != null) {
18516
+ onHoverStart(e);
18517
+ }
18518
+ if (onHoverChange != null) {
18519
+ onHoverChange(true);
18520
+ }
18521
+ // Set the listeners needed for the rest of the hover gesture.
18522
+ if (onHoverUpdate != null) {
18523
+ addMoveListener(target, !disabled ? moveListener : null);
18524
+ }
18525
+ addLeaveListener(target, !disabled ? leaveListener : null);
18526
+ };
18527
+
18528
+ /**
18529
+ * Enter element
18530
+ */
18531
+ var enterListener = function enterListener(e) {
18532
+ var target = targetRef.current;
18533
+ if (target != null && getPointerType(e) !== 'touch') {
18534
+ if (contain) {
18535
+ dispatchCustomEvent(target, lockEventType);
18536
+ }
18537
+ hoverStart(e);
18538
+ var lockListener = function lockListener(lockEvent) {
18539
+ if (lockEvent.target !== target) {
18540
+ hoverEnd(e);
18541
+ }
18542
+ };
18543
+ var unlockListener = function unlockListener(lockEvent) {
18544
+ if (lockEvent.target !== target) {
18545
+ hoverStart(e);
18546
+ }
18547
+ };
18548
+ addLockListener(target, !disabled ? lockListener : null);
18549
+ addUnlockListener(target, !disabled ? unlockListener : null);
18550
+ }
18551
+ };
18552
+ addEnterListener(target, !disabled ? enterListener : null);
18553
+ }
18554
+ }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);
18555
+ }
18556
+
18557
+ /**
18558
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
18559
+ *
18560
+ * This source code is licensed under the MIT license found in the
18561
+ * LICENSE file in the root directory of this source tree.
18562
+ *
18563
+ *
18564
+ */
18565
+
18566
+ var _excluded = ["children", "delayLongPress", "delayPressIn", "delayPressOut", "disabled", "onBlur", "onContextMenu", "onFocus", "onHoverIn", "onHoverOut", "onKeyDown", "onLongPress", "onPress", "onPressMove", "onPressIn", "onPressOut", "style", "tabIndex", "testOnly_hovered", "testOnly_pressed"];
18567
+ /**
18568
+ * Component used to build display components that should respond to whether the
18569
+ * component is currently pressed or not.
18570
+ */
18571
+ function Pressable(props, forwardedRef) {
18572
+ var children = props.children,
18573
+ delayLongPress = props.delayLongPress,
18574
+ delayPressIn = props.delayPressIn,
18575
+ delayPressOut = props.delayPressOut,
18576
+ disabled = props.disabled,
18577
+ onBlur = props.onBlur,
18578
+ onContextMenu = props.onContextMenu,
18579
+ onFocus = props.onFocus,
18580
+ onHoverIn = props.onHoverIn,
18581
+ onHoverOut = props.onHoverOut,
18582
+ onKeyDown = props.onKeyDown,
18583
+ onLongPress = props.onLongPress,
18584
+ onPress = props.onPress,
18585
+ onPressMove = props.onPressMove,
18586
+ onPressIn = props.onPressIn,
18587
+ onPressOut = props.onPressOut,
18588
+ style = props.style,
18589
+ tabIndex = props.tabIndex,
18590
+ testOnly_hovered = props.testOnly_hovered,
18591
+ testOnly_pressed = props.testOnly_pressed,
18592
+ rest = _objectWithoutPropertiesLoose(props, _excluded);
18593
+ var _useForceableState = useForceableState(testOnly_hovered === true),
18594
+ hovered = _useForceableState[0],
18595
+ setHovered = _useForceableState[1];
18596
+ var _useForceableState2 = useForceableState(false),
18597
+ focused = _useForceableState2[0],
18598
+ setFocused = _useForceableState2[1];
18599
+ var _useForceableState3 = useForceableState(testOnly_pressed === true),
18600
+ pressed = _useForceableState3[0],
18601
+ setPressed = _useForceableState3[1];
18602
+ var hostRef = React.useRef(null);
18603
+ var setRef = useMergeRefs$1(forwardedRef, hostRef);
18604
+ var pressConfig = React.useMemo(() => ({
18605
+ delayLongPress,
18606
+ delayPressStart: delayPressIn,
18607
+ delayPressEnd: delayPressOut,
18608
+ disabled,
18609
+ onLongPress,
18610
+ onPress,
18611
+ onPressChange: setPressed,
18612
+ onPressStart: onPressIn,
18613
+ onPressMove,
18614
+ onPressEnd: onPressOut
18615
+ }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);
18616
+ var pressEventHandlers = usePressEvents(hostRef, pressConfig);
18617
+ var onContextMenuPress = pressEventHandlers.onContextMenu,
18618
+ onKeyDownPress = pressEventHandlers.onKeyDown;
18619
+ useHover(hostRef, {
18620
+ contain: true,
18621
+ disabled,
18622
+ onHoverChange: setHovered,
18623
+ onHoverStart: onHoverIn,
18624
+ onHoverEnd: onHoverOut
18625
+ });
18626
+ var interactionState = {
18627
+ hovered,
18628
+ focused,
18629
+ pressed
18630
+ };
18631
+ var blurHandler = React__namespace.useCallback(e => {
18632
+ if (e.nativeEvent.target === hostRef.current) {
18633
+ setFocused(false);
18634
+ if (onBlur != null) {
18635
+ onBlur(e);
18636
+ }
18637
+ }
18638
+ }, [hostRef, setFocused, onBlur]);
18639
+ var focusHandler = React__namespace.useCallback(e => {
18640
+ if (e.nativeEvent.target === hostRef.current) {
18641
+ setFocused(true);
18642
+ if (onFocus != null) {
18643
+ onFocus(e);
18644
+ }
18645
+ }
18646
+ }, [hostRef, setFocused, onFocus]);
18647
+ var contextMenuHandler = React__namespace.useCallback(e => {
18648
+ if (onContextMenuPress != null) {
18649
+ onContextMenuPress(e);
18650
+ }
18651
+ if (onContextMenu != null) {
18652
+ onContextMenu(e);
18653
+ }
18654
+ }, [onContextMenu, onContextMenuPress]);
18655
+ var keyDownHandler = React__namespace.useCallback(e => {
18656
+ if (onKeyDownPress != null) {
18657
+ onKeyDownPress(e);
18658
+ }
18659
+ if (onKeyDown != null) {
18660
+ onKeyDown(e);
18661
+ }
18662
+ }, [onKeyDown, onKeyDownPress]);
18663
+ var _tabIndex;
18664
+ if (tabIndex !== undefined) {
18665
+ _tabIndex = tabIndex;
18666
+ } else {
18667
+ _tabIndex = disabled ? -1 : 0;
18668
+ }
18669
+ return /*#__PURE__*/React__namespace.createElement(View$2, _extends$1({}, rest, pressEventHandlers, {
18670
+ "aria-disabled": disabled,
18671
+ onBlur: blurHandler,
18672
+ onContextMenu: contextMenuHandler,
18673
+ onFocus: focusHandler,
18674
+ onKeyDown: keyDownHandler,
18675
+ ref: setRef,
18676
+ style: [disabled ? styles$f.disabled : styles$f.active, typeof style === 'function' ? style(interactionState) : style],
18677
+ tabIndex: _tabIndex
18678
+ }), typeof children === 'function' ? children(interactionState) : children);
18679
+ }
18680
+ function useForceableState(forced) {
18681
+ var _useState = React.useState(false),
18682
+ bool = _useState[0],
18683
+ setBool = _useState[1];
18684
+ return [bool || forced, setBool];
18685
+ }
18686
+ var styles$f = StyleSheet$1.create({
18687
+ active: {
18688
+ cursor: 'pointer',
18689
+ touchAction: 'manipulation'
18690
+ },
18691
+ disabled: {
18692
+ pointerEvents: 'box-none'
18693
+ }
18694
+ });
18695
+ var MemoedPressable = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Pressable));
18696
+ MemoedPressable.displayName = 'Pressable';
18697
+ var Pressable$1 = MemoedPressable;
18698
+
18699
+ var useHandleTilePress = function (ctaLink, ctaLinkTarget) {
18700
+ var handleNavigation = useWllSdk().handleNavigation;
18701
+ return React.useCallback(function () {
18702
+ if (ctaLink) {
18703
+ var target = ctaLinkTarget || 'SAME_FRAME';
18704
+ handleNavigation(ctaLink, target);
18705
+ }
18706
+ }, [ctaLink, ctaLinkTarget, handleNavigation]);
18707
+ };
18708
+
18075
18709
  var BannerContext = /*#__PURE__*/React__namespace.createContext(null);
18076
18710
  var useBannerContext = function () {
18077
18711
  var context = React__namespace.useContext(BannerContext);
@@ -18084,13 +18718,27 @@ var BaseBanner = function (_a) {
18084
18718
  var tile = _a.tile,
18085
18719
  children = _a.children;
18086
18720
  var theme = useWllSdk().theme;
18721
+ var _b = tile.configuration,
18722
+ ctaLink = _b.ctaLink,
18723
+ ctaLinkTarget = _b.ctaLinkTarget,
18724
+ title = _b.title;
18725
+ var handlePress = useHandleTilePress(ctaLink, ctaLinkTarget);
18087
18726
  return /*#__PURE__*/React__namespace.createElement(BannerContext.Provider, {
18088
18727
  value: tile
18089
- }, /*#__PURE__*/React__namespace.createElement(View$2, {
18090
- style: [styles$e.container, {
18091
- backgroundColor: theme.surface,
18092
- borderRadius: theme.sizes.borderRadiusLg
18093
- }]
18728
+ }, /*#__PURE__*/React__namespace.createElement(Pressable$1, {
18729
+ style: function (_a) {
18730
+ var pressed = _a.pressed;
18731
+ return [styles$e.container, {
18732
+ backgroundColor: theme.surface,
18733
+ borderRadius: theme.sizes.borderRadiusLg,
18734
+ opacity: pressed ? 0.7 : 1
18735
+ }];
18736
+ },
18737
+ onPress: handlePress,
18738
+ disabled: !ctaLink,
18739
+ accessible: true,
18740
+ accessibilityRole: "button",
18741
+ accessibilityLabel: "".concat(title).concat(ctaLink ? ' - Click to open' : '')
18094
18742
  }, children));
18095
18743
  };
18096
18744
  var styles$e = StyleSheet$1.create({
@@ -18104,11 +18752,11 @@ var styles$e = StyleSheet$1.create({
18104
18752
  }
18105
18753
  });
18106
18754
 
18107
- exports.UrlTarget = void 0;
18108
- (function (UrlTarget) {
18109
- UrlTarget["sameWindow"] = "SAME_WINDOW";
18110
- UrlTarget["newWindow"] = "NEW_WINDOW";
18111
- })(exports.UrlTarget || (exports.UrlTarget = {}));
18755
+ exports.CTALinkTarget = void 0;
18756
+ (function (CTALinkTarget) {
18757
+ CTALinkTarget["sameWindow"] = "SAME_FRAME";
18758
+ CTALinkTarget["newWindow"] = "NEW_WINDOW";
18759
+ })(exports.CTALinkTarget || (exports.CTALinkTarget = {}));
18112
18760
  exports.TierTileType = void 0;
18113
18761
  (function (TierTileType) {
18114
18762
  TierTileType["currentTier"] = "CURRENT";
@@ -18266,22 +18914,34 @@ var BaseTileRoot = function (_a) {
18266
18914
  var tile = useTileContext();
18267
18915
  var theme = useWllSdk().theme;
18268
18916
  var isHalfSize = useTileSize(tile).isHalfSize;
18269
- tile.configuration.artworkUrl;
18917
+ var _b = tile.configuration,
18918
+ ctaLink = _b.ctaLink,
18919
+ ctaLinkTarget = _b.ctaLinkTarget,
18920
+ title = _b.title;
18921
+ var handlePress = useHandleTilePress(ctaLink, ctaLinkTarget);
18270
18922
  var layout = {
18271
18923
  flexDirection: 'column',
18272
- // Center content vertically for half tiles, start at top for full tiles
18273
18924
  justifyContent: isHalfSize ? 'center' : 'flex-start',
18274
18925
  alignItems: 'stretch'
18275
18926
  };
18276
18927
  var responsiveStyles = createResponsiveStyle({
18277
18928
  borderRadius: [theme.sizes.borderRadiusSm, theme.sizes.borderRadiusSm, theme.sizes.borderRadiusLg]
18278
18929
  });
18279
- return /*#__PURE__*/React.createElement(View$2, {
18280
- style: [styles$d.container, {
18281
- backgroundColor: theme.surface,
18282
- borderRadius: responsiveStyles.borderRadius,
18283
- aspectRatio: isHalfSize ? 2 : 1
18284
- }, layout, style]
18930
+ return /*#__PURE__*/React.createElement(Pressable$1, {
18931
+ style: function (_a) {
18932
+ var pressed = _a.pressed;
18933
+ return [styles$d.container, {
18934
+ backgroundColor: theme.surface,
18935
+ borderRadius: responsiveStyles.borderRadius,
18936
+ aspectRatio: isHalfSize ? 2 : 1,
18937
+ opacity: pressed ? 0.7 : 1
18938
+ }, layout, style];
18939
+ },
18940
+ onPress: handlePress,
18941
+ disabled: !ctaLink,
18942
+ accessible: true,
18943
+ accessibilityRole: "button",
18944
+ accessibilityLabel: "".concat(title).concat(ctaLink ? ' - Click to open' : '')
18285
18945
  }, children);
18286
18946
  };
18287
18947
  var BaseTileContent = function (_a) {
@@ -18322,11 +18982,11 @@ var BaseTileMedia = function (props) {
18322
18982
  var _a = tile.configuration,
18323
18983
  artworkUrl = _a.artworkUrl,
18324
18984
  title = _a.title,
18325
- description = _a.description;
18985
+ body = _a.body;
18326
18986
  var isHalfSize = useTileSize(tile).isHalfSize;
18327
18987
  if (!artworkUrl) return null;
18328
18988
  var hasTitle = !!title;
18329
- var hasDescription = !!description;
18989
+ var hasDescription = !!body;
18330
18990
  return /*#__PURE__*/React.createElement(ProgressiveImage, _extends({}, props, {
18331
18991
  source: {
18332
18992
  uri: artworkUrl
@@ -18342,7 +19002,7 @@ var BaseTileTitle = function () {
18342
19002
  var theme = useWllSdk().theme;
18343
19003
  var _a = tile.configuration,
18344
19004
  title = _a.title,
18345
- linkURL = _a.linkURL,
19005
+ ctaLink = _a.ctaLink,
18346
19006
  artworkUrl = _a.artworkUrl;
18347
19007
  var isHalfSize = useTileSize(tile).isHalfSize;
18348
19008
  // Don't show title for half tiles with image
@@ -18350,7 +19010,7 @@ var BaseTileTitle = function () {
18350
19010
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
18351
19011
  variant: "title",
18352
19012
  accessibilityLabel: title
18353
- }, title), linkURL && /*#__PURE__*/React.createElement(Icon, {
19013
+ }, title), ctaLink && /*#__PURE__*/React.createElement(Icon, {
18354
19014
  name: "ChevronRight",
18355
19015
  color: theme.derivedSurfaceText[20]
18356
19016
  }));
@@ -18358,16 +19018,15 @@ var BaseTileTitle = function () {
18358
19018
  var BaseTileBody = function (props) {
18359
19019
  var tile = useTileContext();
18360
19020
  var _a = tile.configuration,
18361
- description = _a.description,
19021
+ body = _a.body,
18362
19022
  artworkUrl = _a.artworkUrl;
18363
19023
  var isHalfSize = useTileSize(tile).isHalfSize;
18364
- // Don't show body for half tiles with image
18365
- if (isHalfSize && artworkUrl || !description) return null;
19024
+ if (isHalfSize && artworkUrl || !body) return null;
18366
19025
  return /*#__PURE__*/React.createElement(Text, _extends({
18367
19026
  variant: "body"
18368
19027
  }, props, {
18369
- accessibilityLabel: description
18370
- }), description);
19028
+ accessibilityLabel: body
19029
+ }), body);
18371
19030
  };
18372
19031
  var BaseTile = BaseTileInner;
18373
19032
  BaseTile.Root = BaseTileRoot;
@@ -18676,108 +19335,6 @@ var styles$b = StyleSheet$1.create({
18676
19335
  }
18677
19336
  });
18678
19337
 
18679
- /**
18680
- * Copyright (c) Nicolas Gallagher.
18681
- * Copyright (c) Meta Platforms, Inc. and affiliates.
18682
- *
18683
- * This source code is licensed under the MIT license found in the
18684
- * LICENSE file in the root directory of this source tree.
18685
- *
18686
- *
18687
- */
18688
-
18689
- var initialURL = canUseDOM$1 ? window.location.href : '';
18690
- class Linking {
18691
- constructor() {
18692
- this._eventCallbacks = {};
18693
- }
18694
- /**
18695
- * An object mapping of event name
18696
- * and all the callbacks subscribing to it
18697
- */
18698
- _dispatchEvent(event) {
18699
- for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
18700
- data[_key - 1] = arguments[_key];
18701
- }
18702
- var listeners = this._eventCallbacks[event];
18703
- if (listeners != null && Array.isArray(listeners)) {
18704
- listeners.map(listener => {
18705
- listener(...data);
18706
- });
18707
- }
18708
- }
18709
-
18710
- /**
18711
- * Adds a event listener for the specified event. The callback will be called when the
18712
- * said event is dispatched.
18713
- */
18714
- addEventListener(eventType, callback) {
18715
- var _this = this;
18716
- if (!_this._eventCallbacks[eventType]) {
18717
- _this._eventCallbacks[eventType] = [callback];
18718
- }
18719
- _this._eventCallbacks[eventType].push(callback);
18720
- return {
18721
- remove() {
18722
- var callbacks = _this._eventCallbacks[eventType];
18723
- var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());
18724
- _this._eventCallbacks[eventType] = filteredCallbacks;
18725
- }
18726
- };
18727
- }
18728
-
18729
- /**
18730
- * Removes a previously added event listener for the specified event. The callback must
18731
- * be the same object as the one passed to `addEventListener`.
18732
- */
18733
- removeEventListener(eventType, callback) {
18734
- console.error("Linking.removeEventListener('" + eventType + "', ...): Method has been " + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `Linking.addEventListener`.');
18735
- var callbacks = this._eventCallbacks[eventType];
18736
- var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());
18737
- this._eventCallbacks[eventType] = filteredCallbacks;
18738
- }
18739
- canOpenURL() {
18740
- return Promise.resolve(true);
18741
- }
18742
- getInitialURL() {
18743
- return Promise.resolve(initialURL);
18744
- }
18745
-
18746
- /**
18747
- * Try to open the given url in a secure fashion. The method returns a Promise object.
18748
- * If a target is passed (including undefined) that target will be used, otherwise '_blank'.
18749
- * If the url opens, the promise is resolved. If not, the promise is rejected.
18750
- * Dispatches the `onOpen` event if `url` is opened successfully.
18751
- */
18752
- openURL(url, target) {
18753
- if (arguments.length === 1) {
18754
- target = '_blank';
18755
- }
18756
- try {
18757
- open(url, target);
18758
- this._dispatchEvent('onOpen', url);
18759
- return Promise.resolve();
18760
- } catch (e) {
18761
- return Promise.reject(e);
18762
- }
18763
- }
18764
- _validateURL(url) {
18765
- invariant$1(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);
18766
- invariant$1(url, 'Invalid URL: cannot be empty');
18767
- }
18768
- }
18769
- var open = (url, target) => {
18770
- if (canUseDOM$1) {
18771
- var urlToOpen = new URL(url, window.location).toString();
18772
- if (urlToOpen.indexOf('tel:') === 0) {
18773
- window.location = urlToOpen;
18774
- } else {
18775
- window.open(urlToOpen, target, 'noopener');
18776
- }
18777
- }
18778
- };
18779
- var Linking$1 = new Linking();
18780
-
18781
19338
  var BannerTile = function (_a) {
18782
19339
  var tile = _a.tile;
18783
19340
  return /*#__PURE__*/React__namespace.createElement(BaseBanner, {
@@ -18827,30 +19384,14 @@ var BannerTileCTA = function () {
18827
19384
  var configuration = useBannerContext().configuration;
18828
19385
  var _a = configuration,
18829
19386
  ctaText = _a.ctaText,
18830
- ctaLink = _a.ctaLink;
18831
- var handleLinkPress = function (url) {
18832
- return __awaiter(void 0, void 0, void 0, function () {
18833
- return __generator(this, function (_a) {
18834
- switch (_a.label) {
18835
- case 0:
18836
- if (!url) return [2 /*return*/];
18837
- return [4 /*yield*/, Linking$1.canOpenURL(url)];
18838
- case 1:
18839
- if (_a.sent()) {
18840
- Linking$1.openURL(url);
18841
- }
18842
- return [2 /*return*/];
18843
- }
18844
- });
18845
- });
18846
- };
19387
+ ctaLink = _a.ctaLink,
19388
+ ctaLinkTarget = _a.ctaLinkTarget;
19389
+ var handlePress = useHandleTilePress(ctaLink, ctaLinkTarget);
18847
19390
  if (!ctaText) return null;
18848
19391
  return /*#__PURE__*/React__namespace.createElement(Button, {
18849
19392
  title: ctaText,
18850
19393
  variant: "accent",
18851
- onPress: function () {
18852
- return handleLinkPress(ctaLink);
18853
- }
19394
+ onPress: handlePress
18854
19395
  });
18855
19396
  };
18856
19397
  var styles$a = StyleSheet$1.create({
@@ -18911,9 +19452,9 @@ var ContentTileMedia = function () {
18911
19452
  };
18912
19453
  var ContentTileContent = function (_a) {
18913
19454
  var children = _a.children;
18914
- return /*#__PURE__*/React__namespace.createElement(View$2, {
19455
+ return /*#__PURE__*/React__namespace.createElement(BaseTile.Content, null, /*#__PURE__*/React__namespace.createElement(View$2, {
18915
19456
  style: styles$9.content
18916
- }, children);
19457
+ }, children));
18917
19458
  };
18918
19459
  var ContentTileHeader = function () {
18919
19460
  return /*#__PURE__*/React__namespace.createElement(BaseTile.Header, null, /*#__PURE__*/React__namespace.createElement(BaseTile.Title, null));
@@ -18924,7 +19465,8 @@ var ContentTileBody = function () {
18924
19465
  var styles$9 = StyleSheet$1.create({
18925
19466
  content: createResponsiveStyle({
18926
19467
  paddingHorizontal: [8, 8, 12],
18927
- flex: 1
19468
+ flex: 1,
19469
+ justifyContent: 'center'
18928
19470
  }),
18929
19471
  media: createResponsiveStyle({
18930
19472
  width: '100%'
@@ -19649,7 +20191,7 @@ var RewardTilePoints = function () {
19649
20191
  var configuration = useTileContext().configuration;
19650
20192
  var theme = useWllSdk().theme;
19651
20193
  var reward = configuration;
19652
- var calculatedPoints = (reward === null || reward === void 0 ? void 0 : reward.price) !== undefined ? reward.price * Number(reward.pointsMultiplier) : null;
20194
+ var calculatedPoints = (reward === null || reward === void 0 ? void 0 : reward.price) !== undefined ? reward.price * (Number(reward.pointsMultiplier) || 1) : null;
19653
20195
  if ((reward === null || reward === void 0 ? void 0 : reward.price) === 0 || !reward.showPrice || calculatedPoints === null) {
19654
20196
  return null;
19655
20197
  }