@wlloyalty/wll-react-sdk 1.0.65 → 1.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +8 -7
- package/dist/native.js +3616 -20942
- package/dist/native.js.map +1 -1
- package/dist/types/components/hoc/withTileFetching.d.ts +1 -1
- package/dist/types/components/molecules/Grid/index.d.ts +1 -2
- package/dist/types/components/organisms/BadgeTile/index.d.ts +1 -2
- package/dist/types/components/organisms/BannerTile/index.d.ts +1 -2
- package/dist/types/components/organisms/ContentTile/index.d.ts +1 -2
- package/dist/types/components/organisms/PointsTile/index.d.ts +1 -2
- package/dist/types/components/organisms/RewardCategoryTile/index.d.ts +1 -2
- package/dist/types/components/organisms/RewardTile/index.d.ts +1 -2
- package/dist/types/context/ResponsiveContext.d.ts +2 -2
- package/dist/web.js +2198 -695
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
package/dist/web.js
CHANGED
|
@@ -5,33 +5,1435 @@ var Color = require('color');
|
|
|
5
5
|
var LucideIcons = require('lucide-react');
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
25
25
|
var LucideIcons__namespace = /*#__PURE__*/_interopNamespaceDefault(LucideIcons);
|
|
26
26
|
|
|
27
|
-
function
|
|
28
|
-
|
|
27
|
+
function getDefaultExportFromCjs (x) {
|
|
28
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function getAugmentedNamespace(n) {
|
|
32
|
+
if (n.__esModule) return n;
|
|
33
|
+
var f = n.default;
|
|
34
|
+
if (typeof f == "function") {
|
|
35
|
+
var a = function a () {
|
|
36
|
+
if (this instanceof a) {
|
|
37
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
38
|
+
}
|
|
39
|
+
return f.apply(this, arguments);
|
|
40
|
+
};
|
|
41
|
+
a.prototype = f.prototype;
|
|
42
|
+
} else a = {};
|
|
43
|
+
Object.defineProperty(a, '__esModule', {value: true});
|
|
44
|
+
Object.keys(n).forEach(function (k) {
|
|
45
|
+
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
46
|
+
Object.defineProperty(a, k, d.get ? d : {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function () {
|
|
49
|
+
return n[k];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return a;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var jsxRuntime = {exports: {}};
|
|
57
|
+
|
|
58
|
+
var reactJsxRuntime_production_min = {};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @license React
|
|
62
|
+
* react-jsx-runtime.production.min.js
|
|
63
|
+
*
|
|
64
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
65
|
+
*
|
|
66
|
+
* This source code is licensed under the MIT license found in the
|
|
67
|
+
* LICENSE file in the root directory of this source tree.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
var hasRequiredReactJsxRuntime_production_min;
|
|
71
|
+
|
|
72
|
+
function requireReactJsxRuntime_production_min () {
|
|
73
|
+
if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min;
|
|
74
|
+
hasRequiredReactJsxRuntime_production_min = 1;
|
|
75
|
+
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};
|
|
76
|
+
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;
|
|
77
|
+
return reactJsxRuntime_production_min;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var reactJsxRuntime_development = {};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @license React
|
|
84
|
+
* react-jsx-runtime.development.js
|
|
85
|
+
*
|
|
86
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
87
|
+
*
|
|
88
|
+
* This source code is licensed under the MIT license found in the
|
|
89
|
+
* LICENSE file in the root directory of this source tree.
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
var hasRequiredReactJsxRuntime_development;
|
|
93
|
+
|
|
94
|
+
function requireReactJsxRuntime_development () {
|
|
95
|
+
if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development;
|
|
96
|
+
hasRequiredReactJsxRuntime_development = 1;
|
|
97
|
+
|
|
98
|
+
if (process.env.NODE_ENV !== "production") {
|
|
99
|
+
(function() {
|
|
100
|
+
|
|
101
|
+
var React$1 = React;
|
|
102
|
+
|
|
103
|
+
// ATTENTION
|
|
104
|
+
// When adding new symbols to this file,
|
|
105
|
+
// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
|
|
106
|
+
// The Symbol used to tag the ReactElement-like types.
|
|
107
|
+
var REACT_ELEMENT_TYPE = Symbol.for('react.element');
|
|
108
|
+
var REACT_PORTAL_TYPE = Symbol.for('react.portal');
|
|
109
|
+
var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
|
|
110
|
+
var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
|
|
111
|
+
var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
|
|
112
|
+
var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
|
|
113
|
+
var REACT_CONTEXT_TYPE = Symbol.for('react.context');
|
|
114
|
+
var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
|
|
115
|
+
var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
|
|
116
|
+
var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
|
|
117
|
+
var REACT_MEMO_TYPE = Symbol.for('react.memo');
|
|
118
|
+
var REACT_LAZY_TYPE = Symbol.for('react.lazy');
|
|
119
|
+
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
|
|
120
|
+
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
|
121
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator';
|
|
122
|
+
function getIteratorFn(maybeIterable) {
|
|
123
|
+
if (maybeIterable === null || typeof maybeIterable !== 'object') {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
|
128
|
+
|
|
129
|
+
if (typeof maybeIterator === 'function') {
|
|
130
|
+
return maybeIterator;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
var ReactSharedInternals = React$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
137
|
+
|
|
138
|
+
function error(format) {
|
|
139
|
+
{
|
|
140
|
+
{
|
|
141
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
142
|
+
args[_key2 - 1] = arguments[_key2];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
printWarning('error', format, args);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function printWarning(level, format, args) {
|
|
151
|
+
// When changing this logic, you might want to also
|
|
152
|
+
// update consoleWithStackDev.www.js as well.
|
|
153
|
+
{
|
|
154
|
+
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
|
155
|
+
var stack = ReactDebugCurrentFrame.getStackAddendum();
|
|
156
|
+
|
|
157
|
+
if (stack !== '') {
|
|
158
|
+
format += '%s';
|
|
159
|
+
args = args.concat([stack]);
|
|
160
|
+
} // eslint-disable-next-line react-internal/safe-string-coercion
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
var argsWithFormat = args.map(function (item) {
|
|
164
|
+
return String(item);
|
|
165
|
+
}); // Careful: RN currently depends on this prefix
|
|
166
|
+
|
|
167
|
+
argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
|
|
168
|
+
// breaks IE9: https://github.com/facebook/react/issues/13610
|
|
169
|
+
// eslint-disable-next-line react-internal/no-production-logging
|
|
170
|
+
|
|
171
|
+
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// -----------------------------------------------------------------------------
|
|
176
|
+
|
|
177
|
+
var enableScopeAPI = false; // Experimental Create Event Handle API.
|
|
178
|
+
var enableCacheElement = false;
|
|
179
|
+
var enableTransitionTracing = false; // No known bugs, but needs performance testing
|
|
180
|
+
|
|
181
|
+
var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
|
|
182
|
+
// stuff. Intended to enable React core members to more easily debug scheduling
|
|
183
|
+
// issues in DEV builds.
|
|
184
|
+
|
|
185
|
+
var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
|
|
186
|
+
|
|
187
|
+
var REACT_MODULE_REFERENCE;
|
|
188
|
+
|
|
189
|
+
{
|
|
190
|
+
REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
function isValidElementType(type) {
|
|
194
|
+
if (typeof type === 'string' || typeof type === 'function') {
|
|
195
|
+
return true;
|
|
196
|
+
} // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
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 ) {
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (typeof type === 'object' && type !== null) {
|
|
204
|
+
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
|
|
205
|
+
// types supported by any Flight configuration anywhere since
|
|
206
|
+
// we don't know which Flight build this will end up being used
|
|
207
|
+
// with.
|
|
208
|
+
type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function getWrappedName(outerType, innerType, wrapperName) {
|
|
217
|
+
var displayName = outerType.displayName;
|
|
218
|
+
|
|
219
|
+
if (displayName) {
|
|
220
|
+
return displayName;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
var functionName = innerType.displayName || innerType.name || '';
|
|
224
|
+
return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName;
|
|
225
|
+
} // Keep in sync with react-reconciler/getComponentNameFromFiber
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
function getContextName(type) {
|
|
229
|
+
return type.displayName || 'Context';
|
|
230
|
+
} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
function getComponentNameFromType(type) {
|
|
234
|
+
if (type == null) {
|
|
235
|
+
// Host root, text node or just invalid type.
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
{
|
|
240
|
+
if (typeof type.tag === 'number') {
|
|
241
|
+
error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (typeof type === 'function') {
|
|
246
|
+
return type.displayName || type.name || null;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (typeof type === 'string') {
|
|
250
|
+
return type;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
switch (type) {
|
|
254
|
+
case REACT_FRAGMENT_TYPE:
|
|
255
|
+
return 'Fragment';
|
|
256
|
+
|
|
257
|
+
case REACT_PORTAL_TYPE:
|
|
258
|
+
return 'Portal';
|
|
259
|
+
|
|
260
|
+
case REACT_PROFILER_TYPE:
|
|
261
|
+
return 'Profiler';
|
|
262
|
+
|
|
263
|
+
case REACT_STRICT_MODE_TYPE:
|
|
264
|
+
return 'StrictMode';
|
|
265
|
+
|
|
266
|
+
case REACT_SUSPENSE_TYPE:
|
|
267
|
+
return 'Suspense';
|
|
268
|
+
|
|
269
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
|
270
|
+
return 'SuspenseList';
|
|
271
|
+
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (typeof type === 'object') {
|
|
275
|
+
switch (type.$$typeof) {
|
|
276
|
+
case REACT_CONTEXT_TYPE:
|
|
277
|
+
var context = type;
|
|
278
|
+
return getContextName(context) + '.Consumer';
|
|
279
|
+
|
|
280
|
+
case REACT_PROVIDER_TYPE:
|
|
281
|
+
var provider = type;
|
|
282
|
+
return getContextName(provider._context) + '.Provider';
|
|
283
|
+
|
|
284
|
+
case REACT_FORWARD_REF_TYPE:
|
|
285
|
+
return getWrappedName(type, type.render, 'ForwardRef');
|
|
286
|
+
|
|
287
|
+
case REACT_MEMO_TYPE:
|
|
288
|
+
var outerName = type.displayName || null;
|
|
289
|
+
|
|
290
|
+
if (outerName !== null) {
|
|
291
|
+
return outerName;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return getComponentNameFromType(type.type) || 'Memo';
|
|
295
|
+
|
|
296
|
+
case REACT_LAZY_TYPE:
|
|
297
|
+
{
|
|
298
|
+
var lazyComponent = type;
|
|
299
|
+
var payload = lazyComponent._payload;
|
|
300
|
+
var init = lazyComponent._init;
|
|
301
|
+
|
|
302
|
+
try {
|
|
303
|
+
return getComponentNameFromType(init(payload));
|
|
304
|
+
} catch (x) {
|
|
305
|
+
return null;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// eslint-disable-next-line no-fallthrough
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
return null;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
var assign = Object.assign;
|
|
317
|
+
|
|
318
|
+
// Helpers to patch console.logs to avoid logging during side-effect free
|
|
319
|
+
// replaying on render function. This currently only patches the object
|
|
320
|
+
// lazily which won't cover if the log function was extracted eagerly.
|
|
321
|
+
// We could also eagerly patch the method.
|
|
322
|
+
var disabledDepth = 0;
|
|
323
|
+
var prevLog;
|
|
324
|
+
var prevInfo;
|
|
325
|
+
var prevWarn;
|
|
326
|
+
var prevError;
|
|
327
|
+
var prevGroup;
|
|
328
|
+
var prevGroupCollapsed;
|
|
329
|
+
var prevGroupEnd;
|
|
330
|
+
|
|
331
|
+
function disabledLog() {}
|
|
332
|
+
|
|
333
|
+
disabledLog.__reactDisabledLog = true;
|
|
334
|
+
function disableLogs() {
|
|
335
|
+
{
|
|
336
|
+
if (disabledDepth === 0) {
|
|
337
|
+
/* eslint-disable react-internal/no-production-logging */
|
|
338
|
+
prevLog = console.log;
|
|
339
|
+
prevInfo = console.info;
|
|
340
|
+
prevWarn = console.warn;
|
|
341
|
+
prevError = console.error;
|
|
342
|
+
prevGroup = console.group;
|
|
343
|
+
prevGroupCollapsed = console.groupCollapsed;
|
|
344
|
+
prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099
|
|
345
|
+
|
|
346
|
+
var props = {
|
|
347
|
+
configurable: true,
|
|
348
|
+
enumerable: true,
|
|
349
|
+
value: disabledLog,
|
|
350
|
+
writable: true
|
|
351
|
+
}; // $FlowFixMe Flow thinks console is immutable.
|
|
352
|
+
|
|
353
|
+
Object.defineProperties(console, {
|
|
354
|
+
info: props,
|
|
355
|
+
log: props,
|
|
356
|
+
warn: props,
|
|
357
|
+
error: props,
|
|
358
|
+
group: props,
|
|
359
|
+
groupCollapsed: props,
|
|
360
|
+
groupEnd: props
|
|
361
|
+
});
|
|
362
|
+
/* eslint-enable react-internal/no-production-logging */
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
disabledDepth++;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
function reenableLogs() {
|
|
369
|
+
{
|
|
370
|
+
disabledDepth--;
|
|
371
|
+
|
|
372
|
+
if (disabledDepth === 0) {
|
|
373
|
+
/* eslint-disable react-internal/no-production-logging */
|
|
374
|
+
var props = {
|
|
375
|
+
configurable: true,
|
|
376
|
+
enumerable: true,
|
|
377
|
+
writable: true
|
|
378
|
+
}; // $FlowFixMe Flow thinks console is immutable.
|
|
379
|
+
|
|
380
|
+
Object.defineProperties(console, {
|
|
381
|
+
log: assign({}, props, {
|
|
382
|
+
value: prevLog
|
|
383
|
+
}),
|
|
384
|
+
info: assign({}, props, {
|
|
385
|
+
value: prevInfo
|
|
386
|
+
}),
|
|
387
|
+
warn: assign({}, props, {
|
|
388
|
+
value: prevWarn
|
|
389
|
+
}),
|
|
390
|
+
error: assign({}, props, {
|
|
391
|
+
value: prevError
|
|
392
|
+
}),
|
|
393
|
+
group: assign({}, props, {
|
|
394
|
+
value: prevGroup
|
|
395
|
+
}),
|
|
396
|
+
groupCollapsed: assign({}, props, {
|
|
397
|
+
value: prevGroupCollapsed
|
|
398
|
+
}),
|
|
399
|
+
groupEnd: assign({}, props, {
|
|
400
|
+
value: prevGroupEnd
|
|
401
|
+
})
|
|
402
|
+
});
|
|
403
|
+
/* eslint-enable react-internal/no-production-logging */
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
if (disabledDepth < 0) {
|
|
407
|
+
error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
|
413
|
+
var prefix;
|
|
414
|
+
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
|
415
|
+
{
|
|
416
|
+
if (prefix === undefined) {
|
|
417
|
+
// Extract the VM specific prefix used by each line.
|
|
418
|
+
try {
|
|
419
|
+
throw Error();
|
|
420
|
+
} catch (x) {
|
|
421
|
+
var match = x.stack.trim().match(/\n( *(at )?)/);
|
|
422
|
+
prefix = match && match[1] || '';
|
|
423
|
+
}
|
|
424
|
+
} // We use the prefix to ensure our stacks line up with native stack frames.
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
return '\n' + prefix + name;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
var reentry = false;
|
|
431
|
+
var componentFrameCache;
|
|
432
|
+
|
|
433
|
+
{
|
|
434
|
+
var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;
|
|
435
|
+
componentFrameCache = new PossiblyWeakMap();
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
function describeNativeComponentFrame(fn, construct) {
|
|
439
|
+
// If something asked for a stack inside a fake render, it should get ignored.
|
|
440
|
+
if ( !fn || reentry) {
|
|
441
|
+
return '';
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
{
|
|
445
|
+
var frame = componentFrameCache.get(fn);
|
|
446
|
+
|
|
447
|
+
if (frame !== undefined) {
|
|
448
|
+
return frame;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
var control;
|
|
453
|
+
reentry = true;
|
|
454
|
+
var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.
|
|
455
|
+
|
|
456
|
+
Error.prepareStackTrace = undefined;
|
|
457
|
+
var previousDispatcher;
|
|
458
|
+
|
|
459
|
+
{
|
|
460
|
+
previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function
|
|
461
|
+
// for warnings.
|
|
462
|
+
|
|
463
|
+
ReactCurrentDispatcher.current = null;
|
|
464
|
+
disableLogs();
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
try {
|
|
468
|
+
// This should throw.
|
|
469
|
+
if (construct) {
|
|
470
|
+
// Something should be setting the props in the constructor.
|
|
471
|
+
var Fake = function () {
|
|
472
|
+
throw Error();
|
|
473
|
+
}; // $FlowFixMe
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
Object.defineProperty(Fake.prototype, 'props', {
|
|
477
|
+
set: function () {
|
|
478
|
+
// We use a throwing setter instead of frozen or non-writable props
|
|
479
|
+
// because that won't throw in a non-strict mode function.
|
|
480
|
+
throw Error();
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
|
|
484
|
+
if (typeof Reflect === 'object' && Reflect.construct) {
|
|
485
|
+
// We construct a different control for this case to include any extra
|
|
486
|
+
// frames added by the construct call.
|
|
487
|
+
try {
|
|
488
|
+
Reflect.construct(Fake, []);
|
|
489
|
+
} catch (x) {
|
|
490
|
+
control = x;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
Reflect.construct(fn, [], Fake);
|
|
494
|
+
} else {
|
|
495
|
+
try {
|
|
496
|
+
Fake.call();
|
|
497
|
+
} catch (x) {
|
|
498
|
+
control = x;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
fn.call(Fake.prototype);
|
|
502
|
+
}
|
|
503
|
+
} else {
|
|
504
|
+
try {
|
|
505
|
+
throw Error();
|
|
506
|
+
} catch (x) {
|
|
507
|
+
control = x;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
fn();
|
|
511
|
+
}
|
|
512
|
+
} catch (sample) {
|
|
513
|
+
// This is inlined manually because closure doesn't do it for us.
|
|
514
|
+
if (sample && control && typeof sample.stack === 'string') {
|
|
515
|
+
// This extracts the first frame from the sample that isn't also in the control.
|
|
516
|
+
// Skipping one frame that we assume is the frame that calls the two.
|
|
517
|
+
var sampleLines = sample.stack.split('\n');
|
|
518
|
+
var controlLines = control.stack.split('\n');
|
|
519
|
+
var s = sampleLines.length - 1;
|
|
520
|
+
var c = controlLines.length - 1;
|
|
521
|
+
|
|
522
|
+
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
|
523
|
+
// We expect at least one stack frame to be shared.
|
|
524
|
+
// Typically this will be the root most one. However, stack frames may be
|
|
525
|
+
// cut off due to maximum stack limits. In this case, one maybe cut off
|
|
526
|
+
// earlier than the other. We assume that the sample is longer or the same
|
|
527
|
+
// and there for cut off earlier. So we should find the root most frame in
|
|
528
|
+
// the sample somewhere in the control.
|
|
529
|
+
c--;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
for (; s >= 1 && c >= 0; s--, c--) {
|
|
533
|
+
// Next we find the first one that isn't the same which should be the
|
|
534
|
+
// frame that called our sample function and the control.
|
|
535
|
+
if (sampleLines[s] !== controlLines[c]) {
|
|
536
|
+
// In V8, the first line is describing the message but other VMs don't.
|
|
537
|
+
// If we're about to return the first line, and the control is also on the same
|
|
538
|
+
// line, that's a pretty good indicator that our sample threw at same line as
|
|
539
|
+
// the control. I.e. before we entered the sample frame. So we ignore this result.
|
|
540
|
+
// This can happen if you passed a class to function component, or non-function.
|
|
541
|
+
if (s !== 1 || c !== 1) {
|
|
542
|
+
do {
|
|
543
|
+
s--;
|
|
544
|
+
c--; // We may still have similar intermediate frames from the construct call.
|
|
545
|
+
// The next one that isn't the same should be our match though.
|
|
546
|
+
|
|
547
|
+
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
|
548
|
+
// V8 adds a "new" prefix for native classes. Let's remove it to make it prettier.
|
|
549
|
+
var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "<anonymous>"
|
|
550
|
+
// but we have a user-provided "displayName"
|
|
551
|
+
// splice it in to make the stack more readable.
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
if (fn.displayName && _frame.includes('<anonymous>')) {
|
|
555
|
+
_frame = _frame.replace('<anonymous>', fn.displayName);
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
{
|
|
559
|
+
if (typeof fn === 'function') {
|
|
560
|
+
componentFrameCache.set(fn, _frame);
|
|
561
|
+
}
|
|
562
|
+
} // Return the line we found.
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
return _frame;
|
|
566
|
+
}
|
|
567
|
+
} while (s >= 1 && c >= 0);
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
break;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
} finally {
|
|
575
|
+
reentry = false;
|
|
576
|
+
|
|
577
|
+
{
|
|
578
|
+
ReactCurrentDispatcher.current = previousDispatcher;
|
|
579
|
+
reenableLogs();
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
Error.prepareStackTrace = previousPrepareStackTrace;
|
|
583
|
+
} // Fallback to just using the name if we couldn't make it throw.
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
var name = fn ? fn.displayName || fn.name : '';
|
|
587
|
+
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';
|
|
588
|
+
|
|
589
|
+
{
|
|
590
|
+
if (typeof fn === 'function') {
|
|
591
|
+
componentFrameCache.set(fn, syntheticFrame);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
return syntheticFrame;
|
|
596
|
+
}
|
|
597
|
+
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
|
598
|
+
{
|
|
599
|
+
return describeNativeComponentFrame(fn, false);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
function shouldConstruct(Component) {
|
|
604
|
+
var prototype = Component.prototype;
|
|
605
|
+
return !!(prototype && prototype.isReactComponent);
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
|
609
|
+
|
|
610
|
+
if (type == null) {
|
|
611
|
+
return '';
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
if (typeof type === 'function') {
|
|
615
|
+
{
|
|
616
|
+
return describeNativeComponentFrame(type, shouldConstruct(type));
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
if (typeof type === 'string') {
|
|
621
|
+
return describeBuiltInComponentFrame(type);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
switch (type) {
|
|
625
|
+
case REACT_SUSPENSE_TYPE:
|
|
626
|
+
return describeBuiltInComponentFrame('Suspense');
|
|
627
|
+
|
|
628
|
+
case REACT_SUSPENSE_LIST_TYPE:
|
|
629
|
+
return describeBuiltInComponentFrame('SuspenseList');
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
if (typeof type === 'object') {
|
|
633
|
+
switch (type.$$typeof) {
|
|
634
|
+
case REACT_FORWARD_REF_TYPE:
|
|
635
|
+
return describeFunctionComponentFrame(type.render);
|
|
636
|
+
|
|
637
|
+
case REACT_MEMO_TYPE:
|
|
638
|
+
// Memo may contain any component type so we recursively resolve it.
|
|
639
|
+
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
|
640
|
+
|
|
641
|
+
case REACT_LAZY_TYPE:
|
|
642
|
+
{
|
|
643
|
+
var lazyComponent = type;
|
|
644
|
+
var payload = lazyComponent._payload;
|
|
645
|
+
var init = lazyComponent._init;
|
|
646
|
+
|
|
647
|
+
try {
|
|
648
|
+
// Lazy may contain any component type so we recursively resolve it.
|
|
649
|
+
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
|
650
|
+
} catch (x) {}
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
return '';
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
659
|
+
|
|
660
|
+
var loggedTypeFailures = {};
|
|
661
|
+
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
|
662
|
+
|
|
663
|
+
function setCurrentlyValidatingElement(element) {
|
|
664
|
+
{
|
|
665
|
+
if (element) {
|
|
666
|
+
var owner = element._owner;
|
|
667
|
+
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
|
668
|
+
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
|
669
|
+
} else {
|
|
670
|
+
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
|
676
|
+
{
|
|
677
|
+
// $FlowFixMe This is okay but Flow doesn't know it.
|
|
678
|
+
var has = Function.call.bind(hasOwnProperty);
|
|
679
|
+
|
|
680
|
+
for (var typeSpecName in typeSpecs) {
|
|
681
|
+
if (has(typeSpecs, typeSpecName)) {
|
|
682
|
+
var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to
|
|
683
|
+
// fail the render phase where it didn't fail before. So we log it.
|
|
684
|
+
// After these have been cleaned up, we'll let them throw.
|
|
685
|
+
|
|
686
|
+
try {
|
|
687
|
+
// This is intentionally an invariant that gets caught. It's the same
|
|
688
|
+
// behavior as without this statement except with a better message.
|
|
689
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
|
690
|
+
// eslint-disable-next-line react-internal/prod-error-codes
|
|
691
|
+
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`.');
|
|
692
|
+
err.name = 'Invariant Violation';
|
|
693
|
+
throw err;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');
|
|
697
|
+
} catch (ex) {
|
|
698
|
+
error$1 = ex;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
if (error$1 && !(error$1 instanceof Error)) {
|
|
702
|
+
setCurrentlyValidatingElement(element);
|
|
703
|
+
|
|
704
|
+
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);
|
|
705
|
+
|
|
706
|
+
setCurrentlyValidatingElement(null);
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
|
710
|
+
// Only monitor this failure once because there tends to be a lot of the
|
|
711
|
+
// same error.
|
|
712
|
+
loggedTypeFailures[error$1.message] = true;
|
|
713
|
+
setCurrentlyValidatingElement(element);
|
|
714
|
+
|
|
715
|
+
error('Failed %s type: %s', location, error$1.message);
|
|
716
|
+
|
|
717
|
+
setCurrentlyValidatingElement(null);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
|
|
725
|
+
|
|
726
|
+
function isArray(a) {
|
|
727
|
+
return isArrayImpl(a);
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
/*
|
|
731
|
+
* The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol
|
|
732
|
+
* and Temporal.* types. See https://github.com/facebook/react/pull/22064.
|
|
733
|
+
*
|
|
734
|
+
* The functions in this module will throw an easier-to-understand,
|
|
735
|
+
* easier-to-debug exception with a clear errors message message explaining the
|
|
736
|
+
* problem. (Instead of a confusing exception thrown inside the implementation
|
|
737
|
+
* of the `value` object).
|
|
738
|
+
*/
|
|
739
|
+
// $FlowFixMe only called in DEV, so void return is not possible.
|
|
740
|
+
function typeName(value) {
|
|
741
|
+
{
|
|
742
|
+
// toStringTag is needed for namespaced types like Temporal.Instant
|
|
743
|
+
var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;
|
|
744
|
+
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';
|
|
745
|
+
return type;
|
|
746
|
+
}
|
|
747
|
+
} // $FlowFixMe only called in DEV, so void return is not possible.
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
function willCoercionThrow(value) {
|
|
751
|
+
{
|
|
752
|
+
try {
|
|
753
|
+
testStringCoercion(value);
|
|
754
|
+
return false;
|
|
755
|
+
} catch (e) {
|
|
756
|
+
return true;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
function testStringCoercion(value) {
|
|
762
|
+
// If you ended up here by following an exception call stack, here's what's
|
|
763
|
+
// happened: you supplied an object or symbol value to React (as a prop, key,
|
|
764
|
+
// DOM attribute, CSS property, string ref, etc.) and when React tried to
|
|
765
|
+
// coerce it to a string using `'' + value`, an exception was thrown.
|
|
766
|
+
//
|
|
767
|
+
// The most common types that will cause this exception are `Symbol` instances
|
|
768
|
+
// and Temporal objects like `Temporal.Instant`. But any object that has a
|
|
769
|
+
// `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this
|
|
770
|
+
// exception. (Library authors do this to prevent users from using built-in
|
|
771
|
+
// numeric operators like `+` or comparison operators like `>=` because custom
|
|
772
|
+
// methods are needed to perform accurate arithmetic or comparison.)
|
|
773
|
+
//
|
|
774
|
+
// To fix the problem, coerce this object or symbol value to a string before
|
|
775
|
+
// passing it to React. The most reliable way is usually `String(value)`.
|
|
776
|
+
//
|
|
777
|
+
// To find which value is throwing, check the browser or debugger console.
|
|
778
|
+
// Before this exception was thrown, there should be `console.error` output
|
|
779
|
+
// that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the
|
|
780
|
+
// problem and how that type was used: key, atrribute, input value prop, etc.
|
|
781
|
+
// In most cases, this console output also shows the component and its
|
|
782
|
+
// ancestor components where the exception happened.
|
|
783
|
+
//
|
|
784
|
+
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
785
|
+
return '' + value;
|
|
786
|
+
}
|
|
787
|
+
function checkKeyStringCoercion(value) {
|
|
788
|
+
{
|
|
789
|
+
if (willCoercionThrow(value)) {
|
|
790
|
+
error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));
|
|
791
|
+
|
|
792
|
+
return testStringCoercion(value); // throw (to help callers find troubleshooting comments)
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
|
|
798
|
+
var RESERVED_PROPS = {
|
|
799
|
+
key: true,
|
|
800
|
+
ref: true,
|
|
801
|
+
__self: true,
|
|
802
|
+
__source: true
|
|
803
|
+
};
|
|
804
|
+
var specialPropKeyWarningShown;
|
|
805
|
+
var specialPropRefWarningShown;
|
|
806
|
+
var didWarnAboutStringRefs;
|
|
807
|
+
|
|
808
|
+
{
|
|
809
|
+
didWarnAboutStringRefs = {};
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
function hasValidRef(config) {
|
|
813
|
+
{
|
|
814
|
+
if (hasOwnProperty.call(config, 'ref')) {
|
|
815
|
+
var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
|
|
816
|
+
|
|
817
|
+
if (getter && getter.isReactWarning) {
|
|
818
|
+
return false;
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
return config.ref !== undefined;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
function hasValidKey(config) {
|
|
827
|
+
{
|
|
828
|
+
if (hasOwnProperty.call(config, 'key')) {
|
|
829
|
+
var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
|
|
830
|
+
|
|
831
|
+
if (getter && getter.isReactWarning) {
|
|
832
|
+
return false;
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
return config.key !== undefined;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
function warnIfStringRefCannotBeAutoConverted(config, self) {
|
|
841
|
+
{
|
|
842
|
+
if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
|
|
843
|
+
var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
|
|
844
|
+
|
|
845
|
+
if (!didWarnAboutStringRefs[componentName]) {
|
|
846
|
+
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);
|
|
847
|
+
|
|
848
|
+
didWarnAboutStringRefs[componentName] = true;
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
function defineKeyPropWarningGetter(props, displayName) {
|
|
855
|
+
{
|
|
856
|
+
var warnAboutAccessingKey = function () {
|
|
857
|
+
if (!specialPropKeyWarningShown) {
|
|
858
|
+
specialPropKeyWarningShown = true;
|
|
859
|
+
|
|
860
|
+
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);
|
|
861
|
+
}
|
|
862
|
+
};
|
|
863
|
+
|
|
864
|
+
warnAboutAccessingKey.isReactWarning = true;
|
|
865
|
+
Object.defineProperty(props, 'key', {
|
|
866
|
+
get: warnAboutAccessingKey,
|
|
867
|
+
configurable: true
|
|
868
|
+
});
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
function defineRefPropWarningGetter(props, displayName) {
|
|
873
|
+
{
|
|
874
|
+
var warnAboutAccessingRef = function () {
|
|
875
|
+
if (!specialPropRefWarningShown) {
|
|
876
|
+
specialPropRefWarningShown = true;
|
|
877
|
+
|
|
878
|
+
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);
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
|
|
882
|
+
warnAboutAccessingRef.isReactWarning = true;
|
|
883
|
+
Object.defineProperty(props, 'ref', {
|
|
884
|
+
get: warnAboutAccessingRef,
|
|
885
|
+
configurable: true
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Factory method to create a new React element. This no longer adheres to
|
|
891
|
+
* the class pattern, so do not use new to call it. Also, instanceof check
|
|
892
|
+
* will not work. Instead test $$typeof field against Symbol.for('react.element') to check
|
|
893
|
+
* if something is a React Element.
|
|
894
|
+
*
|
|
895
|
+
* @param {*} type
|
|
896
|
+
* @param {*} props
|
|
897
|
+
* @param {*} key
|
|
898
|
+
* @param {string|object} ref
|
|
899
|
+
* @param {*} owner
|
|
900
|
+
* @param {*} self A *temporary* helper to detect places where `this` is
|
|
901
|
+
* different from the `owner` when React.createElement is called, so that we
|
|
902
|
+
* can warn. We want to get rid of owner and replace string `ref`s with arrow
|
|
903
|
+
* functions, and as long as `this` and owner are the same, there will be no
|
|
904
|
+
* change in behavior.
|
|
905
|
+
* @param {*} source An annotation object (added by a transpiler or otherwise)
|
|
906
|
+
* indicating filename, line number, and/or other information.
|
|
907
|
+
* @internal
|
|
908
|
+
*/
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
var ReactElement = function (type, key, ref, self, source, owner, props) {
|
|
912
|
+
var element = {
|
|
913
|
+
// This tag allows us to uniquely identify this as a React Element
|
|
914
|
+
$$typeof: REACT_ELEMENT_TYPE,
|
|
915
|
+
// Built-in properties that belong on the element
|
|
916
|
+
type: type,
|
|
917
|
+
key: key,
|
|
918
|
+
ref: ref,
|
|
919
|
+
props: props,
|
|
920
|
+
// Record the component responsible for creating this element.
|
|
921
|
+
_owner: owner
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
{
|
|
925
|
+
// The validation flag is currently mutative. We put it on
|
|
926
|
+
// an external backing store so that we can freeze the whole object.
|
|
927
|
+
// This can be replaced with a WeakMap once they are implemented in
|
|
928
|
+
// commonly used development environments.
|
|
929
|
+
element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
|
|
930
|
+
// the validation flag non-enumerable (where possible, which should
|
|
931
|
+
// include every environment we run tests in), so the test framework
|
|
932
|
+
// ignores it.
|
|
933
|
+
|
|
934
|
+
Object.defineProperty(element._store, 'validated', {
|
|
935
|
+
configurable: false,
|
|
936
|
+
enumerable: false,
|
|
937
|
+
writable: true,
|
|
938
|
+
value: false
|
|
939
|
+
}); // self and source are DEV only properties.
|
|
940
|
+
|
|
941
|
+
Object.defineProperty(element, '_self', {
|
|
942
|
+
configurable: false,
|
|
943
|
+
enumerable: false,
|
|
944
|
+
writable: false,
|
|
945
|
+
value: self
|
|
946
|
+
}); // Two elements created in two different places should be considered
|
|
947
|
+
// equal for testing purposes and therefore we hide it from enumeration.
|
|
948
|
+
|
|
949
|
+
Object.defineProperty(element, '_source', {
|
|
950
|
+
configurable: false,
|
|
951
|
+
enumerable: false,
|
|
952
|
+
writable: false,
|
|
953
|
+
value: source
|
|
954
|
+
});
|
|
955
|
+
|
|
956
|
+
if (Object.freeze) {
|
|
957
|
+
Object.freeze(element.props);
|
|
958
|
+
Object.freeze(element);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
return element;
|
|
963
|
+
};
|
|
964
|
+
/**
|
|
965
|
+
* https://github.com/reactjs/rfcs/pull/107
|
|
966
|
+
* @param {*} type
|
|
967
|
+
* @param {object} props
|
|
968
|
+
* @param {string} key
|
|
969
|
+
*/
|
|
970
|
+
|
|
971
|
+
function jsxDEV(type, config, maybeKey, source, self) {
|
|
972
|
+
{
|
|
973
|
+
var propName; // Reserved names are extracted
|
|
974
|
+
|
|
975
|
+
var props = {};
|
|
976
|
+
var key = null;
|
|
977
|
+
var ref = null; // Currently, key can be spread in as a prop. This causes a potential
|
|
978
|
+
// issue if key is also explicitly declared (ie. <div {...props} key="Hi" />
|
|
979
|
+
// or <div key="Hi" {...props} /> ). We want to deprecate key spread,
|
|
980
|
+
// but as an intermediary step, we will use jsxDEV for everything except
|
|
981
|
+
// <div {...props} key="Hi" />, because we aren't currently able to tell if
|
|
982
|
+
// key is explicitly declared to be undefined or not.
|
|
983
|
+
|
|
984
|
+
if (maybeKey !== undefined) {
|
|
985
|
+
{
|
|
986
|
+
checkKeyStringCoercion(maybeKey);
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
key = '' + maybeKey;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
if (hasValidKey(config)) {
|
|
993
|
+
{
|
|
994
|
+
checkKeyStringCoercion(config.key);
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
key = '' + config.key;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
if (hasValidRef(config)) {
|
|
1001
|
+
ref = config.ref;
|
|
1002
|
+
warnIfStringRefCannotBeAutoConverted(config, self);
|
|
1003
|
+
} // Remaining properties are added to a new props object
|
|
1004
|
+
|
|
1005
|
+
|
|
1006
|
+
for (propName in config) {
|
|
1007
|
+
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
|
1008
|
+
props[propName] = config[propName];
|
|
1009
|
+
}
|
|
1010
|
+
} // Resolve default props
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
if (type && type.defaultProps) {
|
|
1014
|
+
var defaultProps = type.defaultProps;
|
|
1015
|
+
|
|
1016
|
+
for (propName in defaultProps) {
|
|
1017
|
+
if (props[propName] === undefined) {
|
|
1018
|
+
props[propName] = defaultProps[propName];
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
if (key || ref) {
|
|
1024
|
+
var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
|
|
1025
|
+
|
|
1026
|
+
if (key) {
|
|
1027
|
+
defineKeyPropWarningGetter(props, displayName);
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
if (ref) {
|
|
1031
|
+
defineRefPropWarningGetter(props, displayName);
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
|
1040
|
+
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
|
1041
|
+
|
|
1042
|
+
function setCurrentlyValidatingElement$1(element) {
|
|
1043
|
+
{
|
|
1044
|
+
if (element) {
|
|
1045
|
+
var owner = element._owner;
|
|
1046
|
+
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
|
1047
|
+
ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
|
|
1048
|
+
} else {
|
|
1049
|
+
ReactDebugCurrentFrame$1.setExtraStackFrame(null);
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
var propTypesMisspellWarningShown;
|
|
1055
|
+
|
|
1056
|
+
{
|
|
1057
|
+
propTypesMisspellWarningShown = false;
|
|
1058
|
+
}
|
|
1059
|
+
/**
|
|
1060
|
+
* Verifies the object is a ReactElement.
|
|
1061
|
+
* See https://reactjs.org/docs/react-api.html#isvalidelement
|
|
1062
|
+
* @param {?object} object
|
|
1063
|
+
* @return {boolean} True if `object` is a ReactElement.
|
|
1064
|
+
* @final
|
|
1065
|
+
*/
|
|
1066
|
+
|
|
1067
|
+
|
|
1068
|
+
function isValidElement(object) {
|
|
1069
|
+
{
|
|
1070
|
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
function getDeclarationErrorAddendum() {
|
|
1075
|
+
{
|
|
1076
|
+
if (ReactCurrentOwner$1.current) {
|
|
1077
|
+
var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
|
|
1078
|
+
|
|
1079
|
+
if (name) {
|
|
1080
|
+
return '\n\nCheck the render method of `' + name + '`.';
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
return '';
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
function getSourceInfoErrorAddendum(source) {
|
|
1089
|
+
{
|
|
1090
|
+
if (source !== undefined) {
|
|
1091
|
+
var fileName = source.fileName.replace(/^.*[\\\/]/, '');
|
|
1092
|
+
var lineNumber = source.lineNumber;
|
|
1093
|
+
return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
return '';
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Warn if there's no key explicitly set on dynamic arrays of children or
|
|
1101
|
+
* object keys are not valid. This allows us to keep track of children between
|
|
1102
|
+
* updates.
|
|
1103
|
+
*/
|
|
1104
|
+
|
|
1105
|
+
|
|
1106
|
+
var ownerHasKeyUseWarning = {};
|
|
1107
|
+
|
|
1108
|
+
function getCurrentComponentErrorInfo(parentType) {
|
|
1109
|
+
{
|
|
1110
|
+
var info = getDeclarationErrorAddendum();
|
|
1111
|
+
|
|
1112
|
+
if (!info) {
|
|
1113
|
+
var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
|
|
1114
|
+
|
|
1115
|
+
if (parentName) {
|
|
1116
|
+
info = "\n\nCheck the top-level render call using <" + parentName + ">.";
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
return info;
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Warn if the element doesn't have an explicit key assigned to it.
|
|
1125
|
+
* This element is in an array. The array could grow and shrink or be
|
|
1126
|
+
* reordered. All children that haven't already been validated are required to
|
|
1127
|
+
* have a "key" property assigned to it. Error statuses are cached so a warning
|
|
1128
|
+
* will only be shown once.
|
|
1129
|
+
*
|
|
1130
|
+
* @internal
|
|
1131
|
+
* @param {ReactElement} element Element that requires a key.
|
|
1132
|
+
* @param {*} parentType element's parent's type.
|
|
1133
|
+
*/
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
function validateExplicitKey(element, parentType) {
|
|
1137
|
+
{
|
|
1138
|
+
if (!element._store || element._store.validated || element.key != null) {
|
|
1139
|
+
return;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
element._store.validated = true;
|
|
1143
|
+
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
|
1144
|
+
|
|
1145
|
+
if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
|
|
1146
|
+
return;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
|
|
1150
|
+
// property, it may be the creator of the child that's responsible for
|
|
1151
|
+
// assigning it a key.
|
|
1152
|
+
|
|
1153
|
+
var childOwner = '';
|
|
1154
|
+
|
|
1155
|
+
if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
|
|
1156
|
+
// Give the component that originally created this child.
|
|
1157
|
+
childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
setCurrentlyValidatingElement$1(element);
|
|
1161
|
+
|
|
1162
|
+
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);
|
|
1163
|
+
|
|
1164
|
+
setCurrentlyValidatingElement$1(null);
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
/**
|
|
1168
|
+
* Ensure that every element either is passed in a static location, in an
|
|
1169
|
+
* array with an explicit keys property defined, or in an object literal
|
|
1170
|
+
* with valid key property.
|
|
1171
|
+
*
|
|
1172
|
+
* @internal
|
|
1173
|
+
* @param {ReactNode} node Statically passed child of any type.
|
|
1174
|
+
* @param {*} parentType node's parent's type.
|
|
1175
|
+
*/
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
function validateChildKeys(node, parentType) {
|
|
1179
|
+
{
|
|
1180
|
+
if (typeof node !== 'object') {
|
|
1181
|
+
return;
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
if (isArray(node)) {
|
|
1185
|
+
for (var i = 0; i < node.length; i++) {
|
|
1186
|
+
var child = node[i];
|
|
1187
|
+
|
|
1188
|
+
if (isValidElement(child)) {
|
|
1189
|
+
validateExplicitKey(child, parentType);
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
} else if (isValidElement(node)) {
|
|
1193
|
+
// This element was passed in a valid location.
|
|
1194
|
+
if (node._store) {
|
|
1195
|
+
node._store.validated = true;
|
|
1196
|
+
}
|
|
1197
|
+
} else if (node) {
|
|
1198
|
+
var iteratorFn = getIteratorFn(node);
|
|
1199
|
+
|
|
1200
|
+
if (typeof iteratorFn === 'function') {
|
|
1201
|
+
// Entry iterators used to provide implicit keys,
|
|
1202
|
+
// but now we print a separate warning for them later.
|
|
1203
|
+
if (iteratorFn !== node.entries) {
|
|
1204
|
+
var iterator = iteratorFn.call(node);
|
|
1205
|
+
var step;
|
|
1206
|
+
|
|
1207
|
+
while (!(step = iterator.next()).done) {
|
|
1208
|
+
if (isValidElement(step.value)) {
|
|
1209
|
+
validateExplicitKey(step.value, parentType);
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Given an element, validate that its props follow the propTypes definition,
|
|
1219
|
+
* provided by the type.
|
|
1220
|
+
*
|
|
1221
|
+
* @param {ReactElement} element
|
|
1222
|
+
*/
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
function validatePropTypes(element) {
|
|
1226
|
+
{
|
|
1227
|
+
var type = element.type;
|
|
1228
|
+
|
|
1229
|
+
if (type === null || type === undefined || typeof type === 'string') {
|
|
1230
|
+
return;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
var propTypes;
|
|
1234
|
+
|
|
1235
|
+
if (typeof type === 'function') {
|
|
1236
|
+
propTypes = type.propTypes;
|
|
1237
|
+
} else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
|
|
1238
|
+
// Inner props are checked in the reconciler.
|
|
1239
|
+
type.$$typeof === REACT_MEMO_TYPE)) {
|
|
1240
|
+
propTypes = type.propTypes;
|
|
1241
|
+
} else {
|
|
1242
|
+
return;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
if (propTypes) {
|
|
1246
|
+
// Intentionally inside to avoid triggering lazy initializers:
|
|
1247
|
+
var name = getComponentNameFromType(type);
|
|
1248
|
+
checkPropTypes(propTypes, element.props, 'prop', name, element);
|
|
1249
|
+
} else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
|
|
1250
|
+
propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:
|
|
1251
|
+
|
|
1252
|
+
var _name = getComponentNameFromType(type);
|
|
1253
|
+
|
|
1254
|
+
error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
|
|
1258
|
+
error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
/**
|
|
1263
|
+
* Given a fragment, validate that it can only be provided with fragment props
|
|
1264
|
+
* @param {ReactElement} fragment
|
|
1265
|
+
*/
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
function validateFragmentProps(fragment) {
|
|
1269
|
+
{
|
|
1270
|
+
var keys = Object.keys(fragment.props);
|
|
1271
|
+
|
|
1272
|
+
for (var i = 0; i < keys.length; i++) {
|
|
1273
|
+
var key = keys[i];
|
|
1274
|
+
|
|
1275
|
+
if (key !== 'children' && key !== 'key') {
|
|
1276
|
+
setCurrentlyValidatingElement$1(fragment);
|
|
1277
|
+
|
|
1278
|
+
error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
|
|
1279
|
+
|
|
1280
|
+
setCurrentlyValidatingElement$1(null);
|
|
1281
|
+
break;
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
if (fragment.ref !== null) {
|
|
1286
|
+
setCurrentlyValidatingElement$1(fragment);
|
|
1287
|
+
|
|
1288
|
+
error('Invalid attribute `ref` supplied to `React.Fragment`.');
|
|
1289
|
+
|
|
1290
|
+
setCurrentlyValidatingElement$1(null);
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
var didWarnAboutKeySpread = {};
|
|
1296
|
+
function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
|
|
1297
|
+
{
|
|
1298
|
+
var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
|
|
1299
|
+
// succeed and there will likely be errors in render.
|
|
1300
|
+
|
|
1301
|
+
if (!validType) {
|
|
1302
|
+
var info = '';
|
|
1303
|
+
|
|
1304
|
+
if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
|
|
1305
|
+
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.";
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
var sourceInfo = getSourceInfoErrorAddendum(source);
|
|
1309
|
+
|
|
1310
|
+
if (sourceInfo) {
|
|
1311
|
+
info += sourceInfo;
|
|
1312
|
+
} else {
|
|
1313
|
+
info += getDeclarationErrorAddendum();
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
var typeString;
|
|
1317
|
+
|
|
1318
|
+
if (type === null) {
|
|
1319
|
+
typeString = 'null';
|
|
1320
|
+
} else if (isArray(type)) {
|
|
1321
|
+
typeString = 'array';
|
|
1322
|
+
} else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
|
|
1323
|
+
typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />";
|
|
1324
|
+
info = ' Did you accidentally export a JSX literal instead of a component?';
|
|
1325
|
+
} else {
|
|
1326
|
+
typeString = typeof type;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
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);
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.
|
|
1333
|
+
// TODO: Drop this when these are no longer allowed as the type argument.
|
|
1334
|
+
|
|
1335
|
+
if (element == null) {
|
|
1336
|
+
return element;
|
|
1337
|
+
} // Skip key warning if the type isn't valid since our key validation logic
|
|
1338
|
+
// doesn't expect a non-string/function type and can throw confusing errors.
|
|
1339
|
+
// We don't want exception behavior to differ between dev and prod.
|
|
1340
|
+
// (Rendering will throw with a helpful message and as soon as the type is
|
|
1341
|
+
// fixed, the key warnings will appear.)
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
if (validType) {
|
|
1345
|
+
var children = props.children;
|
|
1346
|
+
|
|
1347
|
+
if (children !== undefined) {
|
|
1348
|
+
if (isStaticChildren) {
|
|
1349
|
+
if (isArray(children)) {
|
|
1350
|
+
for (var i = 0; i < children.length; i++) {
|
|
1351
|
+
validateChildKeys(children[i], type);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
if (Object.freeze) {
|
|
1355
|
+
Object.freeze(children);
|
|
1356
|
+
}
|
|
1357
|
+
} else {
|
|
1358
|
+
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.');
|
|
1359
|
+
}
|
|
1360
|
+
} else {
|
|
1361
|
+
validateChildKeys(children, type);
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
{
|
|
1367
|
+
if (hasOwnProperty.call(props, 'key')) {
|
|
1368
|
+
var componentName = getComponentNameFromType(type);
|
|
1369
|
+
var keys = Object.keys(props).filter(function (k) {
|
|
1370
|
+
return k !== 'key';
|
|
1371
|
+
});
|
|
1372
|
+
var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';
|
|
1373
|
+
|
|
1374
|
+
if (!didWarnAboutKeySpread[componentName + beforeExample]) {
|
|
1375
|
+
var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';
|
|
1376
|
+
|
|
1377
|
+
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);
|
|
1378
|
+
|
|
1379
|
+
didWarnAboutKeySpread[componentName + beforeExample] = true;
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
if (type === REACT_FRAGMENT_TYPE) {
|
|
1385
|
+
validateFragmentProps(element);
|
|
1386
|
+
} else {
|
|
1387
|
+
validatePropTypes(element);
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
return element;
|
|
1391
|
+
}
|
|
1392
|
+
} // These two functions exist to still get child warnings in dev
|
|
1393
|
+
// even with the prod transform. This means that jsxDEV is purely
|
|
1394
|
+
// opt-in behavior for better messages but that we won't stop
|
|
1395
|
+
// giving you warnings if you use production apis.
|
|
1396
|
+
|
|
1397
|
+
function jsxWithValidationStatic(type, props, key) {
|
|
1398
|
+
{
|
|
1399
|
+
return jsxWithValidation(type, props, key, true);
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
function jsxWithValidationDynamic(type, props, key) {
|
|
1403
|
+
{
|
|
1404
|
+
return jsxWithValidation(type, props, key, false);
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.
|
|
1409
|
+
// for now we can ship identical prod functions
|
|
1410
|
+
|
|
1411
|
+
var jsxs = jsxWithValidationStatic ;
|
|
1412
|
+
|
|
1413
|
+
reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
|
|
1414
|
+
reactJsxRuntime_development.jsx = jsx;
|
|
1415
|
+
reactJsxRuntime_development.jsxs = jsxs;
|
|
1416
|
+
})();
|
|
1417
|
+
}
|
|
1418
|
+
return reactJsxRuntime_development;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
if (process.env.NODE_ENV === 'production') {
|
|
1422
|
+
jsxRuntime.exports = requireReactJsxRuntime_production_min();
|
|
1423
|
+
} else {
|
|
1424
|
+
jsxRuntime.exports = requireReactJsxRuntime_development();
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
var jsxRuntimeExports = jsxRuntime.exports;
|
|
1428
|
+
|
|
1429
|
+
function _extends() {
|
|
1430
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
29
1431
|
for (var e = 1; e < arguments.length; e++) {
|
|
30
1432
|
var t = arguments[e];
|
|
31
1433
|
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
32
1434
|
}
|
|
33
1435
|
return n;
|
|
34
|
-
}, _extends
|
|
1436
|
+
}, _extends.apply(null, arguments);
|
|
35
1437
|
}
|
|
36
1438
|
|
|
37
1439
|
function _objectWithoutPropertiesLoose(r, e) {
|
|
@@ -1249,35 +2651,6 @@ var unitlessNumbers$2 = unitlessNumbers$1;
|
|
|
1249
2651
|
var isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;
|
|
1250
2652
|
var isWebColor$1 = isWebColor;
|
|
1251
2653
|
|
|
1252
|
-
function getDefaultExportFromCjs (x) {
|
|
1253
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
1254
|
-
}
|
|
1255
|
-
|
|
1256
|
-
function getAugmentedNamespace(n) {
|
|
1257
|
-
if (n.__esModule) return n;
|
|
1258
|
-
var f = n.default;
|
|
1259
|
-
if (typeof f == "function") {
|
|
1260
|
-
var a = function a () {
|
|
1261
|
-
if (this instanceof a) {
|
|
1262
|
-
return Reflect.construct(f, arguments, this.constructor);
|
|
1263
|
-
}
|
|
1264
|
-
return f.apply(this, arguments);
|
|
1265
|
-
};
|
|
1266
|
-
a.prototype = f.prototype;
|
|
1267
|
-
} else a = {};
|
|
1268
|
-
Object.defineProperty(a, '__esModule', {value: true});
|
|
1269
|
-
Object.keys(n).forEach(function (k) {
|
|
1270
|
-
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
1271
|
-
Object.defineProperty(a, k, d.get ? d : {
|
|
1272
|
-
enumerable: true,
|
|
1273
|
-
get: function () {
|
|
1274
|
-
return n[k];
|
|
1275
|
-
}
|
|
1276
|
-
});
|
|
1277
|
-
});
|
|
1278
|
-
return a;
|
|
1279
|
-
}
|
|
1280
|
-
|
|
1281
2654
|
/**
|
|
1282
2655
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
1283
2656
|
*
|
|
@@ -2331,8 +3704,8 @@ function hyphenateStyleName(name) {
|
|
|
2331
3704
|
}
|
|
2332
3705
|
|
|
2333
3706
|
var hyphenateStyleName$1 = /*#__PURE__*/Object.freeze({
|
|
2334
|
-
|
|
2335
|
-
|
|
3707
|
+
__proto__: null,
|
|
3708
|
+
default: hyphenateStyleName
|
|
2336
3709
|
});
|
|
2337
3710
|
|
|
2338
3711
|
function hyphenateProperty$1(property) {
|
|
@@ -2447,19 +3820,19 @@ function unprefixValue(value) {
|
|
|
2447
3820
|
}
|
|
2448
3821
|
|
|
2449
3822
|
var es = /*#__PURE__*/Object.freeze({
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
3823
|
+
__proto__: null,
|
|
3824
|
+
assignStyle: assignStyle,
|
|
3825
|
+
camelCaseProperty: camelCaseProperty,
|
|
3826
|
+
cssifyDeclaration: cssifyDeclaration,
|
|
3827
|
+
cssifyObject: cssifyObject,
|
|
3828
|
+
hyphenateProperty: hyphenateProperty$1,
|
|
3829
|
+
isPrefixedProperty: isPrefixedProperty,
|
|
3830
|
+
isPrefixedValue: isPrefixedValue$1,
|
|
3831
|
+
isUnitlessProperty: isUnitlessProperty,
|
|
3832
|
+
normalizeProperty: normalizeProperty,
|
|
3833
|
+
resolveArrayValue: resolveArrayValue,
|
|
3834
|
+
unprefixProperty: unprefixProperty,
|
|
3835
|
+
unprefixValue: unprefixValue
|
|
2463
3836
|
});
|
|
2464
3837
|
|
|
2465
3838
|
var require$$0$1 = /*@__PURE__*/getAugmentedNamespace(es);
|
|
@@ -7518,7 +8891,7 @@ function Pressable(props, forwardedRef) {
|
|
|
7518
8891
|
} else {
|
|
7519
8892
|
_tabIndex = disabled ? -1 : 0;
|
|
7520
8893
|
}
|
|
7521
|
-
return /*#__PURE__*/React__namespace.createElement(View$2, _extends
|
|
8894
|
+
return /*#__PURE__*/React__namespace.createElement(View$2, _extends({}, rest, pressEventHandlers, {
|
|
7522
8895
|
"aria-disabled": disabled,
|
|
7523
8896
|
onBlur: blurHandler,
|
|
7524
8897
|
onContextMenu: contextMenuHandler,
|
|
@@ -8432,9 +9805,10 @@ function ResponsiveProvider(_a) {
|
|
|
8432
9805
|
}
|
|
8433
9806
|
};
|
|
8434
9807
|
}, [getDerivedState]);
|
|
8435
|
-
return
|
|
8436
|
-
value: value
|
|
8437
|
-
|
|
9808
|
+
return jsxRuntimeExports.jsx(ResponsiveContext.Provider, {
|
|
9809
|
+
value: value,
|
|
9810
|
+
children: children
|
|
9811
|
+
});
|
|
8438
9812
|
}
|
|
8439
9813
|
function useResponsive() {
|
|
8440
9814
|
var context = React.useContext(ResponsiveContext);
|
|
@@ -8509,9 +9883,12 @@ var WllSdkProvider = function (_a) {
|
|
|
8509
9883
|
config: config
|
|
8510
9884
|
};
|
|
8511
9885
|
}, [theme, setTheme, getGroupByID, getSectionByID, getTileByID, handleNavigation, config]);
|
|
8512
|
-
return
|
|
8513
|
-
value: contextValue
|
|
8514
|
-
|
|
9886
|
+
return jsxRuntimeExports.jsx(WllSdkContext.Provider, {
|
|
9887
|
+
value: contextValue,
|
|
9888
|
+
children: jsxRuntimeExports.jsx(ResponsiveProvider, {
|
|
9889
|
+
children: children
|
|
9890
|
+
})
|
|
9891
|
+
});
|
|
8515
9892
|
};
|
|
8516
9893
|
var useWllSdk = function () {
|
|
8517
9894
|
var context = React.useContext(WllSdkContext);
|
|
@@ -8655,7 +10032,7 @@ var Button = function (_a) {
|
|
|
8655
10032
|
var buttonStyle = useButtonStyles(theme, variant);
|
|
8656
10033
|
var textStyle = useTextStyles(theme, variant);
|
|
8657
10034
|
var styles = useButtonDynamicStyles();
|
|
8658
|
-
return
|
|
10035
|
+
return jsxRuntimeExports.jsx(Pressable$1, {
|
|
8659
10036
|
style: function (_a) {
|
|
8660
10037
|
var pressed = _a.pressed;
|
|
8661
10038
|
return [styles.button, buttonStyle, {
|
|
@@ -8675,10 +10052,12 @@ var Button = function (_a) {
|
|
|
8675
10052
|
accessibilityState: {
|
|
8676
10053
|
disabled: disabled
|
|
8677
10054
|
},
|
|
8678
|
-
testID: testID
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
10055
|
+
testID: testID,
|
|
10056
|
+
children: jsxRuntimeExports.jsx(Text$3, {
|
|
10057
|
+
style: [styles.text, textStyle],
|
|
10058
|
+
children: title
|
|
10059
|
+
})
|
|
10060
|
+
});
|
|
8682
10061
|
};
|
|
8683
10062
|
|
|
8684
10063
|
var Icon = function (_a) {
|
|
@@ -8695,10 +10074,12 @@ var Icon = function (_a) {
|
|
|
8695
10074
|
console.warn("Icon \"".concat(name, "\" not found in Lucide icons"));
|
|
8696
10075
|
return null;
|
|
8697
10076
|
}
|
|
8698
|
-
return
|
|
8699
|
-
|
|
8700
|
-
|
|
8701
|
-
|
|
10077
|
+
return jsxRuntimeExports.jsx(View$2, __assign({}, props, {
|
|
10078
|
+
children: jsxRuntimeExports.jsx(LucideIcon, {
|
|
10079
|
+
color: color,
|
|
10080
|
+
size: size,
|
|
10081
|
+
strokeWidth: strokeWidth
|
|
10082
|
+
})
|
|
8702
10083
|
}));
|
|
8703
10084
|
};
|
|
8704
10085
|
|
|
@@ -8734,7 +10115,7 @@ var ActivityIndicator = /*#__PURE__*/React__namespace.forwardRef((props, forward
|
|
|
8734
10115
|
strokeDasharray: 80,
|
|
8735
10116
|
strokeDashoffset: 60
|
|
8736
10117
|
}));
|
|
8737
|
-
return /*#__PURE__*/React__namespace.createElement(View$2, _extends
|
|
10118
|
+
return /*#__PURE__*/React__namespace.createElement(View$2, _extends({}, other, {
|
|
8738
10119
|
"aria-valuemax": 1,
|
|
8739
10120
|
"aria-valuemin": 0,
|
|
8740
10121
|
ref: forwardedRef,
|
|
@@ -8786,18 +10167,18 @@ var indicatorSizes = StyleSheet$1.create({
|
|
|
8786
10167
|
});
|
|
8787
10168
|
var ActivityIndicator$1 = ActivityIndicator;
|
|
8788
10169
|
|
|
8789
|
-
/* istanbul ignore file */
|
|
8790
10170
|
var LoadingIndicator = function () {
|
|
8791
10171
|
var theme = useWllSdk().theme;
|
|
8792
|
-
return
|
|
10172
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
8793
10173
|
style: [styles$e.container, {
|
|
8794
10174
|
borderRadius: theme.sizes.borderRadiusSm,
|
|
8795
10175
|
padding: theme.sizes.md
|
|
8796
|
-
}]
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
10176
|
+
}],
|
|
10177
|
+
children: jsxRuntimeExports.jsx(ActivityIndicator$1, {
|
|
10178
|
+
size: "small",
|
|
10179
|
+
color: theme.primary
|
|
10180
|
+
})
|
|
10181
|
+
});
|
|
8801
10182
|
};
|
|
8802
10183
|
var styles$e = StyleSheet$1.create({
|
|
8803
10184
|
container: {
|
|
@@ -9108,7 +10489,7 @@ var ScrollViewBase = /*#__PURE__*/React__namespace.forwardRef((props, forwardedR
|
|
|
9108
10489
|
}
|
|
9109
10490
|
}
|
|
9110
10491
|
var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;
|
|
9111
|
-
return /*#__PURE__*/React__namespace.createElement(View$2, _extends
|
|
10492
|
+
return /*#__PURE__*/React__namespace.createElement(View$2, _extends({}, rest, {
|
|
9112
10493
|
onScroll: handleScroll,
|
|
9113
10494
|
onTouchMove: createPreventableScrollHandler(onTouchMove),
|
|
9114
10495
|
onWheel: createPreventableScrollHandler(onWheel),
|
|
@@ -9765,7 +11146,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
|
|
|
9765
11146
|
return child;
|
|
9766
11147
|
}
|
|
9767
11148
|
}) : this.props.children;
|
|
9768
|
-
var contentContainer = /*#__PURE__*/React.createElement(View$2, _extends
|
|
11149
|
+
var contentContainer = /*#__PURE__*/React.createElement(View$2, _extends({}, contentSizeChangeProps, {
|
|
9769
11150
|
children: children,
|
|
9770
11151
|
collapsable: false,
|
|
9771
11152
|
ref: this._setInnerViewRef,
|
|
@@ -9794,7 +11175,7 @@ let ScrollView$1 = class ScrollView extends React.Component {
|
|
|
9794
11175
|
});
|
|
9795
11176
|
var ScrollViewClass = ScrollViewBase$1;
|
|
9796
11177
|
invariant$1(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');
|
|
9797
|
-
var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends
|
|
11178
|
+
var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {
|
|
9798
11179
|
ref: this._setScrollNodeRef
|
|
9799
11180
|
}), contentContainer);
|
|
9800
11181
|
if (refreshControl) {
|
|
@@ -9849,7 +11230,7 @@ var styles$c = StyleSheet$1.create({
|
|
|
9849
11230
|
}
|
|
9850
11231
|
});
|
|
9851
11232
|
var ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
|
|
9852
|
-
return /*#__PURE__*/React.createElement(ScrollView$1, _extends
|
|
11233
|
+
return /*#__PURE__*/React.createElement(ScrollView$1, _extends({}, props, {
|
|
9853
11234
|
forwardedRef: forwardedRef
|
|
9854
11235
|
}));
|
|
9855
11236
|
});
|
|
@@ -11029,12 +12410,12 @@ class CellRenderer extends React__namespace.Component {
|
|
|
11029
12410
|
// $FlowFixMe[incompatible-type]
|
|
11030
12411
|
ItemSeparatorComponent && /*#__PURE__*/React__namespace.createElement(ItemSeparatorComponent, this.state.separatorProps);
|
|
11031
12412
|
var cellStyle = inversionStyle ? horizontal ? [styles$b.rowReverse, inversionStyle] : [styles$b.columnReverse, inversionStyle] : horizontal ? [styles$b.row, inversionStyle] : inversionStyle;
|
|
11032
|
-
var result = !CellRendererComponent ? /*#__PURE__*/React__namespace.createElement(View$2, _extends
|
|
12413
|
+
var result = !CellRendererComponent ? /*#__PURE__*/React__namespace.createElement(View$2, _extends({
|
|
11033
12414
|
style: cellStyle,
|
|
11034
12415
|
onFocusCapture: onCellFocusCapture
|
|
11035
12416
|
}, onCellLayout && {
|
|
11036
12417
|
onLayout: this._onLayout
|
|
11037
|
-
}), element, itemSeparator) : /*#__PURE__*/React__namespace.createElement(CellRendererComponent, _extends
|
|
12418
|
+
}), element, itemSeparator) : /*#__PURE__*/React__namespace.createElement(CellRendererComponent, _extends({
|
|
11038
12419
|
cellKey: cellKey,
|
|
11039
12420
|
index: index,
|
|
11040
12421
|
item: item,
|
|
@@ -11584,7 +12965,7 @@ class VirtualizedList extends StateSafePureComponent {
|
|
|
11584
12965
|
/*#__PURE__*/
|
|
11585
12966
|
// $FlowFixMe[prop-missing] Invalid prop usage
|
|
11586
12967
|
// $FlowFixMe[incompatible-use]
|
|
11587
|
-
React__namespace.createElement(ScrollView$2, _extends
|
|
12968
|
+
React__namespace.createElement(ScrollView$2, _extends({}, props, {
|
|
11588
12969
|
refreshControl: props.refreshControl == null ? /*#__PURE__*/React__namespace.createElement(RefreshControl
|
|
11589
12970
|
// $FlowFixMe[incompatible-type]
|
|
11590
12971
|
, {
|
|
@@ -12164,7 +13545,7 @@ class VirtualizedList extends StateSafePureComponent {
|
|
|
12164
13545
|
stickyHeaderIndices.push(cells.length);
|
|
12165
13546
|
}
|
|
12166
13547
|
var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();
|
|
12167
|
-
cells.push( /*#__PURE__*/React__namespace.createElement(CellRenderer, _extends
|
|
13548
|
+
cells.push( /*#__PURE__*/React__namespace.createElement(CellRenderer, _extends({
|
|
12168
13549
|
CellRendererComponent: CellRendererComponent,
|
|
12169
13550
|
ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,
|
|
12170
13551
|
ListItemComponent: ListItemComponent,
|
|
@@ -13155,7 +14536,7 @@ let FlatList$1 = class FlatList extends React__namespace.PureComponent {
|
|
|
13155
14536
|
return (
|
|
13156
14537
|
/*#__PURE__*/
|
|
13157
14538
|
// $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.
|
|
13158
|
-
React__namespace.createElement(VirtualizedList$1, _extends
|
|
14539
|
+
React__namespace.createElement(VirtualizedList$1, _extends({}, restProps, {
|
|
13159
14540
|
getItem: this._getItem,
|
|
13160
14541
|
getItemCount: this._getItemCount,
|
|
13161
14542
|
keyExtractor: this._keyExtractor,
|
|
@@ -15158,7 +16539,7 @@ function createAnimatedComponent(Component) {
|
|
|
15158
16539
|
passthroughStyle = _ref.style,
|
|
15159
16540
|
passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
15160
16541
|
var mergedStyle = [style, passthroughStyle];
|
|
15161
|
-
return /*#__PURE__*/React__namespace.createElement(Component, _extends
|
|
16542
|
+
return /*#__PURE__*/React__namespace.createElement(Component, _extends({}, reducedProps, passthroughProps, {
|
|
15162
16543
|
style: mergedStyle,
|
|
15163
16544
|
ref: ref
|
|
15164
16545
|
}));
|
|
@@ -15168,7 +16549,7 @@ function createAnimatedComponent(Component) {
|
|
|
15168
16549
|
/**
|
|
15169
16550
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
15170
16551
|
*/
|
|
15171
|
-
var FlatListWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(FlatList$2, _extends
|
|
16552
|
+
var FlatListWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(FlatList$2, _extends({
|
|
15172
16553
|
scrollEventThrottle: 0.0001
|
|
15173
16554
|
}, props, {
|
|
15174
16555
|
ref: ref
|
|
@@ -15620,7 +17001,7 @@ var Image$1 = /*#__PURE__*/React__namespace.forwardRef((props, ref) => {
|
|
|
15620
17001
|
}
|
|
15621
17002
|
return abortPendingRequest;
|
|
15622
17003
|
}, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);
|
|
15623
|
-
return /*#__PURE__*/React__namespace.createElement(View$2, _extends
|
|
17004
|
+
return /*#__PURE__*/React__namespace.createElement(View$2, _extends({}, rest, {
|
|
15624
17005
|
"aria-label": ariaLabel,
|
|
15625
17006
|
onLayout: handleLayout,
|
|
15626
17007
|
pointerEvents: pointerEvents,
|
|
@@ -15732,7 +17113,7 @@ var Image = createAnimatedComponent(Image$2);
|
|
|
15732
17113
|
/**
|
|
15733
17114
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
15734
17115
|
*/
|
|
15735
|
-
var ScrollViewWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(ScrollView$2, _extends
|
|
17116
|
+
var ScrollViewWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(ScrollView$2, _extends({
|
|
15736
17117
|
scrollEventThrottle: 0.0001
|
|
15737
17118
|
}, props, {
|
|
15738
17119
|
ref: ref
|
|
@@ -15912,7 +17293,7 @@ class VirtualizedSectionList extends React__namespace.PureComponent {
|
|
|
15912
17293
|
itemCount += this.props.getItemCount(section.data);
|
|
15913
17294
|
}
|
|
15914
17295
|
var renderItem = this._renderItem(itemCount);
|
|
15915
|
-
return /*#__PURE__*/React__namespace.createElement(VirtualizedList$1, _extends
|
|
17296
|
+
return /*#__PURE__*/React__namespace.createElement(VirtualizedList$1, _extends({}, passThroughProps, {
|
|
15916
17297
|
keyExtractor: this._keyExtractor,
|
|
15917
17298
|
stickyHeaderIndices: stickyHeaderIndices,
|
|
15918
17299
|
renderItem: renderItem,
|
|
@@ -16092,10 +17473,10 @@ function ItemWithSeparator(props) {
|
|
|
16092
17473
|
section,
|
|
16093
17474
|
separators
|
|
16094
17475
|
});
|
|
16095
|
-
var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React__namespace.createElement(LeadingSeparatorComponent, _extends
|
|
17476
|
+
var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React__namespace.createElement(LeadingSeparatorComponent, _extends({
|
|
16096
17477
|
highlighted: leadingSeparatorHiglighted
|
|
16097
17478
|
}, leadingSeparatorProps));
|
|
16098
|
-
var separator = SeparatorComponent != null && /*#__PURE__*/React__namespace.createElement(SeparatorComponent, _extends
|
|
17479
|
+
var separator = SeparatorComponent != null && /*#__PURE__*/React__namespace.createElement(SeparatorComponent, _extends({
|
|
16099
17480
|
highlighted: separatorHighlighted
|
|
16100
17481
|
}, separatorProps));
|
|
16101
17482
|
return leadingSeparator || separator ? /*#__PURE__*/React__namespace.createElement(View$2, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;
|
|
@@ -16235,7 +17616,7 @@ let SectionList$1 = class SectionList extends React__namespace.PureComponent {
|
|
|
16235
17616
|
_stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,
|
|
16236
17617
|
restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);
|
|
16237
17618
|
var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform$1.OS === 'ios';
|
|
16238
|
-
return /*#__PURE__*/React__namespace.createElement(VirtualizedSectionList$1, _extends
|
|
17619
|
+
return /*#__PURE__*/React__namespace.createElement(VirtualizedSectionList$1, _extends({}, restProps, {
|
|
16239
17620
|
stickySectionHeadersEnabled: stickySectionHeadersEnabled,
|
|
16240
17621
|
ref: this._captureRef,
|
|
16241
17622
|
getItemCount: items => items.length,
|
|
@@ -16247,7 +17628,7 @@ let SectionList$1 = class SectionList extends React__namespace.PureComponent {
|
|
|
16247
17628
|
/**
|
|
16248
17629
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
16249
17630
|
*/
|
|
16250
|
-
var SectionListWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(SectionList$1, _extends
|
|
17631
|
+
var SectionListWithEventThrottle = /*#__PURE__*/React__namespace.forwardRef((props, ref) => /*#__PURE__*/React__namespace.createElement(SectionList$1, _extends({
|
|
16251
17632
|
scrollEventThrottle: 0.0001
|
|
16252
17633
|
}, props, {
|
|
16253
17634
|
ref: ref
|
|
@@ -18664,7 +20045,6 @@ var Animated$1 = _objectSpread2({
|
|
|
18664
20045
|
View
|
|
18665
20046
|
}, Animated);
|
|
18666
20047
|
|
|
18667
|
-
/* istanbul ignore file */
|
|
18668
20048
|
var useStyles = function (theme) {
|
|
18669
20049
|
return StyleSheet$1.create({
|
|
18670
20050
|
container: {
|
|
@@ -18742,23 +20122,14 @@ var ProgressBar = function (_a) {
|
|
|
18742
20122
|
outputRange: ['0%', '100%']
|
|
18743
20123
|
})
|
|
18744
20124
|
};
|
|
18745
|
-
return
|
|
18746
|
-
style: containerStyle
|
|
18747
|
-
|
|
18748
|
-
|
|
18749
|
-
|
|
20125
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20126
|
+
style: containerStyle,
|
|
20127
|
+
children: jsxRuntimeExports.jsx(Animated$1.View, {
|
|
20128
|
+
style: [styles.progress, progressStyles, progressWidth]
|
|
20129
|
+
})
|
|
20130
|
+
});
|
|
18750
20131
|
};
|
|
18751
20132
|
|
|
18752
|
-
function _extends() {
|
|
18753
|
-
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
18754
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
18755
|
-
var t = arguments[e];
|
|
18756
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
18757
|
-
}
|
|
18758
|
-
return n;
|
|
18759
|
-
}, _extends.apply(null, arguments);
|
|
18760
|
-
}
|
|
18761
|
-
|
|
18762
20133
|
var IS_WEB = Platform$1.OS === "web";
|
|
18763
20134
|
Platform$1.OS === "ios";
|
|
18764
20135
|
Platform$1.OS === "android";
|
|
@@ -18794,26 +20165,27 @@ var ProgressiveImage = function (_a) {
|
|
|
18794
20165
|
} : {
|
|
18795
20166
|
tintColor: isDesaturated ? desaturatedColor : undefined
|
|
18796
20167
|
};
|
|
18797
|
-
return
|
|
18798
|
-
style: [styles$7.container, style, {
|
|
18799
|
-
backgroundColor: backgroundColor
|
|
18800
|
-
}]
|
|
18801
|
-
|
|
18802
|
-
|
|
18803
|
-
|
|
18804
|
-
|
|
18805
|
-
|
|
18806
|
-
|
|
18807
|
-
|
|
18808
|
-
|
|
18809
|
-
|
|
18810
|
-
|
|
18811
|
-
|
|
18812
|
-
|
|
18813
|
-
|
|
18814
|
-
|
|
18815
|
-
|
|
18816
|
-
|
|
20168
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
20169
|
+
style: [styles$7.container, style, {
|
|
20170
|
+
backgroundColor: backgroundColor
|
|
20171
|
+
}],
|
|
20172
|
+
children: [jsxRuntimeExports.jsx(Animated$1.View, {
|
|
20173
|
+
style: [styles$7.imageOverlay, {
|
|
20174
|
+
backgroundColor: backgroundColor,
|
|
20175
|
+
opacity: imageAnimated.interpolate({
|
|
20176
|
+
inputRange: [0, 1],
|
|
20177
|
+
outputRange: [1, 0]
|
|
20178
|
+
})
|
|
20179
|
+
}]
|
|
20180
|
+
}), jsxRuntimeExports.jsx(Animated$1.Image, __assign({}, props, {
|
|
20181
|
+
source: source,
|
|
20182
|
+
style: [styles$7.imageOverlay, __assign({
|
|
20183
|
+
opacity: imageAnimated
|
|
20184
|
+
}, desaturationStyle)],
|
|
20185
|
+
onLoad: onImageLoad,
|
|
20186
|
+
accessibilityLabel: alt
|
|
20187
|
+
}))]
|
|
20188
|
+
});
|
|
18817
20189
|
};
|
|
18818
20190
|
var styles$7 = StyleSheet$1.create({
|
|
18819
20191
|
imageOverlay: {
|
|
@@ -18878,7 +20250,7 @@ var Text = function (_a) {
|
|
|
18878
20250
|
}
|
|
18879
20251
|
};
|
|
18880
20252
|
var variantStyle = getVariantStyle(variant);
|
|
18881
|
-
return
|
|
20253
|
+
return jsxRuntimeExports.jsx(Text$3, __assign({
|
|
18882
20254
|
style: [variantStyle, style]
|
|
18883
20255
|
}, props));
|
|
18884
20256
|
};
|
|
@@ -19066,24 +20438,26 @@ var BaseBanner = function (_a) {
|
|
|
19066
20438
|
ctaText = _b.ctaText;
|
|
19067
20439
|
var handlePress = useHandleTilePress(tile, ctaLink, ctaLinkTarget);
|
|
19068
20440
|
var hasCTA = Boolean(ctaText);
|
|
19069
|
-
return
|
|
19070
|
-
value: tile
|
|
19071
|
-
|
|
19072
|
-
|
|
19073
|
-
|
|
19074
|
-
|
|
19075
|
-
|
|
19076
|
-
|
|
19077
|
-
|
|
19078
|
-
|
|
19079
|
-
|
|
19080
|
-
|
|
19081
|
-
|
|
19082
|
-
|
|
19083
|
-
|
|
19084
|
-
|
|
19085
|
-
|
|
19086
|
-
|
|
20441
|
+
return jsxRuntimeExports.jsx(BannerContext.Provider, {
|
|
20442
|
+
value: tile,
|
|
20443
|
+
children: jsxRuntimeExports.jsx(Pressable$1, {
|
|
20444
|
+
testID: testID || 'banner-tile',
|
|
20445
|
+
style: function (_a) {
|
|
20446
|
+
var pressed = _a.pressed;
|
|
20447
|
+
return [styles$6.container, style, {
|
|
20448
|
+
backgroundColor: theme.surface,
|
|
20449
|
+
borderRadius: theme.sizes.borderRadiusLg,
|
|
20450
|
+
opacity: pressed ? 0.7 : 1
|
|
20451
|
+
}];
|
|
20452
|
+
},
|
|
20453
|
+
onPress: hasCTA ? undefined : handlePress,
|
|
20454
|
+
disabled: !ctaLink || hasCTA,
|
|
20455
|
+
accessible: true,
|
|
20456
|
+
role: hasCTA ? 'article' : 'button',
|
|
20457
|
+
accessibilityLabel: accessibilityLabel || "".concat(title).concat(!hasCTA && ctaLink ? ' - Click to open' : ''),
|
|
20458
|
+
children: children
|
|
20459
|
+
})
|
|
20460
|
+
});
|
|
19087
20461
|
};
|
|
19088
20462
|
var styles$6 = StyleSheet$1.create({
|
|
19089
20463
|
container: {
|
|
@@ -19129,14 +20503,15 @@ var BaseTileBody = function (props) {
|
|
|
19129
20503
|
if (!isHalfSize && !artworkUrl) return undefined;
|
|
19130
20504
|
return isDesktop ? 3 : isTablet ? 4 : 3;
|
|
19131
20505
|
};
|
|
19132
|
-
return
|
|
20506
|
+
return jsxRuntimeExports.jsx(Text, __assign({
|
|
19133
20507
|
variant: "body"
|
|
19134
20508
|
}, props, {
|
|
19135
20509
|
accessibilityRole: "text",
|
|
19136
20510
|
accessibilityLabel: body,
|
|
19137
20511
|
numberOfLines: getNumberOfLines(),
|
|
19138
|
-
testID: "tile-body"
|
|
19139
|
-
|
|
20512
|
+
testID: "tile-body",
|
|
20513
|
+
children: body
|
|
20514
|
+
}));
|
|
19140
20515
|
};
|
|
19141
20516
|
|
|
19142
20517
|
/**
|
|
@@ -19250,14 +20625,15 @@ var BaseTileContent = function (_a) {
|
|
|
19250
20625
|
var sizeInfo = useTileSize(tileContext);
|
|
19251
20626
|
if (!sizeInfo) return null;
|
|
19252
20627
|
if (shouldHideContentForHalfTile(sizeInfo, artworkUrl)) return null;
|
|
19253
|
-
return
|
|
20628
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19254
20629
|
testID: "tile-content",
|
|
19255
20630
|
style: [baseStyles.content, {
|
|
19256
20631
|
justifyContent: 'center',
|
|
19257
20632
|
height: !artworkUrl ? '100%' : undefined
|
|
19258
20633
|
}],
|
|
19259
|
-
accessibilityRole: "none"
|
|
19260
|
-
|
|
20634
|
+
accessibilityRole: "none",
|
|
20635
|
+
children: children
|
|
20636
|
+
});
|
|
19261
20637
|
};
|
|
19262
20638
|
|
|
19263
20639
|
/**
|
|
@@ -19281,11 +20657,12 @@ var BaseTileHeader = function (_a) {
|
|
|
19281
20657
|
}), sizeInfo.isHalfSize ? {
|
|
19282
20658
|
alignItems: 'center'
|
|
19283
20659
|
} : {});
|
|
19284
|
-
return
|
|
20660
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19285
20661
|
style: combinedStyle,
|
|
19286
20662
|
testID: "tile-header",
|
|
19287
|
-
accessibilityRole: "header"
|
|
19288
|
-
|
|
20663
|
+
accessibilityRole: "header",
|
|
20664
|
+
children: children
|
|
20665
|
+
});
|
|
19289
20666
|
};
|
|
19290
20667
|
|
|
19291
20668
|
/**
|
|
@@ -19303,7 +20680,7 @@ var BaseTileMedia = function (props) {
|
|
|
19303
20680
|
title = _b === void 0 ? '' : _b;
|
|
19304
20681
|
var styles = useBaseTileStyles();
|
|
19305
20682
|
if (!artworkUrl) return null;
|
|
19306
|
-
return
|
|
20683
|
+
return jsxRuntimeExports.jsx(ProgressiveImage, __assign({}, props, {
|
|
19307
20684
|
source: {
|
|
19308
20685
|
uri: artworkUrl
|
|
19309
20686
|
},
|
|
@@ -19334,17 +20711,20 @@ var BaseTileTitle = function () {
|
|
|
19334
20711
|
var isHalfSize = sizeInfo.isHalfSize;
|
|
19335
20712
|
// Don't show title for half tiles with image
|
|
19336
20713
|
if (isHalfSize && artworkUrl || !title) return null;
|
|
19337
|
-
return
|
|
19338
|
-
|
|
19339
|
-
|
|
19340
|
-
|
|
19341
|
-
|
|
19342
|
-
|
|
19343
|
-
|
|
19344
|
-
|
|
19345
|
-
|
|
19346
|
-
|
|
19347
|
-
|
|
20714
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
20715
|
+
children: [jsxRuntimeExports.jsx(Text, {
|
|
20716
|
+
variant: "title",
|
|
20717
|
+
accessibilityRole: "header",
|
|
20718
|
+
accessibilityLabel: title,
|
|
20719
|
+
numberOfLines: 1,
|
|
20720
|
+
testID: "tile-title",
|
|
20721
|
+
children: title
|
|
20722
|
+
}), ctaLink && jsxRuntimeExports.jsx(Icon, {
|
|
20723
|
+
name: "ChevronRight",
|
|
20724
|
+
color: (_b = (_a = sdk.theme) === null || _a === void 0 ? void 0 : _a.derivedSurfaceText) === null || _b === void 0 ? void 0 : _b[20],
|
|
20725
|
+
accessibilityLabel: "View details"
|
|
20726
|
+
})]
|
|
20727
|
+
});
|
|
19348
20728
|
};
|
|
19349
20729
|
|
|
19350
20730
|
/**
|
|
@@ -19393,7 +20773,7 @@ var BaseTileContainer = function (_a) {
|
|
|
19393
20773
|
alignItems: 'stretch'
|
|
19394
20774
|
};
|
|
19395
20775
|
var dynamicStyles = useBaseTileStyles();
|
|
19396
|
-
return
|
|
20776
|
+
return jsxRuntimeExports.jsx(Pressable$1, {
|
|
19397
20777
|
style: function (_a) {
|
|
19398
20778
|
var pressed = _a.pressed;
|
|
19399
20779
|
return [baseStyles.container, dynamicStyles.container, {
|
|
@@ -19408,8 +20788,9 @@ var BaseTileContainer = function (_a) {
|
|
|
19408
20788
|
accessibilityLabel: "".concat(title).concat(ctaLink ? ' - Click to open' : ''),
|
|
19409
20789
|
accessibilityState: {
|
|
19410
20790
|
disabled: !ctaLink
|
|
19411
|
-
}
|
|
19412
|
-
|
|
20791
|
+
},
|
|
20792
|
+
children: children
|
|
20793
|
+
});
|
|
19413
20794
|
};
|
|
19414
20795
|
/**
|
|
19415
20796
|
* BaseTileRoot component to provide context and render children.
|
|
@@ -19425,11 +20806,13 @@ var BaseTileRoot = function (_a) {
|
|
|
19425
20806
|
console.warn('BaseTile: No tile provided');
|
|
19426
20807
|
return null;
|
|
19427
20808
|
}
|
|
19428
|
-
return
|
|
19429
|
-
value: tile
|
|
19430
|
-
|
|
19431
|
-
|
|
19432
|
-
|
|
20809
|
+
return jsxRuntimeExports.jsx(TileContext.Provider, {
|
|
20810
|
+
value: tile,
|
|
20811
|
+
children: jsxRuntimeExports.jsx(BaseTile.Container, {
|
|
20812
|
+
style: style,
|
|
20813
|
+
children: children
|
|
20814
|
+
})
|
|
20815
|
+
});
|
|
19433
20816
|
};
|
|
19434
20817
|
/**
|
|
19435
20818
|
* BaseTile component with subcomponents attached.
|
|
@@ -19443,7 +20826,6 @@ var BaseTile = Object.assign(BaseTileRoot, {
|
|
|
19443
20826
|
Body: BaseTileBody
|
|
19444
20827
|
});
|
|
19445
20828
|
|
|
19446
|
-
/* istanbul ignore file */
|
|
19447
20829
|
var Indicator = function () {
|
|
19448
20830
|
var _a = useResponsive$1(),
|
|
19449
20831
|
isDesktop = _a.isDesktop,
|
|
@@ -19453,11 +20835,13 @@ var Indicator = function () {
|
|
|
19453
20835
|
if (isTablet) return 'Tablet Layout';
|
|
19454
20836
|
return 'Mobile Layout';
|
|
19455
20837
|
};
|
|
19456
|
-
return
|
|
19457
|
-
style: styles$5.indicator
|
|
19458
|
-
|
|
19459
|
-
|
|
19460
|
-
|
|
20838
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20839
|
+
style: styles$5.indicator,
|
|
20840
|
+
children: jsxRuntimeExports.jsx(Text$3, {
|
|
20841
|
+
style: styles$5.indicatorText,
|
|
20842
|
+
children: getCurrentLayout()
|
|
20843
|
+
})
|
|
20844
|
+
});
|
|
19461
20845
|
};
|
|
19462
20846
|
var styles$5 = StyleSheet$1.create({
|
|
19463
20847
|
indicator: {
|
|
@@ -19478,7 +20862,6 @@ var styles$5 = StyleSheet$1.create({
|
|
|
19478
20862
|
|
|
19479
20863
|
var GRID_GAP = 16;
|
|
19480
20864
|
|
|
19481
|
-
/* istanbul ignore file */
|
|
19482
20865
|
var SkeletonTile = function (_a) {
|
|
19483
20866
|
var style = _a.style;
|
|
19484
20867
|
var theme = useWllSdk().theme;
|
|
@@ -19502,7 +20885,7 @@ var SkeletonTile = function (_a) {
|
|
|
19502
20885
|
inputRange: [0, 1],
|
|
19503
20886
|
outputRange: [0.3, 0.7]
|
|
19504
20887
|
});
|
|
19505
|
-
return
|
|
20888
|
+
return jsxRuntimeExports.jsx(Animated$1.View, {
|
|
19506
20889
|
style: [styles$4.container, {
|
|
19507
20890
|
opacity: opacity,
|
|
19508
20891
|
backgroundColor: theme.alphaDerivedText[20],
|
|
@@ -19518,7 +20901,6 @@ var styles$4 = StyleSheet$1.create({
|
|
|
19518
20901
|
}
|
|
19519
20902
|
});
|
|
19520
20903
|
|
|
19521
|
-
/* istanbul ignore file */
|
|
19522
20904
|
var Skeleton = function (_a) {
|
|
19523
20905
|
var style = _a.style,
|
|
19524
20906
|
_b = _a.numberOfSquares,
|
|
@@ -19544,29 +20926,29 @@ var Skeleton = function (_a) {
|
|
|
19544
20926
|
inputRange: [0, 1],
|
|
19545
20927
|
outputRange: [0.3, 0.7]
|
|
19546
20928
|
});
|
|
19547
|
-
return
|
|
19548
|
-
testID: "loading-skeleton"
|
|
19549
|
-
|
|
19550
|
-
|
|
19551
|
-
|
|
19552
|
-
|
|
19553
|
-
|
|
19554
|
-
|
|
19555
|
-
|
|
19556
|
-
|
|
19557
|
-
|
|
19558
|
-
|
|
19559
|
-
|
|
19560
|
-
|
|
19561
|
-
|
|
19562
|
-
|
|
19563
|
-
|
|
19564
|
-
|
|
19565
|
-
|
|
19566
|
-
|
|
19567
|
-
|
|
19568
|
-
})
|
|
19569
|
-
})
|
|
20929
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
20930
|
+
testID: "loading-skeleton",
|
|
20931
|
+
children: [jsxRuntimeExports.jsx(Animated$1.View, {
|
|
20932
|
+
style: [styles$3.skeleton, styles$3.title, {
|
|
20933
|
+
opacity: opacity,
|
|
20934
|
+
backgroundColor: theme.alphaDerivedText[20],
|
|
20935
|
+
borderRadius: 6
|
|
20936
|
+
}]
|
|
20937
|
+
}), jsxRuntimeExports.jsx(Animated$1.View, {
|
|
20938
|
+
style: [styles$3.skeleton, styles$3.body, {
|
|
20939
|
+
opacity: opacity,
|
|
20940
|
+
backgroundColor: theme.alphaDerivedText[20],
|
|
20941
|
+
borderRadius: 6
|
|
20942
|
+
}]
|
|
20943
|
+
}), jsxRuntimeExports.jsx(Animated$1.View, {
|
|
20944
|
+
style: [styles$3.container, style],
|
|
20945
|
+
children: Array.from({
|
|
20946
|
+
length: numberOfSquares
|
|
20947
|
+
}).map(function (_, index) {
|
|
20948
|
+
return jsxRuntimeExports.jsx(SkeletonTile, {}, index);
|
|
20949
|
+
})
|
|
20950
|
+
})]
|
|
20951
|
+
});
|
|
19570
20952
|
};
|
|
19571
20953
|
var styles$3 = StyleSheet$1.create({
|
|
19572
20954
|
container: {
|
|
@@ -19651,18 +21033,21 @@ function withTileFetching(WrappedComponent) {
|
|
|
19651
21033
|
}
|
|
19652
21034
|
}, [tile, tileId, getTileByID]);
|
|
19653
21035
|
if (isLoading) {
|
|
19654
|
-
return
|
|
21036
|
+
return jsxRuntimeExports.jsx(SkeletonTile, {
|
|
19655
21037
|
style: {
|
|
19656
21038
|
width: '100%'
|
|
19657
21039
|
}
|
|
19658
21040
|
});
|
|
19659
21041
|
}
|
|
19660
21042
|
if (error || !tileData) {
|
|
19661
|
-
return
|
|
19662
|
-
style: commonStyles.emptyContainer
|
|
19663
|
-
|
|
21043
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21044
|
+
style: commonStyles.emptyContainer,
|
|
21045
|
+
children: jsxRuntimeExports.jsx(Text$3, {
|
|
21046
|
+
children: "No tile data available"
|
|
21047
|
+
})
|
|
21048
|
+
});
|
|
19664
21049
|
}
|
|
19665
|
-
return
|
|
21050
|
+
return jsxRuntimeExports.jsx(WrappedComponent, __assign({}, props, {
|
|
19666
21051
|
tile: tileData
|
|
19667
21052
|
}));
|
|
19668
21053
|
};
|
|
@@ -19753,21 +21138,23 @@ var BadgeTileDateEarned = function () {
|
|
|
19753
21138
|
var textColor = getReadableTextColor(backgroundColor);
|
|
19754
21139
|
var displayText = count === 0 ? badgeNotEarnedMessage : "".concat(awardedDatePrefix, " ").concat(new Date(createdAt).toLocaleDateString());
|
|
19755
21140
|
var accessibilityLabel = count === 0 ? 'Badge not yet earned' : "Badge earned on ".concat(new Date(createdAt).toLocaleDateString());
|
|
19756
|
-
return
|
|
21141
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19757
21142
|
style: containerStyle,
|
|
19758
21143
|
accessible: true,
|
|
19759
21144
|
accessibilityLabel: accessibilityLabel,
|
|
19760
|
-
testID: "badge-tile-date-earned"
|
|
19761
|
-
|
|
19762
|
-
|
|
19763
|
-
|
|
19764
|
-
|
|
19765
|
-
|
|
19766
|
-
|
|
19767
|
-
|
|
19768
|
-
|
|
19769
|
-
|
|
19770
|
-
|
|
21145
|
+
testID: "badge-tile-date-earned",
|
|
21146
|
+
children: jsxRuntimeExports.jsx(Text, {
|
|
21147
|
+
variant: "label",
|
|
21148
|
+
style: [styles.dateEarnedText, {
|
|
21149
|
+
color: textColor
|
|
21150
|
+
}],
|
|
21151
|
+
numberOfLines: 1,
|
|
21152
|
+
ellipsizeMode: "tail",
|
|
21153
|
+
accessibilityElementsHidden: true,
|
|
21154
|
+
importantForAccessibility: "no-hide-descendants",
|
|
21155
|
+
children: displayText
|
|
21156
|
+
})
|
|
21157
|
+
});
|
|
19771
21158
|
};
|
|
19772
21159
|
|
|
19773
21160
|
/**
|
|
@@ -19786,17 +21173,19 @@ var BadgeTileDescription = function () {
|
|
|
19786
21173
|
// For Latest type, hide description when count = 0
|
|
19787
21174
|
// For Specific type, always show description
|
|
19788
21175
|
if (count === 0 && type === exports.BadgeTileType.Latest) return null;
|
|
19789
|
-
return
|
|
21176
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19790
21177
|
accessible: true,
|
|
19791
21178
|
accessibilityLabel: "Badge description: ".concat(description),
|
|
19792
|
-
testID: "badge-tile-description"
|
|
19793
|
-
|
|
19794
|
-
|
|
19795
|
-
|
|
19796
|
-
|
|
19797
|
-
|
|
19798
|
-
|
|
19799
|
-
|
|
21179
|
+
testID: "badge-tile-description",
|
|
21180
|
+
children: jsxRuntimeExports.jsx(Text, {
|
|
21181
|
+
variant: "body",
|
|
21182
|
+
numberOfLines: 2,
|
|
21183
|
+
ellipsizeMode: "tail",
|
|
21184
|
+
accessibilityElementsHidden: true,
|
|
21185
|
+
importantForAccessibility: "no-hide-descendants",
|
|
21186
|
+
children: description
|
|
21187
|
+
})
|
|
21188
|
+
});
|
|
19800
21189
|
};
|
|
19801
21190
|
|
|
19802
21191
|
/**
|
|
@@ -19819,18 +21208,19 @@ var BadgeTileMedia = function (_a) {
|
|
|
19819
21208
|
name = _b.name;
|
|
19820
21209
|
var displayUrl = type === exports.BadgeTileType.Specific ? artworkUrl : count === 0 ? emptyBadgeArtworkUrl : artworkUrl;
|
|
19821
21210
|
if (!displayUrl) return null;
|
|
19822
|
-
return
|
|
21211
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
19823
21212
|
style: styles.header,
|
|
19824
|
-
testID: "badge-tile-media"
|
|
19825
|
-
|
|
19826
|
-
|
|
19827
|
-
|
|
19828
|
-
|
|
19829
|
-
|
|
19830
|
-
|
|
19831
|
-
|
|
19832
|
-
|
|
19833
|
-
|
|
21213
|
+
testID: "badge-tile-media",
|
|
21214
|
+
children: [jsxRuntimeExports.jsx(ProgressiveImage, __assign({}, props, {
|
|
21215
|
+
source: {
|
|
21216
|
+
uri: displayUrl
|
|
21217
|
+
},
|
|
21218
|
+
style: styles.image,
|
|
21219
|
+
resizeMode: "contain",
|
|
21220
|
+
isDesaturated: shouldDesaturate(type, count),
|
|
21221
|
+
alt: alt !== null && alt !== void 0 ? alt : "Badge ".concat(name).concat(type === exports.BadgeTileType.Latest && count === 0 ? ' (not earned)' : '')
|
|
21222
|
+
})), children]
|
|
21223
|
+
});
|
|
19834
21224
|
};
|
|
19835
21225
|
|
|
19836
21226
|
/**
|
|
@@ -19850,22 +21240,24 @@ var BadgeTileStatus = function () {
|
|
|
19850
21240
|
}
|
|
19851
21241
|
var isLocked = count === 0;
|
|
19852
21242
|
var statusLabel = isLocked ? 'Badge locked' : "Earned ".concat(count, " times");
|
|
19853
|
-
return
|
|
21243
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19854
21244
|
style: styles.indicatorContainer,
|
|
19855
21245
|
accessible: true,
|
|
19856
21246
|
accessibilityLabel: statusLabel,
|
|
19857
|
-
testID: "badge-tile-status"
|
|
19858
|
-
|
|
19859
|
-
|
|
19860
|
-
|
|
19861
|
-
|
|
19862
|
-
|
|
19863
|
-
|
|
19864
|
-
|
|
19865
|
-
|
|
19866
|
-
|
|
19867
|
-
|
|
19868
|
-
|
|
21247
|
+
testID: "badge-tile-status",
|
|
21248
|
+
children: isLocked ? jsxRuntimeExports.jsx(Icon, {
|
|
21249
|
+
name: "LockKeyhole",
|
|
21250
|
+
testID: "badge-tile-status-locked",
|
|
21251
|
+
color: "#FFF",
|
|
21252
|
+
size: 20,
|
|
21253
|
+
accessibilityElementsHidden: true
|
|
21254
|
+
}) : jsxRuntimeExports.jsxs(Text, {
|
|
21255
|
+
style: styles.countText,
|
|
21256
|
+
accessibilityElementsHidden: true,
|
|
21257
|
+
importantForAccessibility: "no-hide-descendants",
|
|
21258
|
+
children: [count, "x"]
|
|
21259
|
+
})
|
|
21260
|
+
});
|
|
19869
21261
|
};
|
|
19870
21262
|
|
|
19871
21263
|
/**
|
|
@@ -19884,18 +21276,20 @@ var BadgeTileTitle = function () {
|
|
|
19884
21276
|
type = _a.type;
|
|
19885
21277
|
var displayText = type === exports.BadgeTileType.Specific ? name : count === 0 ? emptyBadgeMessage : name;
|
|
19886
21278
|
if (!displayText) return null;
|
|
19887
|
-
return
|
|
21279
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
19888
21280
|
accessible: true,
|
|
19889
21281
|
accessibilityLabel: "Badge title: ".concat(displayText),
|
|
19890
|
-
testID: "badge-tile-title"
|
|
19891
|
-
|
|
19892
|
-
|
|
19893
|
-
|
|
19894
|
-
|
|
19895
|
-
|
|
19896
|
-
|
|
19897
|
-
|
|
19898
|
-
|
|
21282
|
+
testID: "badge-tile-title",
|
|
21283
|
+
children: jsxRuntimeExports.jsx(Text, {
|
|
21284
|
+
variant: "title",
|
|
21285
|
+
style: styles.titleText,
|
|
21286
|
+
numberOfLines: count === 0 ? 2 : 1,
|
|
21287
|
+
ellipsizeMode: "tail",
|
|
21288
|
+
accessibilityElementsHidden: true,
|
|
21289
|
+
importantForAccessibility: "no-hide-descendants",
|
|
21290
|
+
children: displayText
|
|
21291
|
+
})
|
|
21292
|
+
});
|
|
19899
21293
|
};
|
|
19900
21294
|
|
|
19901
21295
|
/**
|
|
@@ -19906,12 +21300,16 @@ var BadgeTileTitle = function () {
|
|
|
19906
21300
|
var BadgeTileRoot = function (_a) {
|
|
19907
21301
|
var tile = _a.tile;
|
|
19908
21302
|
if (!tile || tile.tileHeight !== exports.TileHeight.Full || !tile.active) return null;
|
|
19909
|
-
return
|
|
19910
|
-
tile: tile
|
|
19911
|
-
|
|
19912
|
-
|
|
19913
|
-
|
|
19914
|
-
|
|
21303
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
21304
|
+
tile: tile,
|
|
21305
|
+
children: [jsxRuntimeExports.jsx(BadgeTile.Media, {
|
|
21306
|
+
children: jsxRuntimeExports.jsx(BadgeTile.Status, {})
|
|
21307
|
+
}), jsxRuntimeExports.jsxs(Layout, {
|
|
21308
|
+
justify: "between",
|
|
21309
|
+
align: "start",
|
|
21310
|
+
children: [jsxRuntimeExports.jsx(BadgeTile.Title, {}), jsxRuntimeExports.jsx(BadgeTile.Description, {}), jsxRuntimeExports.jsx(Spacer, {}), jsxRuntimeExports.jsx(BadgeTile.DateEarned, {})]
|
|
21311
|
+
})]
|
|
21312
|
+
});
|
|
19915
21313
|
};
|
|
19916
21314
|
/**
|
|
19917
21315
|
* The BadgeTile component with subcomponents attached.
|
|
@@ -19942,7 +21340,7 @@ var BannerTileCTA = function () {
|
|
|
19942
21340
|
if (!ctaText || !ctaLink) return null;
|
|
19943
21341
|
var handlePress = useHandleTilePress(bannerContext, ctaLink, ctaLinkTarget);
|
|
19944
21342
|
var hint = ctaLink ? ctaLinkTarget === exports.CTALinkTarget.newWindow ? "Opens ".concat(ctaLink, " in a new window") : "Takes you to ".concat(ctaLink) : '';
|
|
19945
|
-
return
|
|
21343
|
+
return jsxRuntimeExports.jsx(Button, {
|
|
19946
21344
|
testID: "banner-tile-cta",
|
|
19947
21345
|
title: ctaText,
|
|
19948
21346
|
variant: "accent",
|
|
@@ -20004,12 +21402,13 @@ var BannerTileDescription = function () {
|
|
|
20004
21402
|
if (!isContextValid(bannerContext)) return null;
|
|
20005
21403
|
var description = bannerContext.configuration.description;
|
|
20006
21404
|
if (!description) return null;
|
|
20007
|
-
return
|
|
21405
|
+
return jsxRuntimeExports.jsx(Text, {
|
|
20008
21406
|
style: styles.description,
|
|
20009
21407
|
accessibilityRole: "text",
|
|
20010
21408
|
accessibilityLabel: description,
|
|
20011
|
-
testID: "banner-tile-description"
|
|
20012
|
-
|
|
21409
|
+
testID: "banner-tile-description",
|
|
21410
|
+
children: description
|
|
21411
|
+
});
|
|
20013
21412
|
};
|
|
20014
21413
|
|
|
20015
21414
|
/**
|
|
@@ -20029,18 +21428,19 @@ var BannerTileMedia = function (_a) {
|
|
|
20029
21428
|
var containerStyle = {
|
|
20030
21429
|
width: isArtworkOnly ? '100%' : '30%'
|
|
20031
21430
|
};
|
|
20032
|
-
return
|
|
21431
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20033
21432
|
style: [styles.mediaContainer, containerStyle],
|
|
20034
21433
|
accessibilityRole: "image",
|
|
20035
21434
|
accessibilityLabel: "Banner image".concat(title ? " for ".concat(title) : ''),
|
|
20036
|
-
testID: "banner-tile-media"
|
|
20037
|
-
|
|
20038
|
-
|
|
20039
|
-
|
|
20040
|
-
|
|
20041
|
-
|
|
20042
|
-
|
|
20043
|
-
|
|
21435
|
+
testID: "banner-tile-media",
|
|
21436
|
+
children: jsxRuntimeExports.jsx(ProgressiveImage, {
|
|
21437
|
+
source: {
|
|
21438
|
+
uri: artworkUrl
|
|
21439
|
+
},
|
|
21440
|
+
style: styles.media,
|
|
21441
|
+
alt: "Banner image".concat(title ? " for ".concat(title) : '')
|
|
21442
|
+
})
|
|
21443
|
+
});
|
|
20044
21444
|
};
|
|
20045
21445
|
|
|
20046
21446
|
/**
|
|
@@ -20054,13 +21454,14 @@ var BannerTileTitle = function () {
|
|
|
20054
21454
|
if (!isContextValid(bannerContext)) return null;
|
|
20055
21455
|
var title = bannerContext.configuration.title;
|
|
20056
21456
|
if (!title) return null;
|
|
20057
|
-
return
|
|
21457
|
+
return jsxRuntimeExports.jsx(Text, {
|
|
20058
21458
|
variant: "title",
|
|
20059
21459
|
testID: "banner-tile-title",
|
|
20060
21460
|
style: styles.title,
|
|
20061
21461
|
accessibilityRole: "header",
|
|
20062
|
-
accessibilityLabel: title
|
|
20063
|
-
|
|
21462
|
+
accessibilityLabel: title,
|
|
21463
|
+
children: title
|
|
21464
|
+
});
|
|
20064
21465
|
};
|
|
20065
21466
|
|
|
20066
21467
|
/**
|
|
@@ -20085,11 +21486,14 @@ var BannerTileRoot = function (_a) {
|
|
|
20085
21486
|
var tile = _a.tile;
|
|
20086
21487
|
if (!tile || !tile.active || !tile.configuration) return null;
|
|
20087
21488
|
var configuration = tile.configuration;
|
|
20088
|
-
return
|
|
20089
|
-
tile: tile
|
|
20090
|
-
|
|
20091
|
-
|
|
20092
|
-
|
|
21489
|
+
return jsxRuntimeExports.jsxs(BaseBanner, {
|
|
21490
|
+
tile: tile,
|
|
21491
|
+
children: [jsxRuntimeExports.jsx(BannerTile.Media, {
|
|
21492
|
+
isArtworkOnly: isArtworkOnly$1(configuration)
|
|
21493
|
+
}), jsxRuntimeExports.jsxs(FullFlex, {
|
|
21494
|
+
children: [jsxRuntimeExports.jsx(BannerTile.Title, {}), jsxRuntimeExports.jsx(BannerTile.Description, {}), jsxRuntimeExports.jsx(BannerTile.CTA, {})]
|
|
21495
|
+
})]
|
|
21496
|
+
});
|
|
20093
21497
|
};
|
|
20094
21498
|
/**
|
|
20095
21499
|
* The BannerTile component with subcomponents attached.
|
|
@@ -20103,12 +21507,14 @@ var BannerTile = Object.assign(BannerTileRoot, {
|
|
|
20103
21507
|
var BannerTile$1 = withTileFetching(BannerTile);
|
|
20104
21508
|
|
|
20105
21509
|
var ContentTileBody = function () {
|
|
20106
|
-
return
|
|
21510
|
+
return jsxRuntimeExports.jsx(BaseTile.Body, {});
|
|
20107
21511
|
};
|
|
20108
21512
|
|
|
20109
21513
|
var ContentTileContainer = function (_a) {
|
|
20110
21514
|
var children = _a.children;
|
|
20111
|
-
return
|
|
21515
|
+
return jsxRuntimeExports.jsx(BaseTile.Container, {
|
|
21516
|
+
children: children
|
|
21517
|
+
});
|
|
20112
21518
|
};
|
|
20113
21519
|
|
|
20114
21520
|
/**
|
|
@@ -20137,9 +21543,12 @@ var useContentTileStyles = function () {
|
|
|
20137
21543
|
var ContentTileContent = function (_a) {
|
|
20138
21544
|
var children = _a.children;
|
|
20139
21545
|
var styles = useContentTileStyles();
|
|
20140
|
-
return
|
|
20141
|
-
|
|
20142
|
-
|
|
21546
|
+
return jsxRuntimeExports.jsx(BaseTile.Content, {
|
|
21547
|
+
children: jsxRuntimeExports.jsx(View$2, {
|
|
21548
|
+
style: styles.content,
|
|
21549
|
+
children: children
|
|
21550
|
+
})
|
|
21551
|
+
});
|
|
20143
21552
|
};
|
|
20144
21553
|
|
|
20145
21554
|
var ContentTileHeader = function () {
|
|
@@ -20147,12 +21556,14 @@ var ContentTileHeader = function () {
|
|
|
20147
21556
|
if (!isContextValid(tileContext)) return null;
|
|
20148
21557
|
var title = tileContext.configuration.title;
|
|
20149
21558
|
if (!title) return null;
|
|
20150
|
-
return
|
|
21559
|
+
return jsxRuntimeExports.jsx(BaseTile.Header, {
|
|
21560
|
+
children: jsxRuntimeExports.jsx(BaseTile.Title, {})
|
|
21561
|
+
});
|
|
20151
21562
|
};
|
|
20152
21563
|
|
|
20153
21564
|
var ContentTileMedia = function () {
|
|
20154
21565
|
var styles = useContentTileStyles();
|
|
20155
|
-
return
|
|
21566
|
+
return jsxRuntimeExports.jsx(BaseTile.Media, {
|
|
20156
21567
|
style: styles.media
|
|
20157
21568
|
});
|
|
20158
21569
|
};
|
|
@@ -20165,9 +21576,14 @@ var ContentTileMedia = function () {
|
|
|
20165
21576
|
var ContentTileRoot = function (_a) {
|
|
20166
21577
|
var tile = _a.tile;
|
|
20167
21578
|
if (!tile || !tile.active) return null;
|
|
20168
|
-
return
|
|
20169
|
-
tile: tile
|
|
20170
|
-
|
|
21579
|
+
return jsxRuntimeExports.jsx(BaseTile, {
|
|
21580
|
+
tile: tile,
|
|
21581
|
+
children: jsxRuntimeExports.jsxs(ContentTile.Container, {
|
|
21582
|
+
children: [jsxRuntimeExports.jsx(ContentTile.Media, {}), jsxRuntimeExports.jsxs(ContentTile.Content, {
|
|
21583
|
+
children: [jsxRuntimeExports.jsx(ContentTile.Header, {}), jsxRuntimeExports.jsx(ContentTile.Body, {})]
|
|
21584
|
+
})]
|
|
21585
|
+
})
|
|
21586
|
+
});
|
|
20171
21587
|
};
|
|
20172
21588
|
/**
|
|
20173
21589
|
* The ContentTile component with subcomponents attached.
|
|
@@ -20266,18 +21682,21 @@ var SectionHeader = function (_a) {
|
|
|
20266
21682
|
if (!title) {
|
|
20267
21683
|
return null;
|
|
20268
21684
|
}
|
|
20269
|
-
return
|
|
20270
|
-
style: styles.sectionHeader
|
|
20271
|
-
|
|
20272
|
-
|
|
20273
|
-
|
|
20274
|
-
|
|
20275
|
-
|
|
20276
|
-
|
|
20277
|
-
|
|
20278
|
-
|
|
20279
|
-
|
|
20280
|
-
|
|
21685
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
21686
|
+
style: styles.sectionHeader,
|
|
21687
|
+
children: [title && jsxRuntimeExports.jsx(Text, {
|
|
21688
|
+
style: [styles.sectionTitle, {
|
|
21689
|
+
fontWeight: '700',
|
|
21690
|
+
color: theme.text
|
|
21691
|
+
}],
|
|
21692
|
+
children: title
|
|
21693
|
+
}), description && jsxRuntimeExports.jsx(Text, {
|
|
21694
|
+
style: [styles.sectionDescription, {
|
|
21695
|
+
color: theme.alphaDerivedText[80]
|
|
21696
|
+
}],
|
|
21697
|
+
children: description
|
|
21698
|
+
})]
|
|
21699
|
+
});
|
|
20281
21700
|
};
|
|
20282
21701
|
|
|
20283
21702
|
var useCarouselStyles = function (buttonSize) {
|
|
@@ -20451,85 +21870,92 @@ var Carousel = function (_a) {
|
|
|
20451
21870
|
marginTop: useResponsiveValue(theme.sizes.xxl, theme.sizes.sm, isDesktop, isTablet)
|
|
20452
21871
|
}
|
|
20453
21872
|
});
|
|
20454
|
-
return
|
|
20455
|
-
|
|
20456
|
-
|
|
20457
|
-
|
|
20458
|
-
|
|
20459
|
-
|
|
20460
|
-
|
|
20461
|
-
|
|
20462
|
-
|
|
20463
|
-
|
|
20464
|
-
|
|
20465
|
-
|
|
20466
|
-
|
|
20467
|
-
|
|
20468
|
-
|
|
20469
|
-
|
|
20470
|
-
|
|
20471
|
-
|
|
20472
|
-
|
|
20473
|
-
|
|
20474
|
-
|
|
20475
|
-
|
|
20476
|
-
|
|
20477
|
-
|
|
20478
|
-
|
|
20479
|
-
|
|
20480
|
-
|
|
20481
|
-
|
|
20482
|
-
|
|
20483
|
-
|
|
20484
|
-
|
|
20485
|
-
|
|
20486
|
-
|
|
20487
|
-
|
|
20488
|
-
|
|
20489
|
-
|
|
20490
|
-
|
|
20491
|
-
|
|
20492
|
-
|
|
20493
|
-
|
|
20494
|
-
|
|
20495
|
-
|
|
20496
|
-
|
|
20497
|
-
|
|
20498
|
-
|
|
20499
|
-
|
|
20500
|
-
|
|
20501
|
-
|
|
20502
|
-
|
|
20503
|
-
|
|
20504
|
-
|
|
20505
|
-
|
|
20506
|
-
|
|
20507
|
-
|
|
20508
|
-
|
|
20509
|
-
|
|
20510
|
-
|
|
20511
|
-
|
|
20512
|
-
|
|
20513
|
-
|
|
20514
|
-
|
|
20515
|
-
|
|
20516
|
-
|
|
20517
|
-
|
|
20518
|
-
|
|
20519
|
-
|
|
20520
|
-
|
|
20521
|
-
|
|
20522
|
-
|
|
20523
|
-
|
|
20524
|
-
|
|
20525
|
-
|
|
20526
|
-
|
|
20527
|
-
|
|
20528
|
-
|
|
20529
|
-
|
|
20530
|
-
|
|
20531
|
-
|
|
20532
|
-
|
|
21873
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
21874
|
+
children: [jsxRuntimeExports.jsx(SectionHeader, {
|
|
21875
|
+
title: section.title,
|
|
21876
|
+
description: section.description
|
|
21877
|
+
}), jsxRuntimeExports.jsxs(View$2, {
|
|
21878
|
+
ref: containerRef,
|
|
21879
|
+
style: styles.container,
|
|
21880
|
+
onLayout: function (event) {
|
|
21881
|
+
var width = event.nativeEvent.layout.width;
|
|
21882
|
+
dispatch({
|
|
21883
|
+
type: 'SET_CONTAINER_WIDTH',
|
|
21884
|
+
payload: width
|
|
21885
|
+
});
|
|
21886
|
+
},
|
|
21887
|
+
children: [jsxRuntimeExports.jsxs(View$2, {
|
|
21888
|
+
style: styles.carouselContainer,
|
|
21889
|
+
children: [showPrevButton && jsxRuntimeExports.jsx(Pressable$1, {
|
|
21890
|
+
style: [styles.navButton, styles.navButtonLeft, {
|
|
21891
|
+
backgroundColor: theme.background
|
|
21892
|
+
}],
|
|
21893
|
+
onPress: handlePrev,
|
|
21894
|
+
accessibilityLabel: "Previous slide",
|
|
21895
|
+
role: "button",
|
|
21896
|
+
children: jsxRuntimeExports.jsx(Icon, {
|
|
21897
|
+
name: "ArrowLeft",
|
|
21898
|
+
size: 20,
|
|
21899
|
+
color: theme.primary
|
|
21900
|
+
})
|
|
21901
|
+
}), jsxRuntimeExports.jsx(ScrollView$2, {
|
|
21902
|
+
ref: scrollViewRef,
|
|
21903
|
+
horizontal: true,
|
|
21904
|
+
pagingEnabled: true,
|
|
21905
|
+
showsHorizontalScrollIndicator: false,
|
|
21906
|
+
onScroll: handleScroll,
|
|
21907
|
+
onMomentumScrollEnd: handleScrollEnd,
|
|
21908
|
+
scrollEventThrottle: 16,
|
|
21909
|
+
style: [styles.carouselContent],
|
|
21910
|
+
contentContainerStyle: {
|
|
21911
|
+
width: containerWidth * sortedTiles.length
|
|
21912
|
+
},
|
|
21913
|
+
decelerationRate: "fast",
|
|
21914
|
+
snapToInterval: containerWidth,
|
|
21915
|
+
snapToAlignment: "start",
|
|
21916
|
+
children: sortedTiles.map(function (tile, index) {
|
|
21917
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21918
|
+
style: [styles.slideContainer, {
|
|
21919
|
+
width: containerWidth
|
|
21920
|
+
}],
|
|
21921
|
+
children: jsxRuntimeExports.jsx(BannerTile$1, {
|
|
21922
|
+
tile: tile
|
|
21923
|
+
})
|
|
21924
|
+
}, index);
|
|
21925
|
+
})
|
|
21926
|
+
}), showNextButton && jsxRuntimeExports.jsx(Pressable$1, {
|
|
21927
|
+
style: [styles.navButton, styles.navButtonRight, {
|
|
21928
|
+
backgroundColor: theme.background
|
|
21929
|
+
}],
|
|
21930
|
+
onPress: handleNext,
|
|
21931
|
+
accessibilityLabel: "Next slide",
|
|
21932
|
+
role: "button",
|
|
21933
|
+
children: jsxRuntimeExports.jsx(Icon, {
|
|
21934
|
+
name: "ArrowRight",
|
|
21935
|
+
size: 20,
|
|
21936
|
+
color: theme.primary
|
|
21937
|
+
})
|
|
21938
|
+
})]
|
|
21939
|
+
}), displayControls && jsxRuntimeExports.jsx(View$2, {
|
|
21940
|
+
style: dynamicStyles.indicators,
|
|
21941
|
+
children: sortedTiles.map(function (_, index) {
|
|
21942
|
+
var width = animatedIndex.interpolate({
|
|
21943
|
+
inputRange: [index - 1, index, index + 1],
|
|
21944
|
+
outputRange: [8, 30, 8],
|
|
21945
|
+
extrapolate: 'clamp'
|
|
21946
|
+
});
|
|
21947
|
+
return jsxRuntimeExports.jsx(Animated$1.View, {
|
|
21948
|
+
style: [styles.indicator, {
|
|
21949
|
+
backgroundColor: theme.derivedBackground,
|
|
21950
|
+
width: width
|
|
21951
|
+
}, index === currentIndex && {
|
|
21952
|
+
backgroundColor: theme.primary
|
|
21953
|
+
}]
|
|
21954
|
+
}, index);
|
|
21955
|
+
})
|
|
21956
|
+
})]
|
|
21957
|
+
})]
|
|
21958
|
+
});
|
|
20533
21959
|
};
|
|
20534
21960
|
|
|
20535
21961
|
var Grid = function (_a) {
|
|
@@ -20582,27 +22008,30 @@ var Grid = function (_a) {
|
|
|
20582
22008
|
};
|
|
20583
22009
|
if (shouldStartNewContainer(currentTiles, tile, nextTile)) {
|
|
20584
22010
|
var isLastInRow = (tileContainers.length + 1) % columnsPerRow === 0;
|
|
20585
|
-
tileContainers.push(
|
|
20586
|
-
key: "container-".concat(index),
|
|
22011
|
+
tileContainers.push(jsxRuntimeExports.jsx(View$2, {
|
|
20587
22012
|
style: [
|
|
20588
22013
|
// @ts-ignore Web uses CSS calc strings for responsive layouts, while ViewStyle expects numbers
|
|
20589
22014
|
getTileWidth(columnsPerRow), !isLastInRow && {
|
|
20590
22015
|
marginRight: GRID_GAP
|
|
20591
|
-
}]
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
22016
|
+
}],
|
|
22017
|
+
children: jsxRuntimeExports.jsx(TileContainer, {
|
|
22018
|
+
tiles: currentTiles
|
|
22019
|
+
})
|
|
22020
|
+
}, "container-".concat(index)));
|
|
20595
22021
|
currentTiles = [];
|
|
20596
22022
|
}
|
|
20597
22023
|
});
|
|
20598
22024
|
return tileContainers;
|
|
20599
22025
|
}, [gridTiles, columnsPerRow, getTileWidth]);
|
|
20600
|
-
return
|
|
20601
|
-
|
|
20602
|
-
|
|
20603
|
-
|
|
20604
|
-
|
|
20605
|
-
|
|
22026
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
22027
|
+
children: [jsxRuntimeExports.jsx(SectionHeader, {
|
|
22028
|
+
title: section.title,
|
|
22029
|
+
description: section.description
|
|
22030
|
+
}), jsxRuntimeExports.jsx(View$2, {
|
|
22031
|
+
style: styles$2.grid,
|
|
22032
|
+
children: renderTileContainers()
|
|
22033
|
+
})]
|
|
22034
|
+
});
|
|
20606
22035
|
};
|
|
20607
22036
|
var styles$2 = StyleSheet$1.create({
|
|
20608
22037
|
grid: {
|
|
@@ -20612,7 +22041,6 @@ var styles$2 = StyleSheet$1.create({
|
|
|
20612
22041
|
}
|
|
20613
22042
|
});
|
|
20614
22043
|
|
|
20615
|
-
/* istanbul ignore file */
|
|
20616
22044
|
var ProgressIndicator = function (_a) {
|
|
20617
22045
|
var currentPoints = _a.currentPoints,
|
|
20618
22046
|
maxPoints = _a.maxPoints,
|
|
@@ -20631,25 +22059,28 @@ var ProgressIndicator = function (_a) {
|
|
|
20631
22059
|
} else if (percentage < 50) {
|
|
20632
22060
|
progressVariant = 'accent';
|
|
20633
22061
|
}
|
|
20634
|
-
return
|
|
20635
|
-
style: styles$1.container
|
|
20636
|
-
|
|
20637
|
-
|
|
20638
|
-
|
|
20639
|
-
|
|
20640
|
-
|
|
20641
|
-
|
|
20642
|
-
|
|
20643
|
-
|
|
20644
|
-
|
|
20645
|
-
|
|
20646
|
-
|
|
20647
|
-
|
|
20648
|
-
|
|
20649
|
-
|
|
20650
|
-
|
|
20651
|
-
|
|
20652
|
-
|
|
22062
|
+
return jsxRuntimeExports.jsxs(View$2, {
|
|
22063
|
+
style: styles$1.container,
|
|
22064
|
+
children: [jsxRuntimeExports.jsx(ProgressBar, {
|
|
22065
|
+
percentage: percentage,
|
|
22066
|
+
variant: progressVariant,
|
|
22067
|
+
height: height
|
|
22068
|
+
}), jsxRuntimeExports.jsx(View$2, {
|
|
22069
|
+
style: [styles$1.circleContainer],
|
|
22070
|
+
children: jsxRuntimeExports.jsx(View$2, {
|
|
22071
|
+
style: [styles$1.circle, {
|
|
22072
|
+
borderColor: theme.derivedSurface[20],
|
|
22073
|
+
backgroundColor: isComplete ? theme.primary : theme.surface,
|
|
22074
|
+
borderWidth: isComplete ? 0 : 4
|
|
22075
|
+
}],
|
|
22076
|
+
children: isComplete && jsxRuntimeExports.jsx(Icon, {
|
|
22077
|
+
name: "Check",
|
|
22078
|
+
size: 12,
|
|
22079
|
+
color: theme.primaryText
|
|
22080
|
+
})
|
|
22081
|
+
})
|
|
22082
|
+
})]
|
|
22083
|
+
});
|
|
20653
22084
|
};
|
|
20654
22085
|
var styles$1 = StyleSheet$1.create({
|
|
20655
22086
|
container: {
|
|
@@ -20769,11 +22200,14 @@ var useSectionData = function (section, sectionId) {
|
|
|
20769
22200
|
*/
|
|
20770
22201
|
var EmptyState = function (_a) {
|
|
20771
22202
|
var message = _a.message;
|
|
20772
|
-
return
|
|
22203
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20773
22204
|
style: commonStyles.emptyContainer,
|
|
20774
22205
|
accessibilityRole: "text",
|
|
20775
|
-
accessibilityLabel: "Empty state: ".concat(message)
|
|
20776
|
-
|
|
22206
|
+
accessibilityLabel: "Empty state: ".concat(message),
|
|
22207
|
+
children: jsxRuntimeExports.jsx(Text$3, {
|
|
22208
|
+
children: message
|
|
22209
|
+
})
|
|
22210
|
+
});
|
|
20777
22211
|
};
|
|
20778
22212
|
/**
|
|
20779
22213
|
* The Section component renders a section based on its type (e.g., Banner, Grid).
|
|
@@ -20797,13 +22231,13 @@ var Section = function (_a) {
|
|
|
20797
22231
|
}
|
|
20798
22232
|
var renderSectionContent = function () {
|
|
20799
22233
|
if (isLoading) {
|
|
20800
|
-
return
|
|
22234
|
+
return jsxRuntimeExports.jsx(Skeleton, {
|
|
20801
22235
|
"aria-label": "Loading section content",
|
|
20802
22236
|
numberOfSquares: 4
|
|
20803
22237
|
});
|
|
20804
22238
|
}
|
|
20805
22239
|
if (error || !sectionData) {
|
|
20806
|
-
return
|
|
22240
|
+
return jsxRuntimeExports.jsx(EmptyState, {
|
|
20807
22241
|
message: error || 'No section data available.'
|
|
20808
22242
|
});
|
|
20809
22243
|
}
|
|
@@ -20812,7 +22246,7 @@ var Section = function (_a) {
|
|
|
20812
22246
|
return tile && tile.active;
|
|
20813
22247
|
}));
|
|
20814
22248
|
if (!activeTiles || activeTiles.length === 0) {
|
|
20815
|
-
return
|
|
22249
|
+
return jsxRuntimeExports.jsx(EmptyState, {
|
|
20816
22250
|
message: "No active tiles available."
|
|
20817
22251
|
});
|
|
20818
22252
|
}
|
|
@@ -20821,36 +22255,38 @@ var Section = function (_a) {
|
|
|
20821
22255
|
});
|
|
20822
22256
|
if (!sectionData.type) {
|
|
20823
22257
|
console.warn('Section is missing a type');
|
|
20824
|
-
return
|
|
22258
|
+
return jsxRuntimeExports.jsx(EmptyState, {
|
|
20825
22259
|
message: "Invalid section configuration."
|
|
20826
22260
|
});
|
|
20827
22261
|
}
|
|
20828
22262
|
switch (sectionData.type) {
|
|
20829
22263
|
case exports.SectionType.Banner:
|
|
20830
|
-
return
|
|
22264
|
+
return jsxRuntimeExports.jsx(Carousel, {
|
|
20831
22265
|
section: sectionWithActiveTiles
|
|
20832
22266
|
});
|
|
20833
22267
|
case exports.SectionType.Grid:
|
|
20834
|
-
return
|
|
22268
|
+
return jsxRuntimeExports.jsx(Grid, {
|
|
20835
22269
|
section: sectionWithActiveTiles
|
|
20836
22270
|
});
|
|
20837
22271
|
default:
|
|
20838
22272
|
console.warn("Unknown section type: ".concat(sectionData.type));
|
|
20839
|
-
return
|
|
22273
|
+
return jsxRuntimeExports.jsx(EmptyState, {
|
|
20840
22274
|
message: "Unknown section type."
|
|
20841
22275
|
});
|
|
20842
22276
|
}
|
|
20843
22277
|
};
|
|
20844
|
-
return sectionData ?
|
|
22278
|
+
return sectionData ? jsxRuntimeExports.jsx(SectionContext.Provider, {
|
|
20845
22279
|
value: {
|
|
20846
22280
|
sectionData: sectionData
|
|
20847
|
-
}
|
|
20848
|
-
|
|
20849
|
-
|
|
20850
|
-
|
|
20851
|
-
|
|
20852
|
-
|
|
20853
|
-
|
|
22281
|
+
},
|
|
22282
|
+
children: jsxRuntimeExports.jsx(View$2, {
|
|
22283
|
+
style: styles.section,
|
|
22284
|
+
accessible: true,
|
|
22285
|
+
accessibilityLabel: "Section: ".concat(sectionData.title || 'Untitled section'),
|
|
22286
|
+
accessibilityHint: sectionData.description || undefined,
|
|
22287
|
+
children: renderSectionContent()
|
|
22288
|
+
})
|
|
22289
|
+
}) : null;
|
|
20854
22290
|
};
|
|
20855
22291
|
|
|
20856
22292
|
/**
|
|
@@ -20944,13 +22380,15 @@ var useGroupData = function (id) {
|
|
|
20944
22380
|
*/
|
|
20945
22381
|
var GroupEmptyState = function (_a) {
|
|
20946
22382
|
var message = _a.message;
|
|
20947
|
-
return
|
|
22383
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20948
22384
|
style: commonStyles.emptyContainer,
|
|
20949
22385
|
accessible: true,
|
|
20950
|
-
accessibilityLabel: "Empty state: ".concat(message)
|
|
20951
|
-
|
|
20952
|
-
|
|
20953
|
-
|
|
22386
|
+
accessibilityLabel: "Empty state: ".concat(message),
|
|
22387
|
+
children: jsxRuntimeExports.jsx(Text, {
|
|
22388
|
+
variant: "body",
|
|
22389
|
+
children: message
|
|
22390
|
+
})
|
|
22391
|
+
});
|
|
20954
22392
|
};
|
|
20955
22393
|
/**
|
|
20956
22394
|
* Component to render all sections in a group
|
|
@@ -20960,7 +22398,7 @@ var GroupEmptyState = function (_a) {
|
|
|
20960
22398
|
var GroupSections = function () {
|
|
20961
22399
|
var groupData = useGroupContext().groupData;
|
|
20962
22400
|
if (!groupData || !groupData.sections || groupData.sections.length === 0) {
|
|
20963
|
-
return
|
|
22401
|
+
return jsxRuntimeExports.jsx(GroupEmptyState, {
|
|
20964
22402
|
message: "This group doesn't have any sections"
|
|
20965
22403
|
});
|
|
20966
22404
|
}
|
|
@@ -20969,20 +22407,20 @@ var GroupSections = function () {
|
|
|
20969
22407
|
return section && section.active;
|
|
20970
22408
|
});
|
|
20971
22409
|
if (activeSections.length === 0) {
|
|
20972
|
-
return
|
|
22410
|
+
return jsxRuntimeExports.jsx(GroupEmptyState, {
|
|
20973
22411
|
message: "This group doesn't have any active sections"
|
|
20974
22412
|
});
|
|
20975
22413
|
}
|
|
20976
22414
|
var sortedSections = sortByPriority(activeSections);
|
|
20977
|
-
return
|
|
22415
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
20978
22416
|
accessible: true,
|
|
20979
|
-
accessibilityLabel: "Group: ".concat(groupData.name || 'Unnamed group')
|
|
20980
|
-
|
|
20981
|
-
|
|
20982
|
-
|
|
20983
|
-
|
|
20984
|
-
})
|
|
20985
|
-
})
|
|
22417
|
+
accessibilityLabel: "Group: ".concat(groupData.name || 'Unnamed group'),
|
|
22418
|
+
children: sortedSections.map(function (section) {
|
|
22419
|
+
return jsxRuntimeExports.jsx(Section, {
|
|
22420
|
+
section: section
|
|
22421
|
+
}, section.id);
|
|
22422
|
+
})
|
|
22423
|
+
});
|
|
20986
22424
|
};
|
|
20987
22425
|
/**
|
|
20988
22426
|
* A page-level component that represents a Group view in the application.
|
|
@@ -21007,24 +22445,27 @@ var Group = function (_a) {
|
|
|
21007
22445
|
isLoading = _b.isLoading,
|
|
21008
22446
|
error = _b.error;
|
|
21009
22447
|
if (isLoading) {
|
|
21010
|
-
return
|
|
22448
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21011
22449
|
style: commonStyles.emptyContainer,
|
|
21012
22450
|
accessible: true,
|
|
21013
|
-
accessibilityLabel: "Loading group data"
|
|
21014
|
-
|
|
22451
|
+
accessibilityLabel: "Loading group data",
|
|
22452
|
+
children: jsxRuntimeExports.jsx(Skeleton, {})
|
|
22453
|
+
});
|
|
21015
22454
|
}
|
|
21016
22455
|
if (error || !groupData) {
|
|
21017
|
-
return
|
|
22456
|
+
return jsxRuntimeExports.jsx(GroupEmptyState, {
|
|
21018
22457
|
message: error || 'No group data available'
|
|
21019
22458
|
});
|
|
21020
22459
|
}
|
|
21021
|
-
return
|
|
22460
|
+
return jsxRuntimeExports.jsx(GroupContext.Provider, {
|
|
21022
22461
|
value: {
|
|
21023
22462
|
groupData: groupData
|
|
21024
|
-
}
|
|
21025
|
-
|
|
21026
|
-
|
|
21027
|
-
|
|
22463
|
+
},
|
|
22464
|
+
children: jsxRuntimeExports.jsx(View$2, {
|
|
22465
|
+
"data-testid": "group-container",
|
|
22466
|
+
children: jsxRuntimeExports.jsx(GroupSections, {})
|
|
22467
|
+
})
|
|
22468
|
+
});
|
|
21028
22469
|
};
|
|
21029
22470
|
|
|
21030
22471
|
/**
|
|
@@ -21122,9 +22563,11 @@ var Column = function (_a) {
|
|
|
21122
22563
|
flex: flex
|
|
21123
22564
|
})
|
|
21124
22565
|
});
|
|
21125
|
-
return
|
|
22566
|
+
return jsxRuntimeExports.jsx(View$2, __assign({
|
|
21126
22567
|
style: [styles.container, style]
|
|
21127
|
-
}, rest
|
|
22568
|
+
}, rest, {
|
|
22569
|
+
children: children
|
|
22570
|
+
}));
|
|
21128
22571
|
};
|
|
21129
22572
|
|
|
21130
22573
|
/**
|
|
@@ -21137,11 +22580,13 @@ var FullFlex = function (_a) {
|
|
|
21137
22580
|
var children = _a.children,
|
|
21138
22581
|
style = _a.style,
|
|
21139
22582
|
rest = __rest(_a, ["children", "style"]);
|
|
21140
|
-
return
|
|
22583
|
+
return jsxRuntimeExports.jsx(View$2, __assign({
|
|
21141
22584
|
style: [{
|
|
21142
22585
|
flex: 1
|
|
21143
22586
|
}, style]
|
|
21144
|
-
}, rest
|
|
22587
|
+
}, rest, {
|
|
22588
|
+
children: children
|
|
22589
|
+
}));
|
|
21145
22590
|
};
|
|
21146
22591
|
|
|
21147
22592
|
/**
|
|
@@ -21178,9 +22623,11 @@ var Layout = function (_a) {
|
|
|
21178
22623
|
flexDirection: direction
|
|
21179
22624
|
}
|
|
21180
22625
|
});
|
|
21181
|
-
return
|
|
22626
|
+
return jsxRuntimeExports.jsx(View$2, __assign({
|
|
21182
22627
|
style: [dynamicStyles.container, style]
|
|
21183
|
-
}, rest
|
|
22628
|
+
}, rest, {
|
|
22629
|
+
children: children
|
|
22630
|
+
}));
|
|
21184
22631
|
};
|
|
21185
22632
|
|
|
21186
22633
|
/**
|
|
@@ -21212,9 +22659,11 @@ var Row = function (_a) {
|
|
|
21212
22659
|
flex: flex
|
|
21213
22660
|
})
|
|
21214
22661
|
});
|
|
21215
|
-
return
|
|
22662
|
+
return jsxRuntimeExports.jsx(View$2, __assign({
|
|
21216
22663
|
style: [styles.container, style]
|
|
21217
|
-
}, rest
|
|
22664
|
+
}, rest, {
|
|
22665
|
+
children: children
|
|
22666
|
+
}));
|
|
21218
22667
|
};
|
|
21219
22668
|
|
|
21220
22669
|
/**
|
|
@@ -21226,7 +22675,7 @@ var Row = function (_a) {
|
|
|
21226
22675
|
var Spacer = function (_a) {
|
|
21227
22676
|
var style = _a.style,
|
|
21228
22677
|
rest = __rest(_a, ["style"]);
|
|
21229
|
-
return
|
|
22678
|
+
return jsxRuntimeExports.jsx(View$2, __assign({
|
|
21230
22679
|
style: [{
|
|
21231
22680
|
flex: 1
|
|
21232
22681
|
}, style]
|
|
@@ -21303,24 +22752,29 @@ var PointsTileFormattedPoints = function () {
|
|
|
21303
22752
|
if (points === undefined || points === 0) return null;
|
|
21304
22753
|
var calculatedPoints = applyMultiplier(points, pointsMultiplier);
|
|
21305
22754
|
var fullPointsText = "".concat(pointsPrefix).concat(calculatedPoints, " ").concat(pointsSuffix).trim();
|
|
21306
|
-
return
|
|
22755
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21307
22756
|
testID: "points-tile-points",
|
|
21308
22757
|
accessibilityRole: "text",
|
|
21309
|
-
accessibilityLabel: "Points value: ".concat(fullPointsText)
|
|
21310
|
-
|
|
21311
|
-
|
|
21312
|
-
|
|
21313
|
-
|
|
21314
|
-
|
|
21315
|
-
|
|
21316
|
-
|
|
21317
|
-
|
|
21318
|
-
|
|
21319
|
-
|
|
21320
|
-
|
|
21321
|
-
|
|
21322
|
-
|
|
21323
|
-
|
|
22758
|
+
accessibilityLabel: "Points value: ".concat(fullPointsText),
|
|
22759
|
+
children: jsxRuntimeExports.jsxs(Row, {
|
|
22760
|
+
align: "center",
|
|
22761
|
+
justify: "start",
|
|
22762
|
+
children: [pointsPrefix ? jsxRuntimeExports.jsx(Text, {
|
|
22763
|
+
variant: "caption",
|
|
22764
|
+
testID: "points-tile-prefix",
|
|
22765
|
+
children: pointsPrefix
|
|
22766
|
+
}) : null, jsxRuntimeExports.jsx(Text, {
|
|
22767
|
+
variant: "caption",
|
|
22768
|
+
testID: "points-tile-value",
|
|
22769
|
+
children: calculatedPoints
|
|
22770
|
+
}), pointsSuffix ? jsxRuntimeExports.jsx(Text, {
|
|
22771
|
+
variant: "caption",
|
|
22772
|
+
style: styles.suffix,
|
|
22773
|
+
testID: "points-tile-suffix",
|
|
22774
|
+
children: pointsSuffix
|
|
22775
|
+
}) : null]
|
|
22776
|
+
})
|
|
22777
|
+
});
|
|
21324
22778
|
};
|
|
21325
22779
|
|
|
21326
22780
|
/**
|
|
@@ -21338,18 +22792,19 @@ var PointsTileMedia = function (_a) {
|
|
|
21338
22792
|
title = _c === void 0 ? 'Points' : _c;
|
|
21339
22793
|
var styles = usePointsTileStyles(isFullSize);
|
|
21340
22794
|
if (!artworkUrl) return null;
|
|
21341
|
-
return
|
|
22795
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21342
22796
|
testID: "points-tile-media",
|
|
21343
22797
|
style: styles.imageContainer,
|
|
21344
22798
|
accessibilityRole: "image",
|
|
21345
|
-
accessibilityLabel: "Points tile image for ".concat(title)
|
|
21346
|
-
|
|
21347
|
-
|
|
21348
|
-
|
|
21349
|
-
|
|
21350
|
-
|
|
21351
|
-
|
|
21352
|
-
|
|
22799
|
+
accessibilityLabel: "Points tile image for ".concat(title),
|
|
22800
|
+
children: jsxRuntimeExports.jsx(Image$2, {
|
|
22801
|
+
source: {
|
|
22802
|
+
uri: artworkUrl
|
|
22803
|
+
},
|
|
22804
|
+
style: styles.image,
|
|
22805
|
+
resizeMode: isFullSize ? 'cover' : 'contain'
|
|
22806
|
+
})
|
|
22807
|
+
});
|
|
21353
22808
|
};
|
|
21354
22809
|
|
|
21355
22810
|
/**
|
|
@@ -21362,12 +22817,13 @@ var PointsTileTitle = function () {
|
|
|
21362
22817
|
if (!isContextValid(tileContext)) return null;
|
|
21363
22818
|
var title = tileContext.configuration.title;
|
|
21364
22819
|
if (!title) return null;
|
|
21365
|
-
return
|
|
22820
|
+
return jsxRuntimeExports.jsx(Text, {
|
|
21366
22821
|
variant: "eyebrow",
|
|
21367
22822
|
testID: "points-tile-title",
|
|
21368
22823
|
accessibilityRole: "header",
|
|
21369
|
-
accessibilityLabel: title
|
|
21370
|
-
|
|
22824
|
+
accessibilityLabel: title,
|
|
22825
|
+
children: title
|
|
22826
|
+
});
|
|
21371
22827
|
};
|
|
21372
22828
|
|
|
21373
22829
|
/**
|
|
@@ -21383,17 +22839,20 @@ var PointsTileRoot = function (_a) {
|
|
|
21383
22839
|
if (!config) return null;
|
|
21384
22840
|
var isFullSize = useTileSize(tile).isFullSize;
|
|
21385
22841
|
var styles = usePointsTileStyles(isFullSize);
|
|
21386
|
-
return
|
|
21387
|
-
tile: tile
|
|
21388
|
-
|
|
21389
|
-
|
|
21390
|
-
|
|
21391
|
-
|
|
21392
|
-
|
|
21393
|
-
|
|
21394
|
-
|
|
21395
|
-
|
|
21396
|
-
|
|
22842
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
22843
|
+
tile: tile,
|
|
22844
|
+
children: [isFullSize && jsxRuntimeExports.jsx(PointsTile.Media, {
|
|
22845
|
+
isFullSize: true
|
|
22846
|
+
}), jsxRuntimeExports.jsxs(View$2, {
|
|
22847
|
+
style: styles.container,
|
|
22848
|
+
children: [!isFullSize && jsxRuntimeExports.jsx(PointsTile.Media, {
|
|
22849
|
+
isFullSize: false
|
|
22850
|
+
}), jsxRuntimeExports.jsxs(Column, {
|
|
22851
|
+
style: styles.contentContainer,
|
|
22852
|
+
children: [jsxRuntimeExports.jsx(PointsTile.Title, {}), jsxRuntimeExports.jsx(PointsTile.Points, {})]
|
|
22853
|
+
})]
|
|
22854
|
+
})]
|
|
22855
|
+
});
|
|
21397
22856
|
};
|
|
21398
22857
|
/**
|
|
21399
22858
|
* The PointsTile component with subcomponents attached.
|
|
@@ -21458,20 +22917,22 @@ var RewardCategoryHeader = function () {
|
|
|
21458
22917
|
_c = _a.name,
|
|
21459
22918
|
name = _c === void 0 ? '' : _c;
|
|
21460
22919
|
if (!showName || !name) return null;
|
|
21461
|
-
return
|
|
22920
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21462
22921
|
style: [styles.header, {
|
|
21463
22922
|
backgroundColor: theme.primary
|
|
21464
22923
|
}],
|
|
21465
22924
|
testID: "reward-category-header",
|
|
21466
22925
|
accessibilityRole: "header",
|
|
21467
|
-
accessibilityLabel: "Reward category: ".concat(name)
|
|
21468
|
-
|
|
21469
|
-
|
|
21470
|
-
|
|
21471
|
-
|
|
21472
|
-
|
|
21473
|
-
|
|
21474
|
-
|
|
22926
|
+
accessibilityLabel: "Reward category: ".concat(name),
|
|
22927
|
+
children: jsxRuntimeExports.jsx(Text, {
|
|
22928
|
+
style: [styles.headerText, {
|
|
22929
|
+
color: theme.primaryText
|
|
22930
|
+
}],
|
|
22931
|
+
ellipsizeMode: "tail",
|
|
22932
|
+
numberOfLines: 1,
|
|
22933
|
+
children: name
|
|
22934
|
+
})
|
|
22935
|
+
});
|
|
21475
22936
|
};
|
|
21476
22937
|
|
|
21477
22938
|
/**
|
|
@@ -21488,7 +22949,7 @@ var RewardCategoryMedia = function () {
|
|
|
21488
22949
|
_b = _a.name,
|
|
21489
22950
|
name = _b === void 0 ? 'Reward' : _b;
|
|
21490
22951
|
if (!artworkUrl) return null;
|
|
21491
|
-
return
|
|
22952
|
+
return jsxRuntimeExports.jsx(ProgressiveImage, {
|
|
21492
22953
|
testID: "reward-category-media",
|
|
21493
22954
|
source: {
|
|
21494
22955
|
uri: artworkUrl
|
|
@@ -21509,9 +22970,10 @@ var RewardCategoryMedia = function () {
|
|
|
21509
22970
|
var RewardCategoryTileRoot = function (_a) {
|
|
21510
22971
|
var tile = _a.tile;
|
|
21511
22972
|
if (!tile || !tile.active || !tile.configuration) return null;
|
|
21512
|
-
return
|
|
21513
|
-
tile: tile
|
|
21514
|
-
|
|
22973
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
22974
|
+
tile: tile,
|
|
22975
|
+
children: [jsxRuntimeExports.jsx(RewardCategoryTile.Header, {}), jsxRuntimeExports.jsx(RewardCategoryTile.Media, {})]
|
|
22976
|
+
});
|
|
21515
22977
|
};
|
|
21516
22978
|
/**
|
|
21517
22979
|
* The RewardCategoryTile component with subcomponents attached.
|
|
@@ -21530,7 +22992,7 @@ var RewardCategoryTile$1 = withTileFetching(RewardCategoryTile);
|
|
|
21530
22992
|
var RewardTileChevron = function () {
|
|
21531
22993
|
var _a;
|
|
21532
22994
|
var theme = useWllSdk().theme;
|
|
21533
|
-
return
|
|
22995
|
+
return jsxRuntimeExports.jsx(Icon, {
|
|
21534
22996
|
name: "ChevronRight",
|
|
21535
22997
|
color: ((_a = theme === null || theme === void 0 ? void 0 : theme.derivedSurfaceText) === null || _a === void 0 ? void 0 : _a[20]) || '#000000',
|
|
21536
22998
|
accessibilityRole: "image",
|
|
@@ -21609,18 +23071,19 @@ var RewardTileMedia = function (_a) {
|
|
|
21609
23071
|
var containerStyle = {
|
|
21610
23072
|
flexBasis: isArtworkOnly ? '100%' : '50%'
|
|
21611
23073
|
};
|
|
21612
|
-
return
|
|
23074
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21613
23075
|
style: [styles.imageContainer, containerStyle],
|
|
21614
23076
|
testID: "reward-tile-media",
|
|
21615
23077
|
accessibilityRole: "image",
|
|
21616
|
-
accessibilityLabel: "Reward image for ".concat(name)
|
|
21617
|
-
|
|
21618
|
-
|
|
21619
|
-
|
|
21620
|
-
|
|
21621
|
-
|
|
21622
|
-
|
|
21623
|
-
|
|
23078
|
+
accessibilityLabel: "Reward image for ".concat(name),
|
|
23079
|
+
children: jsxRuntimeExports.jsx(ProgressiveImage, {
|
|
23080
|
+
source: {
|
|
23081
|
+
uri: artworkUrl
|
|
23082
|
+
},
|
|
23083
|
+
style: styles.image,
|
|
23084
|
+
alt: "Reward image for ".concat(name)
|
|
23085
|
+
})
|
|
23086
|
+
});
|
|
21624
23087
|
};
|
|
21625
23088
|
|
|
21626
23089
|
/**
|
|
@@ -21646,25 +23109,30 @@ var RewardTilePoints = function () {
|
|
|
21646
23109
|
if (!showPrice || price === undefined || price === 0) return null;
|
|
21647
23110
|
var calculatedPoints = applyMultiplier(price, pointsMultiplier);
|
|
21648
23111
|
var accessibilityLabel = getPointsLabel('Reward points:', calculatedPoints, pointsPrefix, pointsSuffix);
|
|
21649
|
-
return
|
|
23112
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21650
23113
|
testID: "reward-tile-points",
|
|
21651
23114
|
accessibilityRole: "text",
|
|
21652
|
-
accessibilityLabel: accessibilityLabel
|
|
21653
|
-
|
|
21654
|
-
|
|
21655
|
-
|
|
21656
|
-
|
|
21657
|
-
|
|
21658
|
-
|
|
21659
|
-
|
|
21660
|
-
|
|
21661
|
-
|
|
21662
|
-
|
|
21663
|
-
|
|
21664
|
-
|
|
21665
|
-
|
|
21666
|
-
|
|
21667
|
-
|
|
23115
|
+
accessibilityLabel: accessibilityLabel,
|
|
23116
|
+
children: jsxRuntimeExports.jsxs(Row, {
|
|
23117
|
+
align: "center",
|
|
23118
|
+
justify: "start",
|
|
23119
|
+
style: {
|
|
23120
|
+
marginTop: 8
|
|
23121
|
+
},
|
|
23122
|
+
children: [pointsPrefix ? jsxRuntimeExports.jsx(Text, {
|
|
23123
|
+
variant: "caption",
|
|
23124
|
+
children: pointsPrefix
|
|
23125
|
+
}) : null, jsxRuntimeExports.jsx(Text, {
|
|
23126
|
+
variant: "caption",
|
|
23127
|
+
testID: "reward-tile-points-value",
|
|
23128
|
+
children: calculatedPoints
|
|
23129
|
+
}), pointsSuffix ? jsxRuntimeExports.jsx(Text, {
|
|
23130
|
+
variant: "caption",
|
|
23131
|
+
style: styles.suffix,
|
|
23132
|
+
children: pointsSuffix
|
|
23133
|
+
}) : null]
|
|
23134
|
+
})
|
|
23135
|
+
});
|
|
21668
23136
|
};
|
|
21669
23137
|
|
|
21670
23138
|
/**
|
|
@@ -21677,12 +23145,13 @@ var RewardTileSummary = function () {
|
|
|
21677
23145
|
if (!isContextValid(tileContext)) return null;
|
|
21678
23146
|
var summary = tileContext.configuration.summary;
|
|
21679
23147
|
if (!summary) return null;
|
|
21680
|
-
return
|
|
23148
|
+
return jsxRuntimeExports.jsx(Text, {
|
|
21681
23149
|
variant: "body",
|
|
21682
23150
|
accessibilityRole: "text",
|
|
21683
23151
|
accessibilityLabel: summary,
|
|
21684
|
-
testID: "reward-tile-summary"
|
|
21685
|
-
|
|
23152
|
+
testID: "reward-tile-summary",
|
|
23153
|
+
children: summary
|
|
23154
|
+
});
|
|
21686
23155
|
};
|
|
21687
23156
|
|
|
21688
23157
|
/**
|
|
@@ -21695,14 +23164,15 @@ var RewardTileTitle = function () {
|
|
|
21695
23164
|
if (!isContextValid(tileContext)) return null;
|
|
21696
23165
|
var name = tileContext.configuration.name;
|
|
21697
23166
|
if (!name) return null;
|
|
21698
|
-
return
|
|
23167
|
+
return jsxRuntimeExports.jsx(Text, {
|
|
21699
23168
|
variant: "title",
|
|
21700
23169
|
ellipsizeMode: "tail",
|
|
21701
23170
|
numberOfLines: 1,
|
|
21702
23171
|
accessibilityRole: "header",
|
|
21703
23172
|
accessibilityLabel: "Reward title: ".concat(name),
|
|
21704
|
-
testID: "reward-tile-title"
|
|
21705
|
-
|
|
23173
|
+
testID: "reward-tile-title",
|
|
23174
|
+
children: name
|
|
23175
|
+
});
|
|
21706
23176
|
};
|
|
21707
23177
|
|
|
21708
23178
|
/**
|
|
@@ -21727,15 +23197,19 @@ var RewardTileRoot = function (_a) {
|
|
|
21727
23197
|
var styles = useRewardTileStyles();
|
|
21728
23198
|
if (!tile || tile.tileHeight !== exports.TileHeight.Full || !tile.active || !tile.configuration) return null;
|
|
21729
23199
|
var configuration = tile.configuration;
|
|
21730
|
-
return
|
|
21731
|
-
tile: tile
|
|
21732
|
-
|
|
21733
|
-
|
|
21734
|
-
|
|
21735
|
-
|
|
21736
|
-
|
|
21737
|
-
|
|
21738
|
-
|
|
23200
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
23201
|
+
tile: tile,
|
|
23202
|
+
children: [jsxRuntimeExports.jsx(RewardTile.Media, {
|
|
23203
|
+
isArtworkOnly: isArtworkOnly(configuration)
|
|
23204
|
+
}), jsxRuntimeExports.jsxs(Layout, {
|
|
23205
|
+
children: [jsxRuntimeExports.jsxs(Row, {
|
|
23206
|
+
justify: "between",
|
|
23207
|
+
align: "center",
|
|
23208
|
+
style: styles.header,
|
|
23209
|
+
children: [jsxRuntimeExports.jsx(RewardTile.Title, {}), jsxRuntimeExports.jsx(RewardTile.Chevron, {})]
|
|
23210
|
+
}), jsxRuntimeExports.jsx(RewardTile.Summary, {}), jsxRuntimeExports.jsx(RewardTile.Points, {})]
|
|
23211
|
+
})]
|
|
23212
|
+
});
|
|
21739
23213
|
};
|
|
21740
23214
|
/**
|
|
21741
23215
|
* The RewardTile component with subcomponents attached.
|
|
@@ -21799,13 +23273,13 @@ var TierTileInner = function (_a) {
|
|
|
21799
23273
|
var tier = configuration.tier;
|
|
21800
23274
|
var isHalfSize = useTileSize(tile).isHalfSize;
|
|
21801
23275
|
if (!tier || Array.isArray(tier)) {
|
|
21802
|
-
return
|
|
23276
|
+
return jsxRuntimeExports.jsx(TierTile.Empty, {
|
|
21803
23277
|
tile: tile
|
|
21804
23278
|
});
|
|
21805
23279
|
}
|
|
21806
|
-
return isHalfSize ?
|
|
23280
|
+
return isHalfSize ? jsxRuntimeExports.jsx(TierTile.Half, {
|
|
21807
23281
|
tile: tile
|
|
21808
|
-
}) :
|
|
23282
|
+
}) : jsxRuntimeExports.jsx(TierTile.Full, {
|
|
21809
23283
|
tile: tile
|
|
21810
23284
|
});
|
|
21811
23285
|
};
|
|
@@ -21819,28 +23293,36 @@ var TierTileFull = function (_a) {
|
|
|
21819
23293
|
artworkUrl = _b.artworkUrl,
|
|
21820
23294
|
name = _b.name,
|
|
21821
23295
|
description = _b.description;
|
|
21822
|
-
return
|
|
21823
|
-
tile: tile
|
|
21824
|
-
|
|
21825
|
-
|
|
21826
|
-
|
|
21827
|
-
|
|
21828
|
-
|
|
21829
|
-
|
|
21830
|
-
|
|
21831
|
-
|
|
21832
|
-
|
|
21833
|
-
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
|
|
21837
|
-
|
|
21838
|
-
|
|
21839
|
-
|
|
21840
|
-
|
|
21841
|
-
|
|
21842
|
-
|
|
21843
|
-
|
|
23296
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
23297
|
+
tile: tile,
|
|
23298
|
+
children: [artworkUrl && jsxRuntimeExports.jsx(View$2, {
|
|
23299
|
+
style: styles.header,
|
|
23300
|
+
children: jsxRuntimeExports.jsx(ProgressiveImage, {
|
|
23301
|
+
source: {
|
|
23302
|
+
uri: artworkUrl
|
|
23303
|
+
},
|
|
23304
|
+
style: styles.image,
|
|
23305
|
+
resizeMode: "center"
|
|
23306
|
+
})
|
|
23307
|
+
}), jsxRuntimeExports.jsx(Layout, {
|
|
23308
|
+
align: "stretch",
|
|
23309
|
+
justify: artworkUrl ? 'start' : 'center',
|
|
23310
|
+
children: jsxRuntimeExports.jsxs(View$2, {
|
|
23311
|
+
children: [title && jsxRuntimeExports.jsx(Text, {
|
|
23312
|
+
variant: "eyebrow",
|
|
23313
|
+
style: styles.title,
|
|
23314
|
+
children: title
|
|
23315
|
+
}), name && jsxRuntimeExports.jsx(Text, {
|
|
23316
|
+
variant: "title",
|
|
23317
|
+
style: styles.title,
|
|
23318
|
+
children: name
|
|
23319
|
+
}), description && jsxRuntimeExports.jsx(Text, {
|
|
23320
|
+
variant: "body",
|
|
23321
|
+
children: description
|
|
23322
|
+
})]
|
|
23323
|
+
})
|
|
23324
|
+
})]
|
|
23325
|
+
});
|
|
21844
23326
|
};
|
|
21845
23327
|
var TierTileHalf = function (_a) {
|
|
21846
23328
|
var tile = _a.tile;
|
|
@@ -21852,36 +23334,42 @@ var TierTileHalf = function (_a) {
|
|
|
21852
23334
|
var _c = tier || {},
|
|
21853
23335
|
artworkUrl = _c.artworkUrl,
|
|
21854
23336
|
name = _c.name;
|
|
21855
|
-
return
|
|
21856
|
-
tile: tile
|
|
21857
|
-
|
|
21858
|
-
|
|
21859
|
-
|
|
21860
|
-
|
|
21861
|
-
|
|
21862
|
-
|
|
21863
|
-
|
|
21864
|
-
|
|
21865
|
-
|
|
21866
|
-
|
|
21867
|
-
|
|
21868
|
-
|
|
21869
|
-
|
|
21870
|
-
|
|
21871
|
-
|
|
21872
|
-
|
|
21873
|
-
|
|
21874
|
-
|
|
21875
|
-
|
|
21876
|
-
|
|
21877
|
-
|
|
21878
|
-
|
|
21879
|
-
|
|
21880
|
-
|
|
21881
|
-
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
23337
|
+
return jsxRuntimeExports.jsx(BaseTile, {
|
|
23338
|
+
tile: tile,
|
|
23339
|
+
children: jsxRuntimeExports.jsxs(Layout, {
|
|
23340
|
+
align: "center",
|
|
23341
|
+
justify: "between",
|
|
23342
|
+
direction: "row",
|
|
23343
|
+
style: {
|
|
23344
|
+
paddingTop: 16
|
|
23345
|
+
},
|
|
23346
|
+
children: [jsxRuntimeExports.jsxs(View$2, {
|
|
23347
|
+
style: {
|
|
23348
|
+
flex: 1,
|
|
23349
|
+
flexShrink: 1
|
|
23350
|
+
},
|
|
23351
|
+
children: [title && jsxRuntimeExports.jsx(Text, {
|
|
23352
|
+
variant: "eyebrow",
|
|
23353
|
+
style: styles.title,
|
|
23354
|
+
children: title
|
|
23355
|
+
}), name && jsxRuntimeExports.jsx(Text, {
|
|
23356
|
+
variant: "title",
|
|
23357
|
+
style: styles.name,
|
|
23358
|
+
numberOfLines: 2,
|
|
23359
|
+
children: name
|
|
23360
|
+
})]
|
|
23361
|
+
}), artworkUrl && jsxRuntimeExports.jsx(View$2, {
|
|
23362
|
+
style: styles.smallImageContainer,
|
|
23363
|
+
children: jsxRuntimeExports.jsx(Image$2, {
|
|
23364
|
+
source: {
|
|
23365
|
+
uri: artworkUrl
|
|
23366
|
+
},
|
|
23367
|
+
style: styles.smallImage,
|
|
23368
|
+
resizeMode: "contain"
|
|
23369
|
+
})
|
|
23370
|
+
})]
|
|
23371
|
+
})
|
|
23372
|
+
});
|
|
21885
23373
|
};
|
|
21886
23374
|
// Empty state tile
|
|
21887
23375
|
var TierTileEmpty = function (_a) {
|
|
@@ -21893,49 +23381,63 @@ var TierTileEmpty = function (_a) {
|
|
|
21893
23381
|
emptyArtworkUrl = configuration.emptyArtworkUrl;
|
|
21894
23382
|
var isHalfSize = useTileSize(tile).isHalfSize;
|
|
21895
23383
|
if (isHalfSize) {
|
|
21896
|
-
return
|
|
21897
|
-
tile: tile
|
|
21898
|
-
|
|
21899
|
-
|
|
21900
|
-
|
|
21901
|
-
|
|
21902
|
-
|
|
21903
|
-
|
|
21904
|
-
|
|
21905
|
-
|
|
21906
|
-
|
|
21907
|
-
|
|
21908
|
-
|
|
21909
|
-
|
|
21910
|
-
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
21916
|
-
|
|
21917
|
-
|
|
21918
|
-
|
|
23384
|
+
return jsxRuntimeExports.jsx(BaseTile, {
|
|
23385
|
+
tile: tile,
|
|
23386
|
+
children: jsxRuntimeExports.jsxs(Layout, {
|
|
23387
|
+
align: "center",
|
|
23388
|
+
justify: "between",
|
|
23389
|
+
direction: "row",
|
|
23390
|
+
style: {
|
|
23391
|
+
paddingTop: 16
|
|
23392
|
+
},
|
|
23393
|
+
children: [jsxRuntimeExports.jsxs(FullFlex, {
|
|
23394
|
+
children: [title && jsxRuntimeExports.jsx(Text, {
|
|
23395
|
+
variant: "title",
|
|
23396
|
+
style: styles.title,
|
|
23397
|
+
children: title
|
|
23398
|
+
}), emptyDescription && jsxRuntimeExports.jsx(Text, {
|
|
23399
|
+
variant: "body",
|
|
23400
|
+
children: emptyDescription
|
|
23401
|
+
})]
|
|
23402
|
+
}), emptyArtworkUrl && jsxRuntimeExports.jsx(View$2, {
|
|
23403
|
+
style: styles.smallImageContainer,
|
|
23404
|
+
children: jsxRuntimeExports.jsx(Image$2, {
|
|
23405
|
+
source: {
|
|
23406
|
+
uri: emptyArtworkUrl
|
|
23407
|
+
},
|
|
23408
|
+
style: styles.smallImage,
|
|
23409
|
+
resizeMode: "contain"
|
|
23410
|
+
})
|
|
23411
|
+
})]
|
|
23412
|
+
})
|
|
23413
|
+
});
|
|
21919
23414
|
}
|
|
21920
|
-
return
|
|
21921
|
-
tile: tile
|
|
21922
|
-
|
|
21923
|
-
|
|
21924
|
-
|
|
21925
|
-
|
|
21926
|
-
|
|
21927
|
-
|
|
21928
|
-
|
|
21929
|
-
|
|
21930
|
-
|
|
21931
|
-
|
|
21932
|
-
|
|
21933
|
-
|
|
21934
|
-
|
|
21935
|
-
|
|
21936
|
-
|
|
21937
|
-
|
|
21938
|
-
|
|
23415
|
+
return jsxRuntimeExports.jsxs(BaseTile, {
|
|
23416
|
+
tile: tile,
|
|
23417
|
+
children: [emptyArtworkUrl && jsxRuntimeExports.jsx(View$2, {
|
|
23418
|
+
style: styles.header,
|
|
23419
|
+
children: jsxRuntimeExports.jsx(ProgressiveImage, {
|
|
23420
|
+
source: {
|
|
23421
|
+
uri: emptyArtworkUrl
|
|
23422
|
+
},
|
|
23423
|
+
style: styles.image,
|
|
23424
|
+
resizeMode: "center"
|
|
23425
|
+
})
|
|
23426
|
+
}), jsxRuntimeExports.jsx(Layout, {
|
|
23427
|
+
align: "stretch",
|
|
23428
|
+
justify: "center",
|
|
23429
|
+
children: jsxRuntimeExports.jsxs(Layout, {
|
|
23430
|
+
children: [title && jsxRuntimeExports.jsx(Text, {
|
|
23431
|
+
variant: "title",
|
|
23432
|
+
style: styles.title,
|
|
23433
|
+
children: title
|
|
23434
|
+
}), emptyDescription && jsxRuntimeExports.jsx(Text, {
|
|
23435
|
+
variant: "body",
|
|
23436
|
+
children: emptyDescription
|
|
23437
|
+
})]
|
|
23438
|
+
})
|
|
23439
|
+
})]
|
|
23440
|
+
});
|
|
21939
23441
|
};
|
|
21940
23442
|
var TierTile = TierTileInner;
|
|
21941
23443
|
TierTile.Full = TierTileFull;
|
|
@@ -21949,21 +23451,22 @@ var TILE_COMPONENTS = (_a = {}, _a[exports.TileType.Content] = ContentTile$1, _a
|
|
|
21949
23451
|
*/
|
|
21950
23452
|
var TileContainer = function (_a) {
|
|
21951
23453
|
var tiles = _a.tiles;
|
|
21952
|
-
return
|
|
23454
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
21953
23455
|
style: styles.container,
|
|
21954
|
-
testID: "tile-container"
|
|
21955
|
-
|
|
21956
|
-
|
|
21957
|
-
|
|
21958
|
-
|
|
21959
|
-
|
|
21960
|
-
|
|
21961
|
-
|
|
21962
|
-
|
|
21963
|
-
|
|
21964
|
-
|
|
21965
|
-
|
|
21966
|
-
|
|
23456
|
+
testID: "tile-container",
|
|
23457
|
+
children: tiles.map(function (tile, index) {
|
|
23458
|
+
var TileComponent = TILE_COMPONENTS[tile.type];
|
|
23459
|
+
var isHalfSize = useTileSize(tile).isHalfSize;
|
|
23460
|
+
return jsxRuntimeExports.jsx(View$2, {
|
|
23461
|
+
style: [styles.tileContainer, isHalfSize && styles.halfTileContainer, index > 0 && {
|
|
23462
|
+
marginTop: GRID_GAP
|
|
23463
|
+
}],
|
|
23464
|
+
children: TileComponent ? jsxRuntimeExports.jsx(TileComponent, {
|
|
23465
|
+
tile: tile
|
|
23466
|
+
}) : null
|
|
23467
|
+
}, tile.id);
|
|
23468
|
+
})
|
|
23469
|
+
});
|
|
21967
23470
|
};
|
|
21968
23471
|
var styles = StyleSheet$1.create({
|
|
21969
23472
|
container: {
|