@wlloyalty/wll-react-sdk 1.4.3 → 1.4.5

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.
Files changed (73) hide show
  1. package/dist/index.d.ts +59 -37
  2. package/dist/native.js +495 -1356
  3. package/dist/native.js.map +1 -1
  4. package/dist/types/components/atoms/BaseTile/base-tile-body.d.ts +3 -2
  5. package/dist/types/components/atoms/BaseTile/base-tile-content.d.ts +3 -2
  6. package/dist/types/components/atoms/BaseTile/base-tile-header.d.ts +3 -2
  7. package/dist/types/components/atoms/BaseTile/base-tile-media.d.ts +3 -2
  8. package/dist/types/components/atoms/BaseTile/base-tile-title.d.ts +3 -2
  9. package/dist/types/components/atoms/BaseTile/index.d.ts +8 -7
  10. package/dist/types/components/atoms/Button/index.d.ts +2 -1
  11. package/dist/types/components/atoms/Icon/index.d.ts +2 -1
  12. package/dist/types/components/atoms/Indicator/index.d.ts +2 -1
  13. package/dist/types/components/atoms/LoadingIndicator/index.d.ts +2 -1
  14. package/dist/types/components/atoms/Primatives/Column.d.ts +1 -1
  15. package/dist/types/components/atoms/Primatives/FullFlex.d.ts +1 -1
  16. package/dist/types/components/atoms/Primatives/Layout.d.ts +1 -1
  17. package/dist/types/components/atoms/Primatives/Row.d.ts +1 -1
  18. package/dist/types/components/atoms/Primatives/Spacer.d.ts +2 -1
  19. package/dist/types/components/atoms/ProgressBar/index.d.ts +2 -1
  20. package/dist/types/components/atoms/ProgressiveImage/index.d.ts +2 -1
  21. package/dist/types/components/atoms/Skeleton/index.d.ts +2 -1
  22. package/dist/types/components/atoms/SkeletonTile/index.d.ts +2 -1
  23. package/dist/types/components/atoms/Text/index.d.ts +4 -3
  24. package/dist/types/components/atoms/TileContainer/index.d.ts +2 -1
  25. package/dist/types/components/molecules/Carousel/index.d.ts +2 -1
  26. package/dist/types/components/molecules/CarouselNavButton/index.d.ts +2 -1
  27. package/dist/types/components/molecules/ProgressIndicator/index.d.ts +2 -1
  28. package/dist/types/components/molecules/SectionHeader/index.d.ts +2 -1
  29. package/dist/types/components/organisms/BadgeTile/badge-tile-date-earned.d.ts +3 -2
  30. package/dist/types/components/organisms/BadgeTile/badge-tile-description.d.ts +3 -2
  31. package/dist/types/components/organisms/BadgeTile/badge-tile-media.d.ts +2 -2
  32. package/dist/types/components/organisms/BadgeTile/badge-tile-status.d.ts +3 -2
  33. package/dist/types/components/organisms/BadgeTile/badge-tile-title.d.ts +3 -2
  34. package/dist/types/components/organisms/BadgeTile/index.d.ts +6 -6
  35. package/dist/types/components/organisms/BannerTile/banner-tile-cta.d.ts +3 -2
  36. package/dist/types/components/organisms/BannerTile/banner-tile-description.d.ts +3 -2
  37. package/dist/types/components/organisms/BannerTile/banner-tile-media.d.ts +3 -2
  38. package/dist/types/components/organisms/BannerTile/banner-tile-title.d.ts +3 -2
  39. package/dist/types/components/organisms/BannerTile/index.d.ts +5 -5
  40. package/dist/types/components/organisms/ContentTile/content-tile-chevron.d.ts +2 -1
  41. package/dist/types/components/organisms/ContentTile/content-tile-media.d.ts +2 -1
  42. package/dist/types/components/organisms/ContentTile/content-tile-summary.d.ts +2 -1
  43. package/dist/types/components/organisms/ContentTile/content-tile-title.d.ts +2 -1
  44. package/dist/types/components/organisms/ContentTile/index.d.ts +5 -5
  45. package/dist/types/components/organisms/Group/index.d.ts +8 -6
  46. package/dist/types/components/organisms/PointsTile/index.d.ts +5 -5
  47. package/dist/types/components/organisms/PointsTile/points-tile-chevron.d.ts +3 -2
  48. package/dist/types/components/organisms/PointsTile/points-tile-formatted-points.d.ts +3 -2
  49. package/dist/types/components/organisms/PointsTile/points-tile-media.d.ts +3 -2
  50. package/dist/types/components/organisms/PointsTile/points-tile-title.d.ts +3 -2
  51. package/dist/types/components/organisms/RewardCategoryTile/index.d.ts +3 -3
  52. package/dist/types/components/organisms/RewardCategoryTile/reward-category-header.d.ts +3 -2
  53. package/dist/types/components/organisms/RewardCategoryTile/reward-category-media.d.ts +3 -2
  54. package/dist/types/components/organisms/RewardTile/index.d.ts +6 -6
  55. package/dist/types/components/organisms/RewardTile/reward-tile-chevron.d.ts +3 -2
  56. package/dist/types/components/organisms/RewardTile/reward-tile-media.d.ts +3 -2
  57. package/dist/types/components/organisms/RewardTile/reward-tile-points.d.ts +3 -2
  58. package/dist/types/components/organisms/RewardTile/reward-tile-summary.d.ts +3 -2
  59. package/dist/types/components/organisms/RewardTile/reward-tile-title.d.ts +3 -2
  60. package/dist/types/components/organisms/RoundupTile/index.d.ts +5 -5
  61. package/dist/types/components/organisms/RoundupTile/roundup-tile-chevron.d.ts +3 -2
  62. package/dist/types/components/organisms/RoundupTile/roundup-tile-formatted-points.d.ts +3 -2
  63. package/dist/types/components/organisms/RoundupTile/roundup-tile-media.d.ts +3 -2
  64. package/dist/types/components/organisms/RoundupTile/roundup-tile-title.d.ts +3 -2
  65. package/dist/types/components/organisms/Section/index.d.ts +2 -2
  66. package/dist/types/context/WllSdkContext.d.ts +2 -1
  67. package/dist/types/hooks/useInvalidateData.d.ts +9 -0
  68. package/dist/types/hooks/usePullToRefresh.d.ts +12 -0
  69. package/dist/types/index.d.ts +2 -0
  70. package/dist/types/utils/storybookHelpers.d.ts +1 -1
  71. package/dist/web.js +159 -50
  72. package/dist/web.js.map +1 -1
  73. package/package.json +12 -11
package/dist/native.js CHANGED
@@ -27,26 +27,47 @@ var LucideReactIcons__namespace = /*#__PURE__*/_interopNamespaceDefault(LucideRe
27
27
 
28
28
  var jsxRuntime = {exports: {}};
29
29
 
30
- var reactJsxRuntime_production_min = {};
30
+ var reactJsxRuntime_production = {};
31
31
 
32
32
  /**
33
33
  * @license React
34
- * react-jsx-runtime.production.min.js
34
+ * react-jsx-runtime.production.js
35
35
  *
36
- * Copyright (c) Facebook, Inc. and its affiliates.
36
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
37
37
  *
38
38
  * This source code is licensed under the MIT license found in the
39
39
  * LICENSE file in the root directory of this source tree.
40
40
  */
41
41
 
42
- var hasRequiredReactJsxRuntime_production_min;
43
-
44
- function requireReactJsxRuntime_production_min () {
45
- if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min;
46
- hasRequiredReactJsxRuntime_production_min = 1;
47
- var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};
48
- function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return {$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}reactJsxRuntime_production_min.Fragment=l;reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;
49
- return reactJsxRuntime_production_min;
42
+ var hasRequiredReactJsxRuntime_production;
43
+
44
+ function requireReactJsxRuntime_production () {
45
+ if (hasRequiredReactJsxRuntime_production) return reactJsxRuntime_production;
46
+ hasRequiredReactJsxRuntime_production = 1;
47
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
48
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
49
+ function jsxProd(type, config, maybeKey) {
50
+ var key = null;
51
+ void 0 !== maybeKey && (key = "" + maybeKey);
52
+ void 0 !== config.key && (key = "" + config.key);
53
+ if ("key" in config) {
54
+ maybeKey = {};
55
+ for (var propName in config)
56
+ "key" !== propName && (maybeKey[propName] = config[propName]);
57
+ } else maybeKey = config;
58
+ config = maybeKey.ref;
59
+ return {
60
+ $$typeof: REACT_ELEMENT_TYPE,
61
+ type: type,
62
+ key: key,
63
+ ref: void 0 !== config ? config : null,
64
+ props: maybeKey
65
+ };
66
+ }
67
+ reactJsxRuntime_production.Fragment = REACT_FRAGMENT_TYPE;
68
+ reactJsxRuntime_production.jsx = jsxProd;
69
+ reactJsxRuntime_production.jsxs = jsxProd;
70
+ return reactJsxRuntime_production;
50
71
  }
51
72
 
52
73
  var reactJsxRuntime_development = {};
@@ -55,7 +76,7 @@ var reactJsxRuntime_development = {};
55
76
  * @license React
56
77
  * react-jsx-runtime.development.js
57
78
  *
58
- * Copyright (c) Facebook, Inc. and its affiliates.
79
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
59
80
  *
60
81
  * This source code is licensed under the MIT license found in the
61
82
  * LICENSE file in the root directory of this source tree.
@@ -66,1332 +87,357 @@ var hasRequiredReactJsxRuntime_development;
66
87
  function requireReactJsxRuntime_development () {
67
88
  if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development;
68
89
  hasRequiredReactJsxRuntime_development = 1;
69
-
70
- if (process.env.NODE_ENV !== "production") {
71
- (function() {
72
-
73
- var React$1 = React;
74
-
75
- // ATTENTION
76
- // When adding new symbols to this file,
77
- // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
78
- // The Symbol used to tag the ReactElement-like types.
79
- var REACT_ELEMENT_TYPE = Symbol.for('react.element');
80
- var REACT_PORTAL_TYPE = Symbol.for('react.portal');
81
- var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
82
- var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
83
- var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
84
- var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
85
- var REACT_CONTEXT_TYPE = Symbol.for('react.context');
86
- var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
87
- var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
88
- var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
89
- var REACT_MEMO_TYPE = Symbol.for('react.memo');
90
- var REACT_LAZY_TYPE = Symbol.for('react.lazy');
91
- var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
92
- var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
93
- var FAUX_ITERATOR_SYMBOL = '@@iterator';
94
- function getIteratorFn(maybeIterable) {
95
- if (maybeIterable === null || typeof maybeIterable !== 'object') {
96
- return null;
97
- }
98
-
99
- var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
100
-
101
- if (typeof maybeIterator === 'function') {
102
- return maybeIterator;
103
- }
104
-
105
- return null;
106
- }
107
-
108
- var ReactSharedInternals = React$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
109
-
110
- function error(format) {
111
- {
112
- {
113
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
114
- args[_key2 - 1] = arguments[_key2];
90
+ "production" !== process.env.NODE_ENV &&
91
+ (function () {
92
+ function getComponentNameFromType(type) {
93
+ if (null == type) return null;
94
+ if ("function" === typeof type)
95
+ return type.$$typeof === REACT_CLIENT_REFERENCE
96
+ ? null
97
+ : type.displayName || type.name || null;
98
+ if ("string" === typeof type) return type;
99
+ switch (type) {
100
+ case REACT_FRAGMENT_TYPE:
101
+ return "Fragment";
102
+ case REACT_PROFILER_TYPE:
103
+ return "Profiler";
104
+ case REACT_STRICT_MODE_TYPE:
105
+ return "StrictMode";
106
+ case REACT_SUSPENSE_TYPE:
107
+ return "Suspense";
108
+ case REACT_SUSPENSE_LIST_TYPE:
109
+ return "SuspenseList";
110
+ case REACT_ACTIVITY_TYPE:
111
+ return "Activity";
115
112
  }
116
-
117
- printWarning('error', format, args);
118
- }
119
- }
120
- }
121
-
122
- function printWarning(level, format, args) {
123
- // When changing this logic, you might want to also
124
- // update consoleWithStackDev.www.js as well.
125
- {
126
- var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
127
- var stack = ReactDebugCurrentFrame.getStackAddendum();
128
-
129
- if (stack !== '') {
130
- format += '%s';
131
- args = args.concat([stack]);
132
- } // eslint-disable-next-line react-internal/safe-string-coercion
133
-
134
-
135
- var argsWithFormat = args.map(function (item) {
136
- return String(item);
137
- }); // Careful: RN currently depends on this prefix
138
-
139
- argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
140
- // breaks IE9: https://github.com/facebook/react/issues/13610
141
- // eslint-disable-next-line react-internal/no-production-logging
142
-
143
- Function.prototype.apply.call(console[level], console, argsWithFormat);
144
- }
145
- }
146
-
147
- // -----------------------------------------------------------------------------
148
-
149
- var enableScopeAPI = false; // Experimental Create Event Handle API.
150
- var enableCacheElement = false;
151
- var enableTransitionTracing = false; // No known bugs, but needs performance testing
152
-
153
- var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
154
- // stuff. Intended to enable React core members to more easily debug scheduling
155
- // issues in DEV builds.
156
-
157
- var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
158
-
159
- var REACT_MODULE_REFERENCE;
160
-
161
- {
162
- REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
163
- }
164
-
165
- function isValidElementType(type) {
166
- if (typeof type === 'string' || typeof type === 'function') {
167
- return true;
168
- } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
169
-
170
-
171
- if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {
172
- return true;
173
- }
174
-
175
- if (typeof type === 'object' && type !== null) {
176
- if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
177
- // types supported by any Flight configuration anywhere since
178
- // we don't know which Flight build this will end up being used
179
- // with.
180
- type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
181
- return true;
182
- }
183
- }
184
-
185
- return false;
186
- }
187
-
188
- function getWrappedName(outerType, innerType, wrapperName) {
189
- var displayName = outerType.displayName;
190
-
191
- if (displayName) {
192
- return displayName;
193
- }
194
-
195
- var functionName = innerType.displayName || innerType.name || '';
196
- return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName;
197
- } // Keep in sync with react-reconciler/getComponentNameFromFiber
198
-
199
-
200
- function getContextName(type) {
201
- return type.displayName || 'Context';
202
- } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.
203
-
204
-
205
- function getComponentNameFromType(type) {
206
- if (type == null) {
207
- // Host root, text node or just invalid type.
208
- return null;
209
- }
210
-
211
- {
212
- if (typeof type.tag === 'number') {
213
- error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');
214
- }
215
- }
216
-
217
- if (typeof type === 'function') {
218
- return type.displayName || type.name || null;
219
- }
220
-
221
- if (typeof type === 'string') {
222
- return type;
223
- }
224
-
225
- switch (type) {
226
- case REACT_FRAGMENT_TYPE:
227
- return 'Fragment';
228
-
229
- case REACT_PORTAL_TYPE:
230
- return 'Portal';
231
-
232
- case REACT_PROFILER_TYPE:
233
- return 'Profiler';
234
-
235
- case REACT_STRICT_MODE_TYPE:
236
- return 'StrictMode';
237
-
238
- case REACT_SUSPENSE_TYPE:
239
- return 'Suspense';
240
-
241
- case REACT_SUSPENSE_LIST_TYPE:
242
- return 'SuspenseList';
243
-
244
- }
245
-
246
- if (typeof type === 'object') {
247
- switch (type.$$typeof) {
248
- case REACT_CONTEXT_TYPE:
249
- var context = type;
250
- return getContextName(context) + '.Consumer';
251
-
252
- case REACT_PROVIDER_TYPE:
253
- var provider = type;
254
- return getContextName(provider._context) + '.Provider';
255
-
256
- case REACT_FORWARD_REF_TYPE:
257
- return getWrappedName(type, type.render, 'ForwardRef');
258
-
259
- case REACT_MEMO_TYPE:
260
- var outerName = type.displayName || null;
261
-
262
- if (outerName !== null) {
263
- return outerName;
264
- }
265
-
266
- return getComponentNameFromType(type.type) || 'Memo';
267
-
268
- case REACT_LAZY_TYPE:
269
- {
270
- var lazyComponent = type;
271
- var payload = lazyComponent._payload;
272
- var init = lazyComponent._init;
273
-
274
- try {
275
- return getComponentNameFromType(init(payload));
276
- } catch (x) {
277
- return null;
278
- }
113
+ if ("object" === typeof type)
114
+ switch (
115
+ ("number" === typeof type.tag &&
116
+ console.error(
117
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
118
+ ),
119
+ type.$$typeof)
120
+ ) {
121
+ case REACT_PORTAL_TYPE:
122
+ return "Portal";
123
+ case REACT_CONTEXT_TYPE:
124
+ return (type.displayName || "Context") + ".Provider";
125
+ case REACT_CONSUMER_TYPE:
126
+ return (type._context.displayName || "Context") + ".Consumer";
127
+ case REACT_FORWARD_REF_TYPE:
128
+ var innerType = type.render;
129
+ type = type.displayName;
130
+ type ||
131
+ ((type = innerType.displayName || innerType.name || ""),
132
+ (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"));
133
+ return type;
134
+ case REACT_MEMO_TYPE:
135
+ return (
136
+ (innerType = type.displayName || null),
137
+ null !== innerType
138
+ ? innerType
139
+ : getComponentNameFromType(type.type) || "Memo"
140
+ );
141
+ case REACT_LAZY_TYPE:
142
+ innerType = type._payload;
143
+ type = type._init;
144
+ try {
145
+ return getComponentNameFromType(type(innerType));
146
+ } catch (x) {}
279
147
  }
280
-
281
- // eslint-disable-next-line no-fallthrough
148
+ return null;
282
149
  }
283
- }
284
-
285
- return null;
286
- }
287
-
288
- var assign = Object.assign;
289
-
290
- // Helpers to patch console.logs to avoid logging during side-effect free
291
- // replaying on render function. This currently only patches the object
292
- // lazily which won't cover if the log function was extracted eagerly.
293
- // We could also eagerly patch the method.
294
- var disabledDepth = 0;
295
- var prevLog;
296
- var prevInfo;
297
- var prevWarn;
298
- var prevError;
299
- var prevGroup;
300
- var prevGroupCollapsed;
301
- var prevGroupEnd;
302
-
303
- function disabledLog() {}
304
-
305
- disabledLog.__reactDisabledLog = true;
306
- function disableLogs() {
307
- {
308
- if (disabledDepth === 0) {
309
- /* eslint-disable react-internal/no-production-logging */
310
- prevLog = console.log;
311
- prevInfo = console.info;
312
- prevWarn = console.warn;
313
- prevError = console.error;
314
- prevGroup = console.group;
315
- prevGroupCollapsed = console.groupCollapsed;
316
- prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099
317
-
318
- var props = {
319
- configurable: true,
320
- enumerable: true,
321
- value: disabledLog,
322
- writable: true
323
- }; // $FlowFixMe Flow thinks console is immutable.
324
-
325
- Object.defineProperties(console, {
326
- info: props,
327
- log: props,
328
- warn: props,
329
- error: props,
330
- group: props,
331
- groupCollapsed: props,
332
- groupEnd: props
333
- });
334
- /* eslint-enable react-internal/no-production-logging */
150
+ function testStringCoercion(value) {
151
+ return "" + value;
335
152
  }
336
-
337
- disabledDepth++;
338
- }
339
- }
340
- function reenableLogs() {
341
- {
342
- disabledDepth--;
343
-
344
- if (disabledDepth === 0) {
345
- /* eslint-disable react-internal/no-production-logging */
346
- var props = {
347
- configurable: true,
348
- enumerable: true,
349
- writable: true
350
- }; // $FlowFixMe Flow thinks console is immutable.
351
-
352
- Object.defineProperties(console, {
353
- log: assign({}, props, {
354
- value: prevLog
355
- }),
356
- info: assign({}, props, {
357
- value: prevInfo
358
- }),
359
- warn: assign({}, props, {
360
- value: prevWarn
361
- }),
362
- error: assign({}, props, {
363
- value: prevError
364
- }),
365
- group: assign({}, props, {
366
- value: prevGroup
367
- }),
368
- groupCollapsed: assign({}, props, {
369
- value: prevGroupCollapsed
370
- }),
371
- groupEnd: assign({}, props, {
372
- value: prevGroupEnd
373
- })
374
- });
375
- /* eslint-enable react-internal/no-production-logging */
376
- }
377
-
378
- if (disabledDepth < 0) {
379
- error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');
380
- }
381
- }
382
- }
383
-
384
- var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
385
- var prefix;
386
- function describeBuiltInComponentFrame(name, source, ownerFn) {
387
- {
388
- if (prefix === undefined) {
389
- // Extract the VM specific prefix used by each line.
153
+ function checkKeyStringCoercion(value) {
390
154
  try {
391
- throw Error();
392
- } catch (x) {
393
- var match = x.stack.trim().match(/\n( *(at )?)/);
394
- prefix = match && match[1] || '';
155
+ testStringCoercion(value);
156
+ var JSCompiler_inline_result = !1;
157
+ } catch (e) {
158
+ JSCompiler_inline_result = !0;
395
159
  }
396
- } // We use the prefix to ensure our stacks line up with native stack frames.
397
-
398
-
399
- return '\n' + prefix + name;
400
- }
401
- }
402
- var reentry = false;
403
- var componentFrameCache;
404
-
405
- {
406
- var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;
407
- componentFrameCache = new PossiblyWeakMap();
408
- }
409
-
410
- function describeNativeComponentFrame(fn, construct) {
411
- // If something asked for a stack inside a fake render, it should get ignored.
412
- if ( !fn || reentry) {
413
- return '';
414
- }
415
-
416
- {
417
- var frame = componentFrameCache.get(fn);
418
-
419
- if (frame !== undefined) {
420
- return frame;
421
- }
422
- }
423
-
424
- var control;
425
- reentry = true;
426
- var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.
427
-
428
- Error.prepareStackTrace = undefined;
429
- var previousDispatcher;
430
-
431
- {
432
- previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function
433
- // for warnings.
434
-
435
- ReactCurrentDispatcher.current = null;
436
- disableLogs();
437
- }
438
-
439
- try {
440
- // This should throw.
441
- if (construct) {
442
- // Something should be setting the props in the constructor.
443
- var Fake = function () {
444
- throw Error();
445
- }; // $FlowFixMe
446
-
447
-
448
- Object.defineProperty(Fake.prototype, 'props', {
449
- set: function () {
450
- // We use a throwing setter instead of frozen or non-writable props
451
- // because that won't throw in a non-strict mode function.
452
- throw Error();
453
- }
454
- });
455
-
456
- if (typeof Reflect === 'object' && Reflect.construct) {
457
- // We construct a different control for this case to include any extra
458
- // frames added by the construct call.
459
- try {
460
- Reflect.construct(Fake, []);
461
- } catch (x) {
462
- control = x;
463
- }
464
-
465
- Reflect.construct(fn, [], Fake);
466
- } else {
467
- try {
468
- Fake.call();
469
- } catch (x) {
470
- control = x;
471
- }
472
-
473
- fn.call(Fake.prototype);
160
+ if (JSCompiler_inline_result) {
161
+ JSCompiler_inline_result = console;
162
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
163
+ var JSCompiler_inline_result$jscomp$0 =
164
+ ("function" === typeof Symbol &&
165
+ Symbol.toStringTag &&
166
+ value[Symbol.toStringTag]) ||
167
+ value.constructor.name ||
168
+ "Object";
169
+ JSCompiler_temp_const.call(
170
+ JSCompiler_inline_result,
171
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
172
+ JSCompiler_inline_result$jscomp$0
173
+ );
174
+ return testStringCoercion(value);
474
175
  }
475
- } else {
176
+ }
177
+ function getTaskName(type) {
178
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
179
+ if (
180
+ "object" === typeof type &&
181
+ null !== type &&
182
+ type.$$typeof === REACT_LAZY_TYPE
183
+ )
184
+ return "<...>";
476
185
  try {
477
- throw Error();
186
+ var name = getComponentNameFromType(type);
187
+ return name ? "<" + name + ">" : "<...>";
478
188
  } catch (x) {
479
- control = x;
480
- }
481
-
482
- fn();
483
- }
484
- } catch (sample) {
485
- // This is inlined manually because closure doesn't do it for us.
486
- if (sample && control && typeof sample.stack === 'string') {
487
- // This extracts the first frame from the sample that isn't also in the control.
488
- // Skipping one frame that we assume is the frame that calls the two.
489
- var sampleLines = sample.stack.split('\n');
490
- var controlLines = control.stack.split('\n');
491
- var s = sampleLines.length - 1;
492
- var c = controlLines.length - 1;
493
-
494
- while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
495
- // We expect at least one stack frame to be shared.
496
- // Typically this will be the root most one. However, stack frames may be
497
- // cut off due to maximum stack limits. In this case, one maybe cut off
498
- // earlier than the other. We assume that the sample is longer or the same
499
- // and there for cut off earlier. So we should find the root most frame in
500
- // the sample somewhere in the control.
501
- c--;
502
- }
503
-
504
- for (; s >= 1 && c >= 0; s--, c--) {
505
- // Next we find the first one that isn't the same which should be the
506
- // frame that called our sample function and the control.
507
- if (sampleLines[s] !== controlLines[c]) {
508
- // In V8, the first line is describing the message but other VMs don't.
509
- // If we're about to return the first line, and the control is also on the same
510
- // line, that's a pretty good indicator that our sample threw at same line as
511
- // the control. I.e. before we entered the sample frame. So we ignore this result.
512
- // This can happen if you passed a class to function component, or non-function.
513
- if (s !== 1 || c !== 1) {
514
- do {
515
- s--;
516
- c--; // We may still have similar intermediate frames from the construct call.
517
- // The next one that isn't the same should be our match though.
518
-
519
- if (c < 0 || sampleLines[s] !== controlLines[c]) {
520
- // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier.
521
- var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "<anonymous>"
522
- // but we have a user-provided "displayName"
523
- // splice it in to make the stack more readable.
524
-
525
-
526
- if (fn.displayName && _frame.includes('<anonymous>')) {
527
- _frame = _frame.replace('<anonymous>', fn.displayName);
528
- }
529
-
530
- {
531
- if (typeof fn === 'function') {
532
- componentFrameCache.set(fn, _frame);
533
- }
534
- } // Return the line we found.
535
-
536
-
537
- return _frame;
538
- }
539
- } while (s >= 1 && c >= 0);
540
- }
541
-
542
- break;
543
- }
189
+ return "<...>";
544
190
  }
545
191
  }
546
- } finally {
547
- reentry = false;
548
-
549
- {
550
- ReactCurrentDispatcher.current = previousDispatcher;
551
- reenableLogs();
192
+ function getOwner() {
193
+ var dispatcher = ReactSharedInternals.A;
194
+ return null === dispatcher ? null : dispatcher.getOwner();
552
195
  }
553
-
554
- Error.prepareStackTrace = previousPrepareStackTrace;
555
- } // Fallback to just using the name if we couldn't make it throw.
556
-
557
-
558
- var name = fn ? fn.displayName || fn.name : '';
559
- var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';
560
-
561
- {
562
- if (typeof fn === 'function') {
563
- componentFrameCache.set(fn, syntheticFrame);
564
- }
565
- }
566
-
567
- return syntheticFrame;
568
- }
569
- function describeFunctionComponentFrame(fn, source, ownerFn) {
570
- {
571
- return describeNativeComponentFrame(fn, false);
572
- }
573
- }
574
-
575
- function shouldConstruct(Component) {
576
- var prototype = Component.prototype;
577
- return !!(prototype && prototype.isReactComponent);
578
- }
579
-
580
- function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
581
-
582
- if (type == null) {
583
- return '';
584
- }
585
-
586
- if (typeof type === 'function') {
587
- {
588
- return describeNativeComponentFrame(type, shouldConstruct(type));
589
- }
590
- }
591
-
592
- if (typeof type === 'string') {
593
- return describeBuiltInComponentFrame(type);
594
- }
595
-
596
- switch (type) {
597
- case REACT_SUSPENSE_TYPE:
598
- return describeBuiltInComponentFrame('Suspense');
599
-
600
- case REACT_SUSPENSE_LIST_TYPE:
601
- return describeBuiltInComponentFrame('SuspenseList');
602
- }
603
-
604
- if (typeof type === 'object') {
605
- switch (type.$$typeof) {
606
- case REACT_FORWARD_REF_TYPE:
607
- return describeFunctionComponentFrame(type.render);
608
-
609
- case REACT_MEMO_TYPE:
610
- // Memo may contain any component type so we recursively resolve it.
611
- return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
612
-
613
- case REACT_LAZY_TYPE:
614
- {
615
- var lazyComponent = type;
616
- var payload = lazyComponent._payload;
617
- var init = lazyComponent._init;
618
-
619
- try {
620
- // Lazy may contain any component type so we recursively resolve it.
621
- return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
622
- } catch (x) {}
623
- }
624
- }
625
- }
626
-
627
- return '';
628
- }
629
-
630
- var hasOwnProperty = Object.prototype.hasOwnProperty;
631
-
632
- var loggedTypeFailures = {};
633
- var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
634
-
635
- function setCurrentlyValidatingElement(element) {
636
- {
637
- if (element) {
638
- var owner = element._owner;
639
- var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
640
- ReactDebugCurrentFrame.setExtraStackFrame(stack);
641
- } else {
642
- ReactDebugCurrentFrame.setExtraStackFrame(null);
196
+ function UnknownOwner() {
197
+ return Error("react-stack-top-frame");
643
198
  }
644
- }
645
- }
646
-
647
- function checkPropTypes(typeSpecs, values, location, componentName, element) {
648
- {
649
- // $FlowFixMe This is okay but Flow doesn't know it.
650
- var has = Function.call.bind(hasOwnProperty);
651
-
652
- for (var typeSpecName in typeSpecs) {
653
- if (has(typeSpecs, typeSpecName)) {
654
- var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to
655
- // fail the render phase where it didn't fail before. So we log it.
656
- // After these have been cleaned up, we'll let them throw.
657
-
658
- try {
659
- // This is intentionally an invariant that gets caught. It's the same
660
- // behavior as without this statement except with a better message.
661
- if (typeof typeSpecs[typeSpecName] !== 'function') {
662
- // eslint-disable-next-line react-internal/prod-error-codes
663
- var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');
664
- err.name = 'Invariant Violation';
665
- throw err;
666
- }
667
-
668
- error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');
669
- } catch (ex) {
670
- error$1 = ex;
671
- }
672
-
673
- if (error$1 && !(error$1 instanceof Error)) {
674
- setCurrentlyValidatingElement(element);
675
-
676
- error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);
677
-
678
- setCurrentlyValidatingElement(null);
679
- }
680
-
681
- if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
682
- // Only monitor this failure once because there tends to be a lot of the
683
- // same error.
684
- loggedTypeFailures[error$1.message] = true;
685
- setCurrentlyValidatingElement(element);
686
-
687
- error('Failed %s type: %s', location, error$1.message);
688
-
689
- setCurrentlyValidatingElement(null);
690
- }
199
+ function hasValidKey(config) {
200
+ if (hasOwnProperty.call(config, "key")) {
201
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
202
+ if (getter && getter.isReactWarning) return !1;
691
203
  }
204
+ return void 0 !== config.key;
692
205
  }
693
- }
694
- }
695
-
696
- var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
697
-
698
- function isArray(a) {
699
- return isArrayImpl(a);
700
- }
701
-
702
- /*
703
- * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol
704
- * and Temporal.* types. See https://github.com/facebook/react/pull/22064.
705
- *
706
- * The functions in this module will throw an easier-to-understand,
707
- * easier-to-debug exception with a clear errors message message explaining the
708
- * problem. (Instead of a confusing exception thrown inside the implementation
709
- * of the `value` object).
710
- */
711
- // $FlowFixMe only called in DEV, so void return is not possible.
712
- function typeName(value) {
713
- {
714
- // toStringTag is needed for namespaced types like Temporal.Instant
715
- var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;
716
- var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';
717
- return type;
718
- }
719
- } // $FlowFixMe only called in DEV, so void return is not possible.
720
-
721
-
722
- function willCoercionThrow(value) {
723
- {
724
- try {
725
- testStringCoercion(value);
726
- return false;
727
- } catch (e) {
728
- return true;
206
+ function defineKeyPropWarningGetter(props, displayName) {
207
+ function warnAboutAccessingKey() {
208
+ specialPropKeyWarningShown ||
209
+ ((specialPropKeyWarningShown = !0),
210
+ console.error(
211
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
212
+ displayName
213
+ ));
214
+ }
215
+ warnAboutAccessingKey.isReactWarning = !0;
216
+ Object.defineProperty(props, "key", {
217
+ get: warnAboutAccessingKey,
218
+ configurable: !0
219
+ });
729
220
  }
730
- }
731
- }
732
-
733
- function testStringCoercion(value) {
734
- // If you ended up here by following an exception call stack, here's what's
735
- // happened: you supplied an object or symbol value to React (as a prop, key,
736
- // DOM attribute, CSS property, string ref, etc.) and when React tried to
737
- // coerce it to a string using `'' + value`, an exception was thrown.
738
- //
739
- // The most common types that will cause this exception are `Symbol` instances
740
- // and Temporal objects like `Temporal.Instant`. But any object that has a
741
- // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this
742
- // exception. (Library authors do this to prevent users from using built-in
743
- // numeric operators like `+` or comparison operators like `>=` because custom
744
- // methods are needed to perform accurate arithmetic or comparison.)
745
- //
746
- // To fix the problem, coerce this object or symbol value to a string before
747
- // passing it to React. The most reliable way is usually `String(value)`.
748
- //
749
- // To find which value is throwing, check the browser or debugger console.
750
- // Before this exception was thrown, there should be `console.error` output
751
- // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the
752
- // problem and how that type was used: key, atrribute, input value prop, etc.
753
- // In most cases, this console output also shows the component and its
754
- // ancestor components where the exception happened.
755
- //
756
- // eslint-disable-next-line react-internal/safe-string-coercion
757
- return '' + value;
758
- }
759
- function checkKeyStringCoercion(value) {
760
- {
761
- if (willCoercionThrow(value)) {
762
- error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));
763
-
764
- return testStringCoercion(value); // throw (to help callers find troubleshooting comments)
221
+ function elementRefGetterWithDeprecationWarning() {
222
+ var componentName = getComponentNameFromType(this.type);
223
+ didWarnAboutElementRef[componentName] ||
224
+ ((didWarnAboutElementRef[componentName] = !0),
225
+ console.error(
226
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
227
+ ));
228
+ componentName = this.props.ref;
229
+ return void 0 !== componentName ? componentName : null;
765
230
  }
766
- }
767
- }
768
-
769
- var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
770
- var RESERVED_PROPS = {
771
- key: true,
772
- ref: true,
773
- __self: true,
774
- __source: true
775
- };
776
- var specialPropKeyWarningShown;
777
- var specialPropRefWarningShown;
778
- var didWarnAboutStringRefs;
779
-
780
- {
781
- didWarnAboutStringRefs = {};
782
- }
783
-
784
- function hasValidRef(config) {
785
- {
786
- if (hasOwnProperty.call(config, 'ref')) {
787
- var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
788
-
789
- if (getter && getter.isReactWarning) {
790
- return false;
791
- }
231
+ function ReactElement(
232
+ type,
233
+ key,
234
+ self,
235
+ source,
236
+ owner,
237
+ props,
238
+ debugStack,
239
+ debugTask
240
+ ) {
241
+ self = props.ref;
242
+ type = {
243
+ $$typeof: REACT_ELEMENT_TYPE,
244
+ type: type,
245
+ key: key,
246
+ props: props,
247
+ _owner: owner
248
+ };
249
+ null !== (void 0 !== self ? self : null)
250
+ ? Object.defineProperty(type, "ref", {
251
+ enumerable: !1,
252
+ get: elementRefGetterWithDeprecationWarning
253
+ })
254
+ : Object.defineProperty(type, "ref", { enumerable: !1, value: null });
255
+ type._store = {};
256
+ Object.defineProperty(type._store, "validated", {
257
+ configurable: !1,
258
+ enumerable: !1,
259
+ writable: !0,
260
+ value: 0
261
+ });
262
+ Object.defineProperty(type, "_debugInfo", {
263
+ configurable: !1,
264
+ enumerable: !1,
265
+ writable: !0,
266
+ value: null
267
+ });
268
+ Object.defineProperty(type, "_debugStack", {
269
+ configurable: !1,
270
+ enumerable: !1,
271
+ writable: !0,
272
+ value: debugStack
273
+ });
274
+ Object.defineProperty(type, "_debugTask", {
275
+ configurable: !1,
276
+ enumerable: !1,
277
+ writable: !0,
278
+ value: debugTask
279
+ });
280
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
281
+ return type;
792
282
  }
793
- }
794
-
795
- return config.ref !== undefined;
796
- }
797
-
798
- function hasValidKey(config) {
799
- {
800
- if (hasOwnProperty.call(config, 'key')) {
801
- var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
802
-
803
- if (getter && getter.isReactWarning) {
804
- return false;
283
+ function jsxDEVImpl(
284
+ type,
285
+ config,
286
+ maybeKey,
287
+ isStaticChildren,
288
+ source,
289
+ self,
290
+ debugStack,
291
+ debugTask
292
+ ) {
293
+ var children = config.children;
294
+ if (void 0 !== children)
295
+ if (isStaticChildren)
296
+ if (isArrayImpl(children)) {
297
+ for (
298
+ isStaticChildren = 0;
299
+ isStaticChildren < children.length;
300
+ isStaticChildren++
301
+ )
302
+ validateChildKeys(children[isStaticChildren]);
303
+ Object.freeze && Object.freeze(children);
304
+ } else
305
+ console.error(
306
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
307
+ );
308
+ else validateChildKeys(children);
309
+ if (hasOwnProperty.call(config, "key")) {
310
+ children = getComponentNameFromType(type);
311
+ var keys = Object.keys(config).filter(function (k) {
312
+ return "key" !== k;
313
+ });
314
+ isStaticChildren =
315
+ 0 < keys.length
316
+ ? "{key: someKey, " + keys.join(": ..., ") + ": ...}"
317
+ : "{key: someKey}";
318
+ didWarnAboutKeySpread[children + isStaticChildren] ||
319
+ ((keys =
320
+ 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"),
321
+ console.error(
322
+ 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
323
+ isStaticChildren,
324
+ children,
325
+ keys,
326
+ children
327
+ ),
328
+ (didWarnAboutKeySpread[children + isStaticChildren] = !0));
805
329
  }
330
+ children = null;
331
+ void 0 !== maybeKey &&
332
+ (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey));
333
+ hasValidKey(config) &&
334
+ (checkKeyStringCoercion(config.key), (children = "" + config.key));
335
+ if ("key" in config) {
336
+ maybeKey = {};
337
+ for (var propName in config)
338
+ "key" !== propName && (maybeKey[propName] = config[propName]);
339
+ } else maybeKey = config;
340
+ children &&
341
+ defineKeyPropWarningGetter(
342
+ maybeKey,
343
+ "function" === typeof type
344
+ ? type.displayName || type.name || "Unknown"
345
+ : type
346
+ );
347
+ return ReactElement(
348
+ type,
349
+ children,
350
+ self,
351
+ source,
352
+ getOwner(),
353
+ maybeKey,
354
+ debugStack,
355
+ debugTask
356
+ );
806
357
  }
807
- }
808
-
809
- return config.key !== undefined;
810
- }
811
-
812
- function warnIfStringRefCannotBeAutoConverted(config, self) {
813
- {
814
- if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
815
- var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
816
-
817
- if (!didWarnAboutStringRefs[componentName]) {
818
- error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
819
-
820
- didWarnAboutStringRefs[componentName] = true;
821
- }
358
+ function validateChildKeys(node) {
359
+ "object" === typeof node &&
360
+ null !== node &&
361
+ node.$$typeof === REACT_ELEMENT_TYPE &&
362
+ node._store &&
363
+ (node._store.validated = 1);
822
364
  }
823
- }
824
- }
825
-
826
- function defineKeyPropWarningGetter(props, displayName) {
827
- {
828
- var warnAboutAccessingKey = function () {
829
- if (!specialPropKeyWarningShown) {
830
- specialPropKeyWarningShown = true;
831
-
832
- error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);
365
+ var React$1 = React,
366
+ REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
367
+ REACT_PORTAL_TYPE = Symbol.for("react.portal"),
368
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
369
+ REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
370
+ REACT_PROFILER_TYPE = Symbol.for("react.profiler");
371
+ var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
372
+ REACT_CONTEXT_TYPE = Symbol.for("react.context"),
373
+ REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
374
+ REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
375
+ REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"),
376
+ REACT_MEMO_TYPE = Symbol.for("react.memo"),
377
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
378
+ REACT_ACTIVITY_TYPE = Symbol.for("react.activity"),
379
+ REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"),
380
+ ReactSharedInternals =
381
+ React$1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
382
+ hasOwnProperty = Object.prototype.hasOwnProperty,
383
+ isArrayImpl = Array.isArray,
384
+ createTask = console.createTask
385
+ ? console.createTask
386
+ : function () {
387
+ return null;
388
+ };
389
+ React$1 = {
390
+ react_stack_bottom_frame: function (callStackForError) {
391
+ return callStackForError();
833
392
  }
834
393
  };
835
-
836
- warnAboutAccessingKey.isReactWarning = true;
837
- Object.defineProperty(props, 'key', {
838
- get: warnAboutAccessingKey,
839
- configurable: true
840
- });
841
- }
842
- }
843
-
844
- function defineRefPropWarningGetter(props, displayName) {
845
- {
846
- var warnAboutAccessingRef = function () {
847
- if (!specialPropRefWarningShown) {
848
- specialPropRefWarningShown = true;
849
-
850
- error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);
851
- }
394
+ var specialPropKeyWarningShown;
395
+ var didWarnAboutElementRef = {};
396
+ var unknownOwnerDebugStack = React$1.react_stack_bottom_frame.bind(
397
+ React$1,
398
+ UnknownOwner
399
+ )();
400
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
401
+ var didWarnAboutKeySpread = {};
402
+ reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
403
+ reactJsxRuntime_development.jsx = function (type, config, maybeKey, source, self) {
404
+ var trackActualOwner =
405
+ 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
406
+ return jsxDEVImpl(
407
+ type,
408
+ config,
409
+ maybeKey,
410
+ !1,
411
+ source,
412
+ self,
413
+ trackActualOwner
414
+ ? Error("react-stack-top-frame")
415
+ : unknownOwnerDebugStack,
416
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
417
+ );
418
+ };
419
+ reactJsxRuntime_development.jsxs = function (type, config, maybeKey, source, self) {
420
+ var trackActualOwner =
421
+ 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
422
+ return jsxDEVImpl(
423
+ type,
424
+ config,
425
+ maybeKey,
426
+ !0,
427
+ source,
428
+ self,
429
+ trackActualOwner
430
+ ? Error("react-stack-top-frame")
431
+ : unknownOwnerDebugStack,
432
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
433
+ );
852
434
  };
853
-
854
- warnAboutAccessingRef.isReactWarning = true;
855
- Object.defineProperty(props, 'ref', {
856
- get: warnAboutAccessingRef,
857
- configurable: true
858
- });
859
- }
860
- }
861
- /**
862
- * Factory method to create a new React element. This no longer adheres to
863
- * the class pattern, so do not use new to call it. Also, instanceof check
864
- * will not work. Instead test $$typeof field against Symbol.for('react.element') to check
865
- * if something is a React Element.
866
- *
867
- * @param {*} type
868
- * @param {*} props
869
- * @param {*} key
870
- * @param {string|object} ref
871
- * @param {*} owner
872
- * @param {*} self A *temporary* helper to detect places where `this` is
873
- * different from the `owner` when React.createElement is called, so that we
874
- * can warn. We want to get rid of owner and replace string `ref`s with arrow
875
- * functions, and as long as `this` and owner are the same, there will be no
876
- * change in behavior.
877
- * @param {*} source An annotation object (added by a transpiler or otherwise)
878
- * indicating filename, line number, and/or other information.
879
- * @internal
880
- */
881
-
882
-
883
- var ReactElement = function (type, key, ref, self, source, owner, props) {
884
- var element = {
885
- // This tag allows us to uniquely identify this as a React Element
886
- $$typeof: REACT_ELEMENT_TYPE,
887
- // Built-in properties that belong on the element
888
- type: type,
889
- key: key,
890
- ref: ref,
891
- props: props,
892
- // Record the component responsible for creating this element.
893
- _owner: owner
894
- };
895
-
896
- {
897
- // The validation flag is currently mutative. We put it on
898
- // an external backing store so that we can freeze the whole object.
899
- // This can be replaced with a WeakMap once they are implemented in
900
- // commonly used development environments.
901
- element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
902
- // the validation flag non-enumerable (where possible, which should
903
- // include every environment we run tests in), so the test framework
904
- // ignores it.
905
-
906
- Object.defineProperty(element._store, 'validated', {
907
- configurable: false,
908
- enumerable: false,
909
- writable: true,
910
- value: false
911
- }); // self and source are DEV only properties.
912
-
913
- Object.defineProperty(element, '_self', {
914
- configurable: false,
915
- enumerable: false,
916
- writable: false,
917
- value: self
918
- }); // Two elements created in two different places should be considered
919
- // equal for testing purposes and therefore we hide it from enumeration.
920
-
921
- Object.defineProperty(element, '_source', {
922
- configurable: false,
923
- enumerable: false,
924
- writable: false,
925
- value: source
926
- });
927
-
928
- if (Object.freeze) {
929
- Object.freeze(element.props);
930
- Object.freeze(element);
931
- }
932
- }
933
-
934
- return element;
935
- };
936
- /**
937
- * https://github.com/reactjs/rfcs/pull/107
938
- * @param {*} type
939
- * @param {object} props
940
- * @param {string} key
941
- */
942
-
943
- function jsxDEV(type, config, maybeKey, source, self) {
944
- {
945
- var propName; // Reserved names are extracted
946
-
947
- var props = {};
948
- var key = null;
949
- var ref = null; // Currently, key can be spread in as a prop. This causes a potential
950
- // issue if key is also explicitly declared (ie. <div {...props} key="Hi" />
951
- // or <div key="Hi" {...props} /> ). We want to deprecate key spread,
952
- // but as an intermediary step, we will use jsxDEV for everything except
953
- // <div {...props} key="Hi" />, because we aren't currently able to tell if
954
- // key is explicitly declared to be undefined or not.
955
-
956
- if (maybeKey !== undefined) {
957
- {
958
- checkKeyStringCoercion(maybeKey);
959
- }
960
-
961
- key = '' + maybeKey;
962
- }
963
-
964
- if (hasValidKey(config)) {
965
- {
966
- checkKeyStringCoercion(config.key);
967
- }
968
-
969
- key = '' + config.key;
970
- }
971
-
972
- if (hasValidRef(config)) {
973
- ref = config.ref;
974
- warnIfStringRefCannotBeAutoConverted(config, self);
975
- } // Remaining properties are added to a new props object
976
-
977
-
978
- for (propName in config) {
979
- if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
980
- props[propName] = config[propName];
981
- }
982
- } // Resolve default props
983
-
984
-
985
- if (type && type.defaultProps) {
986
- var defaultProps = type.defaultProps;
987
-
988
- for (propName in defaultProps) {
989
- if (props[propName] === undefined) {
990
- props[propName] = defaultProps[propName];
991
- }
992
- }
993
- }
994
-
995
- if (key || ref) {
996
- var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
997
-
998
- if (key) {
999
- defineKeyPropWarningGetter(props, displayName);
1000
- }
1001
-
1002
- if (ref) {
1003
- defineRefPropWarningGetter(props, displayName);
1004
- }
1005
- }
1006
-
1007
- return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
1008
- }
1009
- }
1010
-
1011
- var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
1012
- var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
1013
-
1014
- function setCurrentlyValidatingElement$1(element) {
1015
- {
1016
- if (element) {
1017
- var owner = element._owner;
1018
- var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
1019
- ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
1020
- } else {
1021
- ReactDebugCurrentFrame$1.setExtraStackFrame(null);
1022
- }
1023
- }
1024
- }
1025
-
1026
- var propTypesMisspellWarningShown;
1027
-
1028
- {
1029
- propTypesMisspellWarningShown = false;
1030
- }
1031
- /**
1032
- * Verifies the object is a ReactElement.
1033
- * See https://reactjs.org/docs/react-api.html#isvalidelement
1034
- * @param {?object} object
1035
- * @return {boolean} True if `object` is a ReactElement.
1036
- * @final
1037
- */
1038
-
1039
-
1040
- function isValidElement(object) {
1041
- {
1042
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
1043
- }
1044
- }
1045
-
1046
- function getDeclarationErrorAddendum() {
1047
- {
1048
- if (ReactCurrentOwner$1.current) {
1049
- var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
1050
-
1051
- if (name) {
1052
- return '\n\nCheck the render method of `' + name + '`.';
1053
- }
1054
- }
1055
-
1056
- return '';
1057
- }
1058
- }
1059
-
1060
- function getSourceInfoErrorAddendum(source) {
1061
- {
1062
- if (source !== undefined) {
1063
- var fileName = source.fileName.replace(/^.*[\\\/]/, '');
1064
- var lineNumber = source.lineNumber;
1065
- return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
1066
- }
1067
-
1068
- return '';
1069
- }
1070
- }
1071
- /**
1072
- * Warn if there's no key explicitly set on dynamic arrays of children or
1073
- * object keys are not valid. This allows us to keep track of children between
1074
- * updates.
1075
- */
1076
-
1077
-
1078
- var ownerHasKeyUseWarning = {};
1079
-
1080
- function getCurrentComponentErrorInfo(parentType) {
1081
- {
1082
- var info = getDeclarationErrorAddendum();
1083
-
1084
- if (!info) {
1085
- var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
1086
-
1087
- if (parentName) {
1088
- info = "\n\nCheck the top-level render call using <" + parentName + ">.";
1089
- }
1090
- }
1091
-
1092
- return info;
1093
- }
1094
- }
1095
- /**
1096
- * Warn if the element doesn't have an explicit key assigned to it.
1097
- * This element is in an array. The array could grow and shrink or be
1098
- * reordered. All children that haven't already been validated are required to
1099
- * have a "key" property assigned to it. Error statuses are cached so a warning
1100
- * will only be shown once.
1101
- *
1102
- * @internal
1103
- * @param {ReactElement} element Element that requires a key.
1104
- * @param {*} parentType element's parent's type.
1105
- */
1106
-
1107
-
1108
- function validateExplicitKey(element, parentType) {
1109
- {
1110
- if (!element._store || element._store.validated || element.key != null) {
1111
- return;
1112
- }
1113
-
1114
- element._store.validated = true;
1115
- var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
1116
-
1117
- if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
1118
- return;
1119
- }
1120
-
1121
- ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
1122
- // property, it may be the creator of the child that's responsible for
1123
- // assigning it a key.
1124
-
1125
- var childOwner = '';
1126
-
1127
- if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
1128
- // Give the component that originally created this child.
1129
- childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
1130
- }
1131
-
1132
- setCurrentlyValidatingElement$1(element);
1133
-
1134
- error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
1135
-
1136
- setCurrentlyValidatingElement$1(null);
1137
- }
1138
- }
1139
- /**
1140
- * Ensure that every element either is passed in a static location, in an
1141
- * array with an explicit keys property defined, or in an object literal
1142
- * with valid key property.
1143
- *
1144
- * @internal
1145
- * @param {ReactNode} node Statically passed child of any type.
1146
- * @param {*} parentType node's parent's type.
1147
- */
1148
-
1149
-
1150
- function validateChildKeys(node, parentType) {
1151
- {
1152
- if (typeof node !== 'object') {
1153
- return;
1154
- }
1155
-
1156
- if (isArray(node)) {
1157
- for (var i = 0; i < node.length; i++) {
1158
- var child = node[i];
1159
-
1160
- if (isValidElement(child)) {
1161
- validateExplicitKey(child, parentType);
1162
- }
1163
- }
1164
- } else if (isValidElement(node)) {
1165
- // This element was passed in a valid location.
1166
- if (node._store) {
1167
- node._store.validated = true;
1168
- }
1169
- } else if (node) {
1170
- var iteratorFn = getIteratorFn(node);
1171
-
1172
- if (typeof iteratorFn === 'function') {
1173
- // Entry iterators used to provide implicit keys,
1174
- // but now we print a separate warning for them later.
1175
- if (iteratorFn !== node.entries) {
1176
- var iterator = iteratorFn.call(node);
1177
- var step;
1178
-
1179
- while (!(step = iterator.next()).done) {
1180
- if (isValidElement(step.value)) {
1181
- validateExplicitKey(step.value, parentType);
1182
- }
1183
- }
1184
- }
1185
- }
1186
- }
1187
- }
1188
- }
1189
- /**
1190
- * Given an element, validate that its props follow the propTypes definition,
1191
- * provided by the type.
1192
- *
1193
- * @param {ReactElement} element
1194
- */
1195
-
1196
-
1197
- function validatePropTypes(element) {
1198
- {
1199
- var type = element.type;
1200
-
1201
- if (type === null || type === undefined || typeof type === 'string') {
1202
- return;
1203
- }
1204
-
1205
- var propTypes;
1206
-
1207
- if (typeof type === 'function') {
1208
- propTypes = type.propTypes;
1209
- } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
1210
- // Inner props are checked in the reconciler.
1211
- type.$$typeof === REACT_MEMO_TYPE)) {
1212
- propTypes = type.propTypes;
1213
- } else {
1214
- return;
1215
- }
1216
-
1217
- if (propTypes) {
1218
- // Intentionally inside to avoid triggering lazy initializers:
1219
- var name = getComponentNameFromType(type);
1220
- checkPropTypes(propTypes, element.props, 'prop', name, element);
1221
- } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
1222
- propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:
1223
-
1224
- var _name = getComponentNameFromType(type);
1225
-
1226
- error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');
1227
- }
1228
-
1229
- if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
1230
- error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
1231
- }
1232
- }
1233
- }
1234
- /**
1235
- * Given a fragment, validate that it can only be provided with fragment props
1236
- * @param {ReactElement} fragment
1237
- */
1238
-
1239
-
1240
- function validateFragmentProps(fragment) {
1241
- {
1242
- var keys = Object.keys(fragment.props);
1243
-
1244
- for (var i = 0; i < keys.length; i++) {
1245
- var key = keys[i];
1246
-
1247
- if (key !== 'children' && key !== 'key') {
1248
- setCurrentlyValidatingElement$1(fragment);
1249
-
1250
- error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
1251
-
1252
- setCurrentlyValidatingElement$1(null);
1253
- break;
1254
- }
1255
- }
1256
-
1257
- if (fragment.ref !== null) {
1258
- setCurrentlyValidatingElement$1(fragment);
1259
-
1260
- error('Invalid attribute `ref` supplied to `React.Fragment`.');
1261
-
1262
- setCurrentlyValidatingElement$1(null);
1263
- }
1264
- }
1265
- }
1266
-
1267
- var didWarnAboutKeySpread = {};
1268
- function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
1269
- {
1270
- var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
1271
- // succeed and there will likely be errors in render.
1272
-
1273
- if (!validType) {
1274
- var info = '';
1275
-
1276
- if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
1277
- info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports.";
1278
- }
1279
-
1280
- var sourceInfo = getSourceInfoErrorAddendum(source);
1281
-
1282
- if (sourceInfo) {
1283
- info += sourceInfo;
1284
- } else {
1285
- info += getDeclarationErrorAddendum();
1286
- }
1287
-
1288
- var typeString;
1289
-
1290
- if (type === null) {
1291
- typeString = 'null';
1292
- } else if (isArray(type)) {
1293
- typeString = 'array';
1294
- } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
1295
- typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />";
1296
- info = ' Did you accidentally export a JSX literal instead of a component?';
1297
- } else {
1298
- typeString = typeof type;
1299
- }
1300
-
1301
- error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
1302
- }
1303
-
1304
- var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.
1305
- // TODO: Drop this when these are no longer allowed as the type argument.
1306
-
1307
- if (element == null) {
1308
- return element;
1309
- } // Skip key warning if the type isn't valid since our key validation logic
1310
- // doesn't expect a non-string/function type and can throw confusing errors.
1311
- // We don't want exception behavior to differ between dev and prod.
1312
- // (Rendering will throw with a helpful message and as soon as the type is
1313
- // fixed, the key warnings will appear.)
1314
-
1315
-
1316
- if (validType) {
1317
- var children = props.children;
1318
-
1319
- if (children !== undefined) {
1320
- if (isStaticChildren) {
1321
- if (isArray(children)) {
1322
- for (var i = 0; i < children.length; i++) {
1323
- validateChildKeys(children[i], type);
1324
- }
1325
-
1326
- if (Object.freeze) {
1327
- Object.freeze(children);
1328
- }
1329
- } else {
1330
- error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');
1331
- }
1332
- } else {
1333
- validateChildKeys(children, type);
1334
- }
1335
- }
1336
- }
1337
-
1338
- {
1339
- if (hasOwnProperty.call(props, 'key')) {
1340
- var componentName = getComponentNameFromType(type);
1341
- var keys = Object.keys(props).filter(function (k) {
1342
- return k !== 'key';
1343
- });
1344
- var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';
1345
-
1346
- if (!didWarnAboutKeySpread[componentName + beforeExample]) {
1347
- var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';
1348
-
1349
- error('A props object containing a "key" prop is being spread into JSX:\n' + ' let props = %s;\n' + ' <%s {...props} />\n' + 'React keys must be passed directly to JSX without using spread:\n' + ' let props = %s;\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
1350
-
1351
- didWarnAboutKeySpread[componentName + beforeExample] = true;
1352
- }
1353
- }
1354
- }
1355
-
1356
- if (type === REACT_FRAGMENT_TYPE) {
1357
- validateFragmentProps(element);
1358
- } else {
1359
- validatePropTypes(element);
1360
- }
1361
-
1362
- return element;
1363
- }
1364
- } // These two functions exist to still get child warnings in dev
1365
- // even with the prod transform. This means that jsxDEV is purely
1366
- // opt-in behavior for better messages but that we won't stop
1367
- // giving you warnings if you use production apis.
1368
-
1369
- function jsxWithValidationStatic(type, props, key) {
1370
- {
1371
- return jsxWithValidation(type, props, key, true);
1372
- }
1373
- }
1374
- function jsxWithValidationDynamic(type, props, key) {
1375
- {
1376
- return jsxWithValidation(type, props, key, false);
1377
- }
1378
- }
1379
-
1380
- var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.
1381
- // for now we can ship identical prod functions
1382
-
1383
- var jsxs = jsxWithValidationStatic ;
1384
-
1385
- reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
1386
- reactJsxRuntime_development.jsx = jsx;
1387
- reactJsxRuntime_development.jsxs = jsxs;
1388
435
  })();
1389
- }
1390
436
  return reactJsxRuntime_development;
1391
437
  }
1392
438
 
1393
439
  if (process.env.NODE_ENV === 'production') {
1394
- jsxRuntime.exports = requireReactJsxRuntime_production_min();
440
+ jsxRuntime.exports = requireReactJsxRuntime_production();
1395
441
  } else {
1396
442
  jsxRuntime.exports = requireReactJsxRuntime_development();
1397
443
  }
@@ -2688,7 +1734,7 @@ var useTileSize = function (tile) {
2688
1734
  * Renders the body text of a BaseTile component.
2689
1735
  *
2690
1736
  * @param {BaseTileBodyProps} props - Component props including text styling options
2691
- * @returns {JSX.Element|null} The rendered body text or null if conditions for display are not met
1737
+ * @returns {React.ReactElement|null} The rendered body text or null if conditions for display are not met
2692
1738
  */
2693
1739
  var BaseTileBody = function (props) {
2694
1740
  var tileContext = useTileContext();
@@ -2802,7 +1848,7 @@ var useBaseTileStyles = function () {
2802
1848
  *
2803
1849
  * @param {BaseTileContentProps} props - Component props
2804
1850
  * @param {ReactNode} props.children - Child elements to render within the content area
2805
- * @returns {JSX.Element|null} The rendered content or null if conditions for display are not met
1851
+ * @returns {React.ReactElement|null} The rendered content or null if conditions for display are not met
2806
1852
  */
2807
1853
  var BaseTileContent = function (_a) {
2808
1854
  var children = _a.children;
@@ -2829,7 +1875,7 @@ var BaseTileContent = function (_a) {
2829
1875
  *
2830
1876
  * @param {BaseTileHeaderProps} props - Component props
2831
1877
  * @param {ReactNode} props.children - Child elements to render within the header
2832
- * @returns {JSX.Element|null} The rendered header or null if conditions for display are not met
1878
+ * @returns {React.ReactElement|null} The rendered header or null if conditions for display are not met
2833
1879
  */
2834
1880
  var BaseTileHeader = function (_a) {
2835
1881
  var children = _a.children;
@@ -2851,7 +1897,7 @@ var BaseTileHeader = function (_a) {
2851
1897
  * Renders the media (image) for a BaseTile component.
2852
1898
  *
2853
1899
  * @param {ImagePropsNoSource} props - The image props excluding source
2854
- * @returns {JSX.Element|null} The rendered image or null if no artwork URL is present
1900
+ * @returns {React.ReactElement|null} The rendered image or null if no artwork URL is present
2855
1901
  */
2856
1902
  var BaseTileMedia = function (props) {
2857
1903
  var tileContext = useTileContext();
@@ -2867,7 +1913,7 @@ var BaseTileMedia = function (props) {
2867
1913
  /**
2868
1914
  * Renders the title of a BaseTile component.
2869
1915
  *
2870
- * @returns {JSX.Element|null} The rendered title or null if conditions for display are not met
1916
+ * @returns {React.ReactElement|null} The rendered title or null if conditions for display are not met
2871
1917
  */
2872
1918
  var BaseTileTitle = function () {
2873
1919
  var _a, _b;
@@ -2954,7 +2000,7 @@ var BaseTileContainer = function (_a) {
2954
2000
  * BaseTileRoot component to provide context and render children.
2955
2001
  *
2956
2002
  * @param {BaseTileProps} props - Component props
2957
- * @returns {JSX.Element|null} The rendered BaseTileRoot or null if no tile is provided
2003
+ * @returns {React.ReactElement|null} The rendered BaseTileRoot or null if no tile is provided
2958
2004
  */
2959
2005
  var BaseTileRoot = function (_a) {
2960
2006
  var tile = _a.tile, children = _a.children, style = _a.style;
@@ -3293,7 +2339,7 @@ var useBadgeTileStyles = function () {
3293
2339
  /**
3294
2340
  * Renders the date earned for a Badge Tile.
3295
2341
  *
3296
- * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists
2342
+ * @returns React.ReactElement or null if badge is not earned or badgeNotEarnedMessage exists
3297
2343
  */
3298
2344
  var BadgeTileDateEarned = function () {
3299
2345
  var styles = useBadgeTileStyles();
@@ -3327,7 +2373,7 @@ var BadgeTileDateEarned = function () {
3327
2373
  /**
3328
2374
  * Renders the description for a Badge Tile.
3329
2375
  *
3330
- * @returns JSX.Element or null if description is not present
2376
+ * @returns React.ReactElement or null if description is not present
3331
2377
  */
3332
2378
  var BadgeTileDescription = function () {
3333
2379
  var tileContext = useTileContext();
@@ -3359,7 +2405,7 @@ var BadgeTileDescription = function () {
3359
2405
  /**
3360
2406
  * Renders the media for a Badge Tile.
3361
2407
  *
3362
- * @returns JSX.Element or null if media is not present
2408
+ * @returns React.ReactElement or null if media is not present
3363
2409
  */
3364
2410
  var BadgeTileMedia = function (_a) {
3365
2411
  var children = _a.children, alt = _a.alt, props = __rest(_a, ["children", "alt"]);
@@ -3381,7 +2427,7 @@ var BadgeTileMedia = function (_a) {
3381
2427
  /**
3382
2428
  * Renders the status for a Badge Tile.
3383
2429
  *
3384
- * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists
2430
+ * @returns React.ReactElement or null if badge is not earned or badgeNotEarnedMessage exists
3385
2431
  */
3386
2432
  var BadgeTileStatus = function () {
3387
2433
  var styles = useBadgeTileStyles();
@@ -3400,7 +2446,7 @@ var BadgeTileStatus = function () {
3400
2446
  /**
3401
2447
  * Renders the title for a Badge Tile.
3402
2448
  *
3403
- * @returns JSX.Element or null if name is not present
2449
+ * @returns React.ReactElement or null if name is not present
3404
2450
  */
3405
2451
  var BadgeTileTitle = function () {
3406
2452
  var styles = useBadgeTileStyles();
@@ -3420,7 +2466,7 @@ var BadgeTileTitle = function () {
3420
2466
 
3421
2467
  /**
3422
2468
  * The main BadgeTile component.
3423
- * @returns JSX.Element or null if tile is not active or tileHeight is not full.
2469
+ * @returns React.ReactElement or null if tile is not active or tileHeight is not full.
3424
2470
  * This component renders a badge tile with optional media, status, title, description, and date earned.
3425
2471
  */
3426
2472
  var BadgeTileRoot = function (_a) {
@@ -3444,7 +2490,7 @@ var BadgeTile$1 = withTileFetching(BadgeTile);
3444
2490
  /**
3445
2491
  * Renders the call to action of a Banner Tile.
3446
2492
  *
3447
- * @returns JSX.Element or null if no text or required props are present
2493
+ * @returns React.ReactElement or null if no text or required props are present
3448
2494
  */
3449
2495
  var BannerTileCTA = function () {
3450
2496
  var bannerContext = useBannerContext();
@@ -3498,7 +2544,7 @@ var useBannerTileStyles = function () {
3498
2544
  /**
3499
2545
  * Renders the description text of a Banner Tile.
3500
2546
  *
3501
- * @returns JSX.Element or null if no description is present
2547
+ * @returns React.ReactElement or null if no description is present
3502
2548
  */
3503
2549
  var BannerTileDescription = function () {
3504
2550
  var styles = useBannerTileStyles();
@@ -3514,7 +2560,7 @@ var BannerTileDescription = function () {
3514
2560
  /**
3515
2561
  * Renders the media of a Banner Tile.
3516
2562
  *
3517
- * @returns JSX.Element or null if no media is present
2563
+ * @returns React.ReactElement or null if no media is present
3518
2564
  */
3519
2565
  var BannerTileMedia = function (_a) {
3520
2566
  var isArtworkOnly = _a.isArtworkOnly;
@@ -3534,7 +2580,7 @@ var BannerTileMedia = function (_a) {
3534
2580
  /**
3535
2581
  * Renders the title of a Banner Tile.
3536
2582
  *
3537
- * @returns JSX.Element or null if no title is present
2583
+ * @returns React.ReactElement or null if no title is present
3538
2584
  */
3539
2585
  var BannerTileTitle = function () {
3540
2586
  var styles = useBannerTileStyles();
@@ -3564,7 +2610,7 @@ var isArtworkOnly$2 = function (configuration) {
3564
2610
  * This component renders a banner tile with optional media, title, description, and CTA.
3565
2611
  *
3566
2612
  * @param {BannerTileProps} props - Component props
3567
- * @returns {JSX.Element | null} Rendered component or null if tile is inactive
2613
+ * @returns {React.ReactElement | null} Rendered component or null if tile is inactive
3568
2614
  */
3569
2615
  var BannerTileRoot = function (_a) {
3570
2616
  var tile = _a.tile;
@@ -3731,7 +2777,7 @@ var isArtworkOnly$1 = function (configuration) {
3731
2777
  *
3732
2778
  * @param {ContentTileProps} props - Component props
3733
2779
  * @param {Tile} props.tile - The tile data to render
3734
- * @returns JSX.Element or null if tile is inactive
2780
+ * @returns React.ReactElement or null if tile is inactive
3735
2781
  */
3736
2782
  var ContentTileRoot = function (_a) {
3737
2783
  var tile = _a.tile;
@@ -3859,6 +2905,85 @@ var useInitialGroupFetch = function (_a) {
3859
2905
  return { isLoading: isLoading, error: error };
3860
2906
  };
3861
2907
 
2908
+ /**
2909
+ * Hook to invalidate SDK data
2910
+ * @returns Methods to trigger SDK data updates
2911
+ */
2912
+ function useInvalidateData() {
2913
+ var sdk = useWllSdk();
2914
+ return {
2915
+ invalidateGroupData: function () {
2916
+ if (sdk) {
2917
+ sdk.notifyDataChange('GROUP_DATA_CHANGED');
2918
+ }
2919
+ },
2920
+ invalidateSectionData: function (sectionId) {
2921
+ if (sdk) {
2922
+ sdk.notifyDataChange('SECTION_DATA_CHANGED', { sectionId: sectionId });
2923
+ }
2924
+ },
2925
+ invalidateTileData: function (tileId) {
2926
+ if (sdk) {
2927
+ sdk.notifyDataChange('TILE_DATA_CHANGED', { tileId: tileId });
2928
+ }
2929
+ },
2930
+ };
2931
+ }
2932
+
2933
+ function usePullToRefresh(_a) {
2934
+ var _this = this;
2935
+ var _b = _a === void 0 ? {} : _a, onRefresh = _b.onRefresh, externalRefreshing = _b.refreshing;
2936
+ var _c = React.useState(false), internalRefreshing = _c[0], setInternalRefreshing = _c[1];
2937
+ var invalidateGroupData = useInvalidateData().invalidateGroupData;
2938
+ var refreshing = externalRefreshing !== null && externalRefreshing !== void 0 ? externalRefreshing : internalRefreshing;
2939
+ var handleRefresh = React.useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
2940
+ var error_1;
2941
+ return __generator(this, function (_a) {
2942
+ switch (_a.label) {
2943
+ case 0:
2944
+ if (refreshing)
2945
+ return [2 /*return*/];
2946
+ setInternalRefreshing(true);
2947
+ _a.label = 1;
2948
+ case 1:
2949
+ _a.trys.push([1, 6, 7, 8]);
2950
+ if (!onRefresh) return [3 /*break*/, 3];
2951
+ return [4 /*yield*/, onRefresh()];
2952
+ case 2:
2953
+ _a.sent();
2954
+ return [3 /*break*/, 5];
2955
+ case 3:
2956
+ // Default behavior: refresh all group data
2957
+ invalidateGroupData();
2958
+ // Add a small delay to show the refresh animation
2959
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 1000); })];
2960
+ case 4:
2961
+ // Add a small delay to show the refresh animation
2962
+ _a.sent();
2963
+ _a.label = 5;
2964
+ case 5: return [3 /*break*/, 8];
2965
+ case 6:
2966
+ error_1 = _a.sent();
2967
+ console.error('Pull to refresh failed:', error_1);
2968
+ return [3 /*break*/, 8];
2969
+ case 7:
2970
+ setInternalRefreshing(false);
2971
+ return [7 /*endfinally*/];
2972
+ case 8: return [2 /*return*/];
2973
+ }
2974
+ });
2975
+ }); }, [refreshing, onRefresh, invalidateGroupData]);
2976
+ var refreshControl = React.createElement(reactNative.RefreshControl, {
2977
+ refreshing: refreshing,
2978
+ onRefresh: handleRefresh,
2979
+ });
2980
+ return {
2981
+ refreshControl: refreshControl,
2982
+ refreshing: refreshing,
2983
+ handleRefresh: handleRefresh,
2984
+ };
2985
+ }
2986
+
3862
2987
  exports.SectionType = void 0;
3863
2988
  (function (SectionType) {
3864
2989
  SectionType["Grid"] = "GRID";
@@ -4329,7 +3454,7 @@ var useSectionData = function (section, sectionId) {
4329
3454
  *
4330
3455
  * @param {Object} props - Component props
4331
3456
  * @param {string} props.message - Message to display in the empty state
4332
- * @returns {JSX.Element} The empty state component
3457
+ * @returns {React.ReactElement} The empty state component
4333
3458
  */
4334
3459
  var EmptyState = function (_a) {
4335
3460
  var message = _a.message;
@@ -4341,7 +3466,7 @@ var EmptyState = function (_a) {
4341
3466
  * @param {SectionProps} props - Component props
4342
3467
  * @param {TSection} [props.section] - The section data
4343
3468
  * @param {string} [props.sectionId] - The ID of the section to fetch
4344
- * @returns {JSX.Element|null} The rendered section or null if invalid props
3469
+ * @returns {React.ReactElement|null} The rendered section or null if invalid props
4345
3470
  */
4346
3471
  var Section = function (_a) {
4347
3472
  var section = _a.section, sectionId = _a.sectionId;
@@ -4428,7 +3553,7 @@ var useGroupData = function (id) {
4428
3553
  *
4429
3554
  * @param {GroupEmptyStateProps} props - Component props
4430
3555
  * @param {string} props.message - Message to display
4431
- * @returns {JSX.Element} The empty state component
3556
+ * @returns {React.ReactElement} The empty state component
4432
3557
  */
4433
3558
  var GroupEmptyState = function (_a) {
4434
3559
  var message = _a.message;
@@ -4437,7 +3562,7 @@ var GroupEmptyState = function (_a) {
4437
3562
  /**
4438
3563
  * Component to render all sections in a group
4439
3564
  *
4440
- * @returns {JSX.Element} The sections component
3565
+ * @returns {React.ReactElement} The sections component
4441
3566
  */
4442
3567
  var GroupSections = function () {
4443
3568
  var groupData = useGroupContext().groupData;
@@ -4450,7 +3575,8 @@ var GroupSections = function () {
4450
3575
  return (jsxRuntimeExports.jsx(GroupEmptyState, { message: "This group doesn't have any active sections" }));
4451
3576
  }
4452
3577
  var sortedSections = sortByPriority(activeSections);
4453
- return (jsxRuntimeExports.jsx(reactNative.View, { accessible: true, accessibilityLabel: "Group: ".concat(groupData.name || 'Unnamed group'), role: "region", children: sortedSections.map(function (section) { return (jsxRuntimeExports.jsx(Section, { section: section }, section.id)); }) }));
3578
+ var Container = IS_WEB ? reactNative.View : reactNative.ScrollView;
3579
+ return (jsxRuntimeExports.jsx(Container, { accessible: true, accessibilityLabel: "Group: ".concat(groupData.name || 'Unnamed group'), role: "region", children: sortedSections.map(function (section) { return (jsxRuntimeExports.jsx(Section, { section: section }, section.id)); }) }));
4454
3580
  };
4455
3581
  /**
4456
3582
  * A page-level component that represents a Group view in the application.
@@ -4462,17 +3588,21 @@ var GroupSections = function () {
4462
3588
  *
4463
3589
  * @param {GroupProps} props - Component props
4464
3590
  * @param {string} props.id - The unique identifier of the group to fetch and display
4465
- * @returns {JSX.Element|null} The rendered group or null if invalid ID
3591
+ * @returns {React.ReactElement|null} The rendered group or null if invalid ID
4466
3592
  */
4467
3593
  var Group = function (_a) {
4468
- var id = _a.id;
3594
+ var id = _a.id, _b = _a.enablePullToRefresh, enablePullToRefresh = _b === void 0 ? true : _b, onRefresh = _a.onRefresh;
4469
3595
  if (!id) {
4470
3596
  console.warn('Group component requires id prop');
4471
3597
  return null;
4472
3598
  }
4473
- var _b = useGroupData(id), groupData = _b.groupData, isLoading = _b.isLoading, error = _b.error;
3599
+ var _c = useGroupData(id), groupData = _c.groupData, isLoading = _c.isLoading, error = _c.error;
4474
3600
  var theme = useWllSdk().theme;
4475
- if (isLoading) {
3601
+ var _d = usePullToRefresh({
3602
+ onRefresh: onRefresh,
3603
+ refreshing: isLoading && !groupData
3604
+ }), refreshControl = _d.refreshControl; _d.refreshing;
3605
+ if (isLoading && !groupData) {
4476
3606
  return (jsxRuntimeExports.jsx(reactNative.View, { style: {
4477
3607
  flex: 1,
4478
3608
  padding: IS_MOBILE ? theme.sizes.lg : undefined,
@@ -4481,7 +3611,14 @@ var Group = function (_a) {
4481
3611
  if (error || !groupData) {
4482
3612
  return jsxRuntimeExports.jsx(GroupEmptyState, { message: error || 'No group data available' });
4483
3613
  }
4484
- return (jsxRuntimeExports.jsx(GroupContext.Provider, { value: { groupData: groupData }, children: jsxRuntimeExports.jsx(reactNative.View, { testID: "group-container", children: jsxRuntimeExports.jsx(GroupSections, {}) }) }));
3614
+ var Container = IS_WEB ? reactNative.View : reactNative.ScrollView;
3615
+ var containerProps = IS_WEB
3616
+ ? {}
3617
+ : {
3618
+ refreshControl: enablePullToRefresh ? refreshControl : undefined,
3619
+ showsVerticalScrollIndicator: true,
3620
+ };
3621
+ return (jsxRuntimeExports.jsx(GroupContext.Provider, { value: { groupData: groupData }, children: jsxRuntimeExports.jsx(reactNative.View, { testID: "group-container", children: jsxRuntimeExports.jsx(Container, __assign({}, containerProps, { children: jsxRuntimeExports.jsx(GroupSections, {}) })) }) }));
4485
3622
  };
4486
3623
 
4487
3624
  /**
@@ -4694,7 +3831,7 @@ var usePointsTileStyles = function (isFullSize) {
4694
3831
  /**
4695
3832
  * Renders formatted points value for a Points Tile.
4696
3833
  *
4697
- * @returns JSX.Element or null if points are undefined or zero
3834
+ * @returns React.ReactElement or null if points are undefined or zero
4698
3835
  */
4699
3836
  var PointsTileFormattedPoints = function () {
4700
3837
  var styles = usePointsTileStyles();
@@ -4712,7 +3849,7 @@ var PointsTileFormattedPoints = function () {
4712
3849
  /**
4713
3850
  * Renders the media of a Points Tile.
4714
3851
  *
4715
- * @returns JSX.Element or null if media is not present
3852
+ * @returns React.ReactElement or null if media is not present
4716
3853
  */
4717
3854
  var PointsTileMedia = function (_a) {
4718
3855
  var isFullSize = _a.isFullSize;
@@ -4729,7 +3866,7 @@ var PointsTileMedia = function (_a) {
4729
3866
  /**
4730
3867
  * Renders the title of a Points Tile.
4731
3868
  *
4732
- * @returns JSX.Element or null if no title is present
3869
+ * @returns React.ReactElement or null if no title is present
4733
3870
  */
4734
3871
  var PointsTileTitle = function () {
4735
3872
  var tileContext = useTileContext();
@@ -4744,7 +3881,7 @@ var PointsTileTitle = function () {
4744
3881
  /**
4745
3882
  * Renders a chevron icon for a Roundup Tile.
4746
3883
  *
4747
- * @returns JSX.Element
3884
+ * @returns React.ReactElement
4748
3885
  */
4749
3886
  var PointsTileChevron = function () {
4750
3887
  var _a, _b;
@@ -4763,7 +3900,7 @@ var PointsTileChevron = function () {
4763
3900
  * The PointsTile component renders a tile with media, title, and formatted points.
4764
3901
  *
4765
3902
  * @param props - Component props
4766
- * @returns JSX.Element or null if tile is inactive or missing required props
3903
+ * @returns React.ReactElement or null if tile is inactive or missing required props
4767
3904
  */
4768
3905
  var PointsTileRoot = function (_a) {
4769
3906
  var tile = _a.tile;
@@ -4825,7 +3962,7 @@ var useRewardCategoryTileStyles = function () {
4825
3962
  /**
4826
3963
  * Renders the header for a Reward Category Tile.
4827
3964
  *
4828
- * @returns JSX.Element or null if showName is false or name is not present
3965
+ * @returns React.ReactElement or null if showName is false or name is not present
4829
3966
  */
4830
3967
  var RewardCategoryHeader = function () {
4831
3968
  var styles = useRewardCategoryTileStyles();
@@ -4842,7 +3979,7 @@ var RewardCategoryHeader = function () {
4842
3979
  /**
4843
3980
  * Renders the background media for a Reward Category Tile.
4844
3981
  *
4845
- * @returns JSX.Element or null if no artwork URL is present
3982
+ * @returns React.ReactElement or null if no artwork URL is present
4846
3983
  */
4847
3984
  var RewardCategoryMedia = function () {
4848
3985
  var styles = useRewardCategoryTileStyles();
@@ -4860,7 +3997,7 @@ var RewardCategoryMedia = function () {
4860
3997
  *
4861
3998
  * @param {RewardCategoryTileProps} props - The component props
4862
3999
  * @param {Tile} props.tile - The tile data to render
4863
- * @returns {JSX.Element|null} Rendered component or null if tile is inactive or missing configuration
4000
+ * @returns {React.ReactElement|null} Rendered component or null if tile is inactive or missing configuration
4864
4001
  */
4865
4002
  var RewardCategoryTileRoot = function (_a) {
4866
4003
  var tile = _a.tile;
@@ -4880,7 +4017,7 @@ var RewardCategoryTile$1 = withTileFetching(RewardCategoryTile);
4880
4017
  /**
4881
4018
  * Renders a chevron icon for a Reward Tile.
4882
4019
  *
4883
- * @returns JSX.Element
4020
+ * @returns React.ReactElement
4884
4021
  */
4885
4022
  var RewardTileChevron = function () {
4886
4023
  var _a;
@@ -4941,7 +4078,7 @@ var useRewardTileStyles = function () {
4941
4078
  *
4942
4079
  * @param props {RewardTileMediaProps} - Component props
4943
4080
  * @param props.isArtworkOnly {boolean} - Whether the media should be rendered as an artwork only component
4944
- * @returns JSX.Element or null if no artwork URL is present or artwork should not be shown
4081
+ * @returns React.ReactElement or null if no artwork URL is present or artwork should not be shown
4945
4082
  */
4946
4083
  var RewardTileMedia = function (_a) {
4947
4084
  var isArtworkOnly = _a.isArtworkOnly;
@@ -4961,7 +4098,7 @@ var RewardTileMedia = function (_a) {
4961
4098
  /**
4962
4099
  * Renders the points value of a Reward Tile.
4963
4100
  *
4964
- * @returns JSX.Element or null if price should not be shown or is zero/undefined
4101
+ * @returns React.ReactElement or null if price should not be shown or is zero/undefined
4965
4102
  */
4966
4103
  var RewardTilePoints = function () {
4967
4104
  var styles = useRewardTileStyles();
@@ -4979,7 +4116,7 @@ var RewardTilePoints = function () {
4979
4116
  /**
4980
4117
  * Renders the summary of a Reward Tile.
4981
4118
  *
4982
- * @returns JSX.Element or null if no summary is present
4119
+ * @returns React.ReactElement or null if no summary is present
4983
4120
  */
4984
4121
  var RewardTileSummary = function () {
4985
4122
  var tileContext = useTileContext();
@@ -4996,7 +4133,7 @@ var RewardTileSummary = function () {
4996
4133
  /**
4997
4134
  * Renders the title of a Reward Tile.
4998
4135
  *
4999
- * @returns JSX.Element or null if no name is present
4136
+ * @returns React.ReactElement or null if no name is present
5000
4137
  */
5001
4138
  var RewardTileTitle = function () {
5002
4139
  var tileContext = useTileContext();
@@ -5030,7 +4167,7 @@ var isArtworkOnly = function (configuration) {
5030
4167
  *
5031
4168
  * @param {RewardTileProps} props - Component props
5032
4169
  * @param {Tile} props.tile - The tile data to render
5033
- * @returns JSX.Element or null if tile is inactive or not a full-height tile
4170
+ * @returns React.ReactElement or null if tile is inactive or not a full-height tile
5034
4171
  */
5035
4172
  var RewardTileRoot = function (_a) {
5036
4173
  var tile = _a.tile;
@@ -5142,7 +4279,7 @@ TierTile.Empty = TierTileEmpty;
5142
4279
  /**
5143
4280
  * Renders formatted points value for a Roundup Tile.
5144
4281
  *
5145
- * @returns JSX.Element or null if points are undefined or zero
4282
+ * @returns React.ReactElement or null if points are undefined or zero
5146
4283
  */
5147
4284
  var RoundupTileFormattedPoints = function () {
5148
4285
  var tileContext = useTileContext();
@@ -5221,7 +4358,7 @@ var useRoundupTileStyles = function (isFullSize) {
5221
4358
  /**
5222
4359
  * Renders the media of a Points Tile.
5223
4360
  *
5224
- * @returns JSX.Element or null if media is not present
4361
+ * @returns React.ReactElement or null if media is not present
5225
4362
  */
5226
4363
  var RoundupTileMedia = function (_a) {
5227
4364
  var isFullSize = _a.isFullSize;
@@ -5238,7 +4375,7 @@ var RoundupTileMedia = function (_a) {
5238
4375
  /**
5239
4376
  * Renders the title of a Roundup Tile.
5240
4377
  *
5241
- * @returns JSX.Element or null if no title is present
4378
+ * @returns React.ReactElement or null if no title is present
5242
4379
  */
5243
4380
  var RoundupTileTitle = function () {
5244
4381
  var tileContext = useTileContext();
@@ -5253,7 +4390,7 @@ var RoundupTileTitle = function () {
5253
4390
  /**
5254
4391
  * Renders a chevron icon for a Roundup Tile.
5255
4392
  *
5256
- * @returns JSX.Element
4393
+ * @returns React.ReactElement
5257
4394
  */
5258
4395
  var RoundupTileChevron = function () {
5259
4396
  var _a, _b;
@@ -5272,7 +4409,7 @@ var RoundupTileChevron = function () {
5272
4409
  * The PointsTile component renders a tile with media, title, and formatted points.
5273
4410
  *
5274
4411
  * @param props - Component props
5275
- * @returns JSX.Element or null if tile is inactive or missing required props
4412
+ * @returns React.ReactElement or null if tile is inactive or missing required props
5276
4413
  */
5277
4414
  var RoundupTileRoot = function (_a) {
5278
4415
  var tile = _a.tile;
@@ -5393,5 +4530,7 @@ exports.TileContainer = TileContainer;
5393
4530
  exports.WllSdkProvider = WllSdkProvider;
5394
4531
  exports.alignMap = alignMap;
5395
4532
  exports.justifyMap = justifyMap;
4533
+ exports.useInvalidateData = useInvalidateData;
4534
+ exports.usePullToRefresh = usePullToRefresh;
5396
4535
  exports.useWllSdk = useWllSdk;
5397
4536
  //# sourceMappingURL=native.js.map