@wise/art 2.16.3 → 2.17.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/{CheckMark-8739d677.esm.js → CheckMark-6fa127ea.esm.js} +2 -2
  2. package/dist/{CheckMark-8739d677.esm.js.map → CheckMark-6fa127ea.esm.js.map} +1 -1
  3. package/dist/{CheckMark-d6d6dc58.js → CheckMark-7ddfffc7.js} +2 -2
  4. package/dist/{CheckMark-d6d6dc58.js.map → CheckMark-7ddfffc7.js.map} +1 -1
  5. package/dist/{Confetti-547021dc.esm.js → Confetti-231af510.esm.js} +2 -2
  6. package/dist/{Confetti-547021dc.esm.js.map → Confetti-231af510.esm.js.map} +1 -1
  7. package/dist/{Confetti-167e70eb.js → Confetti-d9776df0.js} +2 -2
  8. package/dist/{Confetti-167e70eb.js.map → Confetti-d9776df0.js.map} +1 -1
  9. package/dist/{Flower-1d55fd9f.esm.js → Flower-5f072c9e.esm.js} +2 -2
  10. package/dist/{Flower-1d55fd9f.esm.js.map → Flower-5f072c9e.esm.js.map} +1 -1
  11. package/dist/{Flower-246d3cae.js → Flower-62fa1025.js} +2 -2
  12. package/dist/{Flower-246d3cae.js.map → Flower-62fa1025.js.map} +1 -1
  13. package/dist/{Globe-4d45f120.esm.js → Globe-337cab45.esm.js} +2 -2
  14. package/dist/{Globe-4d45f120.esm.js.map → Globe-337cab45.esm.js.map} +1 -1
  15. package/dist/{Globe-4cc58d51.js → Globe-c146f5b7.js} +2 -2
  16. package/dist/{Globe-4cc58d51.js.map → Globe-c146f5b7.js.map} +1 -1
  17. package/dist/{Graph-b6d2ae4f.esm.js → Graph-78371111.esm.js} +2 -2
  18. package/dist/{Graph-b6d2ae4f.esm.js.map → Graph-78371111.esm.js.map} +1 -1
  19. package/dist/{Graph-92695799.js → Graph-f478eff5.js} +2 -2
  20. package/dist/{Graph-92695799.js.map → Graph-f478eff5.js.map} +1 -1
  21. package/dist/Illustration.css +1 -1
  22. package/dist/{Jars-df417159.esm.js → Jars-29235e45.esm.js} +2 -2
  23. package/dist/{Jars-df417159.esm.js.map → Jars-29235e45.esm.js.map} +1 -1
  24. package/dist/{Jars-1535636e.js → Jars-f9fd754f.js} +2 -2
  25. package/dist/{Jars-1535636e.js.map → Jars-f9fd754f.js.map} +1 -1
  26. package/dist/{Lock-809db77a.js → Lock-0b049d2a.js} +2 -2
  27. package/dist/{Lock-809db77a.js.map → Lock-0b049d2a.js.map} +1 -1
  28. package/dist/{Lock-4585d575.esm.js → Lock-5e3d1013.esm.js} +2 -2
  29. package/dist/{Lock-4585d575.esm.js.map → Lock-5e3d1013.esm.js.map} +1 -1
  30. package/dist/{MagnifyingGlass-0c782eb5.esm.js → MagnifyingGlass-24cec1d1.esm.js} +2 -2
  31. package/dist/{MagnifyingGlass-0c782eb5.esm.js.map → MagnifyingGlass-24cec1d1.esm.js.map} +1 -1
  32. package/dist/{MagnifyingGlass-d75af35a.js → MagnifyingGlass-4498093d.js} +2 -2
  33. package/dist/{MagnifyingGlass-d75af35a.js.map → MagnifyingGlass-4498093d.js.map} +1 -1
  34. package/dist/{Marble-8773843b.js → Marble-4ec2f621.js} +2 -2
  35. package/dist/{Marble-8773843b.js.map → Marble-4ec2f621.js.map} +1 -1
  36. package/dist/{Marble-04378fbe.esm.js → Marble-bfed2da3.esm.js} +2 -2
  37. package/dist/{Marble-04378fbe.esm.js.map → Marble-bfed2da3.esm.js.map} +1 -1
  38. package/dist/{MarbleCard-8985fdd3.js → MarbleCard-ba03de1b.js} +2 -2
  39. package/dist/{MarbleCard-8985fdd3.js.map → MarbleCard-ba03de1b.js.map} +1 -1
  40. package/dist/{MarbleCard-f2b2e65f.esm.js → MarbleCard-c15f8805.esm.js} +2 -2
  41. package/dist/{MarbleCard-f2b2e65f.esm.js.map → MarbleCard-c15f8805.esm.js.map} +1 -1
  42. package/dist/{MultiCurrency-57bb55c1.js → MultiCurrency-87004aba.js} +2 -2
  43. package/dist/{MultiCurrency-57bb55c1.js.map → MultiCurrency-87004aba.js.map} +1 -1
  44. package/dist/{MultiCurrency-188e7072.esm.js → MultiCurrency-f7d94034.esm.js} +2 -2
  45. package/dist/{MultiCurrency-188e7072.esm.js.map → MultiCurrency-f7d94034.esm.js.map} +1 -1
  46. package/dist/{Plane-b62dfda1.esm.js → Plane-4f1e92e4.esm.js} +2 -2
  47. package/dist/{Plane-b62dfda1.esm.js.map → Plane-4f1e92e4.esm.js.map} +1 -1
  48. package/dist/{Plane-054e0838.js → Plane-ad9bf87d.js} +2 -2
  49. package/dist/{Plane-054e0838.js.map → Plane-ad9bf87d.js.map} +1 -1
  50. package/dist/{Scene-42776055.js → Scene-48058bb3.js} +2 -2
  51. package/dist/{Scene-42776055.js.map → Scene-48058bb3.js.map} +1 -1
  52. package/dist/{Scene-60de3fb4.esm.js → Scene-6f4fe049.esm.js} +2 -2
  53. package/dist/{Scene-60de3fb4.esm.js.map → Scene-6f4fe049.esm.js.map} +1 -1
  54. package/dist/flags/Flag.d.ts.map +1 -1
  55. package/dist/{index-a91e5689.esm.js → index-27312590.esm.js} +32 -24
  56. package/dist/index-27312590.esm.js.map +1 -0
  57. package/dist/{index-5cf4c36c.js → index-fccd8965.js} +32 -24
  58. package/dist/index-fccd8965.js.map +1 -0
  59. package/dist/index.esm.js +1 -1
  60. package/dist/index.js +1 -1
  61. package/package.json +5 -5
  62. package/src/flags/Flag.css +15 -1
  63. package/src/flags/Flag.tsx +20 -10
  64. package/dist/index-5cf4c36c.js.map +0 -1
  65. package/dist/index-a91e5689.esm.js.map +0 -1
@@ -17,16 +17,24 @@ const Flag = ({
17
17
  }, [code]);
18
18
  const detailed = intrinsicSize >= 150;
19
19
  const name = fallback !== 'unknown' ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}` : unknownFlagName;
20
- return /*#__PURE__*/jsxRuntime.jsx("img", {
21
- className: clsx.clsx(`wds-flag wds-flag-${name}`, className),
22
- src: `https://wise.com/web-art/assets/flags/${name}.svg`,
23
- loading: loading,
24
- alt: "",
25
- width: intrinsicSize,
26
- height: intrinsicSize,
27
- onError: () => {
28
- setFallback(prev => prev == null && detailed ? 'simple' : 'unknown');
29
- }
20
+ return /*#__PURE__*/jsxRuntime.jsx("span", {
21
+ className: clsx.clsx(`wds-flag wds-flag-${name}`, className)
22
+ // @ts-expect-error CSS props allowed
23
+ // eslint-disable-next-line react/forbid-dom-props
24
+ ,
25
+ style: {
26
+ '--wds-flag-size': `${intrinsicSize}px`
27
+ },
28
+ children: /*#__PURE__*/jsxRuntime.jsx("img", {
29
+ src: process.env.NODE_ENV === 'web-art-dev' ? `${name}.svg` : `https://wise.com/web-art/assets/flags/${name}.svg`,
30
+ loading: loading,
31
+ alt: "",
32
+ width: intrinsicSize,
33
+ height: intrinsicSize,
34
+ onError: () => {
35
+ setFallback(prev => prev == null && detailed ? 'simple' : 'unknown');
36
+ }
37
+ })
30
38
  });
31
39
  };
32
40
 
@@ -263,66 +271,66 @@ function getModel({
263
271
  }) {
264
272
  // @ts-expect-error unknown generic
265
273
  let Model = /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
266
- const Scene = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Scene-42776055.js'); }));
274
+ const Scene = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Scene-48058bb3.js'); }));
267
275
  switch (name) {
268
276
  case exports.Assets.LOCK:
269
277
  {
270
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Lock-809db77a.js'); }));
278
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Lock-0b049d2a.js'); }));
271
279
  break;
272
280
  }
273
281
  case exports.Assets.GLOBE:
274
282
  {
275
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Globe-4cc58d51.js'); }));
283
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Globe-c146f5b7.js'); }));
276
284
  break;
277
285
  }
278
286
  case exports.Assets.CONFETTI:
279
287
  {
280
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Confetti-167e70eb.js'); }));
288
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Confetti-d9776df0.js'); }));
281
289
  break;
282
290
  }
283
291
  case exports.Assets.CHECK_MARK:
284
292
  {
285
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./CheckMark-d6d6dc58.js'); }));
293
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./CheckMark-7ddfffc7.js'); }));
286
294
  break;
287
295
  }
288
296
  case exports.Assets.FLOWER:
289
297
  {
290
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Flower-246d3cae.js'); }));
298
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Flower-62fa1025.js'); }));
291
299
  break;
292
300
  }
293
301
  case exports.Assets.PLANE:
294
302
  {
295
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Plane-054e0838.js'); }));
303
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Plane-ad9bf87d.js'); }));
296
304
  break;
297
305
  }
298
306
  case exports.Assets.GRAPH:
299
307
  {
300
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Graph-92695799.js'); }));
308
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Graph-f478eff5.js'); }));
301
309
  break;
302
310
  }
303
311
  case exports.Assets.MARBLE:
304
312
  {
305
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Marble-8773843b.js'); }));
313
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Marble-4ec2f621.js'); }));
306
314
  break;
307
315
  }
308
316
  case exports.Assets.MARBLE_CARD:
309
317
  {
310
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MarbleCard-8985fdd3.js'); }));
318
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MarbleCard-ba03de1b.js'); }));
311
319
  break;
312
320
  }
313
321
  case exports.Assets.MAGNIFYING_GLASS:
314
322
  {
315
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MagnifyingGlass-d75af35a.js'); }));
323
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MagnifyingGlass-4498093d.js'); }));
316
324
  break;
317
325
  }
318
326
  case exports.Assets.JARS:
319
327
  {
320
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Jars-1535636e.js'); }));
328
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Jars-f9fd754f.js'); }));
321
329
  break;
322
330
  }
323
331
  case exports.Assets.MULTI_CURRENCY:
324
332
  {
325
- Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MultiCurrency-57bb55c1.js'); }));
333
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MultiCurrency-87004aba.js'); }));
326
334
  break;
327
335
  }
328
336
  }
@@ -339,4 +347,4 @@ exports.Illustration3D = Illustration3D;
339
347
  exports.ImageSizes = ImageSizes;
340
348
  exports.defineSrc = defineSrc;
341
349
  exports.isIllustrationSupport3D = isIllustrationSupport3D;
342
- //# sourceMappingURL=index-5cf4c36c.js.map
350
+ //# sourceMappingURL=index-fccd8965.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-fccd8965.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3D.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nexport interface FlagProps {\n /**\n * Two-letter country code (ISO 3166-1 alpha-2) or three-letter currency code (ISO 4217).\n */\n code: string;\n\n /**\n * Width and height to reserve for the underlying image, in pixels. A detailed variant is shown from 150px and above.\n */\n intrinsicSize?: number;\n className?: string;\n loading?: 'lazy' | 'eager';\n}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({\n code,\n intrinsicSize = 64,\n className = undefined,\n loading = 'lazy',\n}: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <span\n className={clsx('wds-flag', `wds-flag-${name}`, className)}\n // @ts-expect-error CSS props allowed\n // eslint-disable-next-line react/forbid-dom-props\n style={{ '--wds-flag-size': `${intrinsicSize}px` }}\n >\n <img\n src={\n process.env.NODE_ENV === 'web-art-dev'\n ? `${name}.svg`\n : `https://wise.com/web-art/assets/flags/${name}.svg`\n }\n loading={loading}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n </span>\n );\n};\n","export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const ImageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport {\n type LargeSize,\n type MediumSize,\n type SmallSize,\n type Descriptors,\n Sizes,\n} from './../common';\nimport type { IllustrationNames } from './metadata';\n\n// Picking only a few props from Image element to avoid breaking change\n// as in future underlying element might change\ntype ImgProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'id' | 'className'>;\n\nexport type IllustrationSizes = LargeSize | MediumSize | SmallSize;\n\nexport type Props = {\n name: IllustrationNames;\n alt?: string;\n size?: IllustrationSizes;\n loading?: 'eager' | 'lazy';\n disablePadding?: boolean;\n} & ImgProps;\n\nconst imageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nconst Illustration = forwardRef<HTMLImageElement, Props>(\n (\n {\n id,\n name,\n alt = '',\n loading = 'eager',\n className,\n size = Sizes.MEDIUM,\n disablePadding = false,\n }: Props,\n ref,\n ) => {\n const { SMALL, MEDIUM } = Sizes;\n\n return name ? (\n <picture>\n {size === Sizes.LARGE || size === Sizes.MEDIUM ? (\n <>\n <source\n width={imageSizes[SMALL]}\n height={imageSizes[SMALL]}\n media=\"(max-width: 575px)\"\n srcSet={`${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`}\n />\n {size !== Sizes.MEDIUM ? (\n <source\n width={imageSizes[MEDIUM]}\n height={imageSizes[MEDIUM]}\n media=\"(max-width: 992px)\"\n srcSet={`${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`}\n />\n ) : null}\n </>\n ) : null}\n\n <img\n id={id}\n ref={ref}\n alt={alt}\n data-testid={`wds-${name}-illustration`}\n className={clsx(\n 'wds-illustration',\n `wds-illustration-${name}`,\n { 'wds-illustration-padding': !disablePadding },\n className,\n )}\n loading={loading}\n src={defineSrc(name, size, '1x')}\n srcSet={`${defineSrc(name, size, '2x')} 2x`}\n width={imageSizes[size]}\n height={imageSizes[size]}\n />\n </picture>\n ) : null;\n },\n);\n\nfunction defineSrc(illustration: string, size: IllustrationSizes, descriptor: Descriptors) {\n return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;\n}\n\nexport default Illustration;\n","/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-i10s-metadata.mjs`\n *\n */\n\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INTEREST = 'interest',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK_PLATFORM = 'lock-platform',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SATELLITE_PLATFORM = 'satellite-platform',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n STOPWATCH_PLATFORM = 'stopwatch-platform',\n TARGET_PLATFORM = 'target-platform',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'interest'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock-platform'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'satellite-platform'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'stopwatch-platform'\n | 'target-platform'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n","import { useState, useEffect } from 'react';\n\nimport type { IllustrationNames } from '../illustrations/metadata';\n\nexport function useBattery() {\n const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });\n\n useEffect(() => {\n const getBatteryData = async () => {\n // @ts-expect-error .getBattery exists in Navigator interface\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const battery = await navigator.getBattery();\n\n setBatteryData({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n level: battery?.level,\n });\n };\n // Check if the browser supports the Battery API\n if (\n 'getBattery' in navigator &&\n navigator.getBattery !== undefined &&\n typeof navigator.getBattery === 'function'\n ) {\n void getBatteryData();\n }\n }, []);\n\n return batteryData;\n}\n\nexport function isBatteryLow(batteryLevel: number): boolean {\n return batteryLevel < 0.2;\n}\n\nexport function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n return false;\n }\n return (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error Property 'connection' does exist on type 'Navigator'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n navigator?.connection?.saveData === true\n );\n}\n\nexport function defineSrc(asset: string): string {\n return `https://wise.com/web-art/assets/illustrations3d/${asset}`;\n}\n\nconst illustration3DNames = [\n 'lock',\n 'globe',\n 'confetti',\n 'check-mark',\n 'flower',\n 'graph',\n 'jars',\n 'magnifying-glass',\n 'marble',\n 'marble-card',\n 'multi-currency',\n 'plane',\n];\n\nexport function isIllustrationSupport3D(asset: IllustrationNames): boolean {\n return illustration3DNames.includes(asset);\n}\n","/* eslint-disable fp/no-mutation */\nimport { clsx } from 'clsx';\nimport { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\nimport Illustration, { Assets } from '../illustrations';\n\nimport { useBattery, isConnectionSlow, isBatteryLow } from './utils';\n\nexport type Illustration3DNames =\n | 'lock'\n | 'globe'\n | 'confetti'\n | 'check-mark'\n | 'flower'\n | 'graph'\n | 'jars'\n | 'magnifying-glass'\n | 'marble'\n | 'marble-card'\n | 'multi-currency'\n | 'plane';\n\nexport type Props = {\n name: Illustration3DNames;\n size?: SmallSize | MediumSize | LargeSize;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3D = ({ name, size = Sizes.MEDIUM, className }: Props) => {\n const [renderMode, setRenderMode] = useState<RenderMode>(RenderMode.INIT);\n const [inintrinsicSize, setInintrinsicSize] = useState<Props['size']>(size);\n const batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level)\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n const isMobile: boolean =\n (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;\n if (isMobile) {\n setInintrinsicSize(Sizes.SMALL);\n }\n }, [batteryData]);\n\n return (\n <div\n className={clsx(\n 'wds-illustration-3d',\n `wds-illustration-3d-${name}`,\n `wds-illustration-3d-${inintrinsicSize as string}`,\n className,\n )}\n aria-hidden\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: inintrinsicSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error unknown generic\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(() => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(() => import('./models/Lock'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(() => import('./models/Globe'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(() => import('./models/Confetti'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(() => import('./models/CheckMark'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(() => import('./models/Flower'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(() => import('./models/Plane'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(() => import('./models/Graph'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(() => import('./models/Marble'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(() => import('./models/MarbleCard'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(() => import('./models/MagnifyingGlass'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(() => import('./models/Jars'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(() => import('./models/MultiCurrency'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3D;\n"],"names":["unknownFlagName","Flag","code","intrinsicSize","className","undefined","loading","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","_jsx","clsx","style","children","src","process","env","NODE_ENV","alt","width","height","onError","prev","Sizes","ImageSizes","SMALL","MEDIUM","LARGE","imageSizes","Illustration","forwardRef","id","size","disablePadding","ref","_jsxs","_Fragment","media","srcSet","defineSrc","illustration","descriptor","Assets","useBattery","batteryData","setBatteryData","level","getBatteryData","battery","navigator","getBattery","isBatteryLow","batteryLevel","isConnectionSlow","connection","window","includes","effectiveType","saveData","asset","illustration3DNames","isIllustrationSupport3D","RenderMode","Illustration3D","renderMode","setRenderMode","INIT","inintrinsicSize","setInintrinsicSize","FALLBACK","ASSET_3D","isMobile","matchMedia","matches","Suspense","getModel","Model","Scene","lazy","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","assetName"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as Assets, F as Flag, a as Illustration, b as Illustration3D, S as Sizes, i as isIllustrationSupport3D } from './index-a91e5689.esm.js';
1
+ export { A as Assets, F as Flag, a as Illustration, b as Illustration3D, S as Sizes, i as isIllustrationSupport3D } from './index-27312590.esm.js';
2
2
  import 'clsx';
3
3
  import 'react';
4
4
  import 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5cf4c36c.js');
3
+ var index = require('./index-fccd8965.js');
4
4
  require('clsx');
5
5
  require('react');
6
6
  require('react/jsx-runtime');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/art",
3
- "version": "2.16.3",
3
+ "version": "2.17.0-beta.1",
4
4
  "packageManager": "pnpm@8.7.5",
5
5
  "license": "MIT",
6
6
  "description": "React library for art elements in UI",
@@ -25,7 +25,7 @@
25
25
  "setup": "pnpm && pnpm build",
26
26
  "load-3d-i10s": "rm -rf s3-bucket/illustrations3d/ && node ./scripts/load-3d-i10s.mjs",
27
27
  "load-i10s": "copyfiles -u 3 node_modules/wise-atoms/illustrations/**/*.png temp",
28
- "load-flags": "pnpm load-country-flags && pnpm load-currency-flags && pnpm transform-flags && pnpm convert-flags-svg-to-png",
28
+ "load-flags": "rm -rf s3-bucket/flags/* && pnpm load-country-flags && pnpm load-currency-flags && pnpm transform-flags && pnpm convert-flags-svg-to-png",
29
29
  "load-country-flags": "copyfiles -u 3 node_modules/wise-atoms/flags/*.svg s3-bucket/flags && node ./scripts/generate-country-flags.mjs",
30
30
  "load-currency-flags": "copyfiles -u 3 node_modules/wise-atoms/flags/.metadata.json s3-bucket/flags && node ./scripts/generate-currency-flags.mjs",
31
31
  "transform-flags": "node ./scripts/transform-flags.mjs",
@@ -34,10 +34,10 @@
34
34
  "generate-i10s-metadata": "node ./scripts/generate-i10s-metadata.mjs && eslint 'src/illustrations/metadata.ts' --fix",
35
35
  "bundle": "rm -rf dist && rollup --config --sourcemap && pnpm build-styles",
36
36
  "cleanup": "rm -rf temp",
37
- "build": "pnpm load-i10s && pnpm load-3d-i10s && pnpm convert-i10s-png-to-webp && pnpm generate-i10s-metadata && pnpm load-flags && pnpm bundle && pnpm cleanup",
37
+ "build": "NODE_ENV=web-art-prod pnpm load-i10s && pnpm load-3d-i10s && pnpm convert-i10s-png-to-webp && pnpm generate-i10s-metadata && pnpm load-flags && pnpm bundle && pnpm cleanup",
38
38
  "start": "storybook dev -p 3001",
39
- "dev": "pnpm start",
40
- "test": "jest && release-to-github-with-changelog-pre-release-checks",
39
+ "dev": "NODE_ENV=web-art-dev pnpm start",
40
+ "test": "jest",
41
41
  "lint-fix": "eslint 'src/**/*.{js,ts,tsx}' 'scripts/*.{mjs,js,ts,tsx}' --fix",
42
42
  "build-docs": "storybook build -o docs && touch ./docs/.nojekyll",
43
43
  "build-styles": "postcss src/index.css -o dist/Illustration.css"
@@ -1,4 +1,18 @@
1
1
  .wds-flag {
2
- box-shadow: 0 0 0 1px var(--color-border-neutral);
3
2
  border-radius: var(--radius-full);
3
+ width: var(--wds-flag-size);
4
+ height: var(--wds-flag-size);
5
+ position: relative;
6
+ display: inline-block;
7
+ }
8
+
9
+ .wds-flag::after {
10
+ content: "";
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ border-radius: var(--radius-full);
17
+ box-shadow: inset 0 0 0 1px var(--color-border-neutral);
4
18
  }
@@ -35,16 +35,26 @@ export const Flag = ({
35
35
  : unknownFlagName;
36
36
 
37
37
  return (
38
- <img
38
+ <span
39
39
  className={clsx('wds-flag', `wds-flag-${name}`, className)}
40
- src={`https://wise.com/web-art/assets/flags/${name}.svg`}
41
- loading={loading}
42
- alt=""
43
- width={intrinsicSize}
44
- height={intrinsicSize}
45
- onError={() => {
46
- setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));
47
- }}
48
- />
40
+ // @ts-expect-error CSS props allowed
41
+ // eslint-disable-next-line react/forbid-dom-props
42
+ style={{ '--wds-flag-size': `${intrinsicSize}px` }}
43
+ >
44
+ <img
45
+ src={
46
+ process.env.NODE_ENV === 'web-art-dev'
47
+ ? `${name}.svg`
48
+ : `https://wise.com/web-art/assets/flags/${name}.svg`
49
+ }
50
+ loading={loading}
51
+ alt=""
52
+ width={intrinsicSize}
53
+ height={intrinsicSize}
54
+ onError={() => {
55
+ setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));
56
+ }}
57
+ />
58
+ </span>
49
59
  );
50
60
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-5cf4c36c.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3D.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nexport interface FlagProps {\n /**\n * Two-letter country code (ISO 3166-1 alpha-2) or three-letter currency code (ISO 4217).\n */\n code: string;\n\n /**\n * Width and height to reserve for the underlying image, in pixels. A detailed variant is shown from 150px and above.\n */\n intrinsicSize?: number;\n className?: string;\n loading?: 'lazy' | 'eager';\n}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({\n code,\n intrinsicSize = 64,\n className = undefined,\n loading = 'lazy',\n}: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <img\n className={clsx('wds-flag', `wds-flag-${name}`, className)}\n src={`https://wise.com/web-art/assets/flags/${name}.svg`}\n loading={loading}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n );\n};\n","export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const ImageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport {\n type LargeSize,\n type MediumSize,\n type SmallSize,\n type Descriptors,\n Sizes,\n} from './../common';\nimport type { IllustrationNames } from './metadata';\n\n// Picking only a few props from Image element to avoid breaking change\n// as in future underlying element might change\ntype ImgProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'id' | 'className'>;\n\nexport type IllustrationSizes = LargeSize | MediumSize | SmallSize;\n\nexport type Props = {\n name: IllustrationNames;\n alt?: string;\n size?: IllustrationSizes;\n loading?: 'eager' | 'lazy';\n disablePadding?: boolean;\n} & ImgProps;\n\nconst imageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nconst Illustration = forwardRef<HTMLImageElement, Props>(\n (\n {\n id,\n name,\n alt = '',\n loading = 'eager',\n className,\n size = Sizes.MEDIUM,\n disablePadding = false,\n }: Props,\n ref,\n ) => {\n const { SMALL, MEDIUM } = Sizes;\n\n return name ? (\n <picture>\n {size === Sizes.LARGE || size === Sizes.MEDIUM ? (\n <>\n <source\n width={imageSizes[SMALL]}\n height={imageSizes[SMALL]}\n media=\"(max-width: 575px)\"\n srcSet={`${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`}\n />\n {size !== Sizes.MEDIUM ? (\n <source\n width={imageSizes[MEDIUM]}\n height={imageSizes[MEDIUM]}\n media=\"(max-width: 992px)\"\n srcSet={`${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`}\n />\n ) : null}\n </>\n ) : null}\n\n <img\n id={id}\n ref={ref}\n alt={alt}\n data-testid={`wds-${name}-illustration`}\n className={clsx(\n 'wds-illustration',\n `wds-illustration-${name}`,\n { 'wds-illustration-padding': !disablePadding },\n className,\n )}\n loading={loading}\n src={defineSrc(name, size, '1x')}\n srcSet={`${defineSrc(name, size, '2x')} 2x`}\n width={imageSizes[size]}\n height={imageSizes[size]}\n />\n </picture>\n ) : null;\n },\n);\n\nfunction defineSrc(illustration: string, size: IllustrationSizes, descriptor: Descriptors) {\n return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;\n}\n\nexport default Illustration;\n","/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-i10s-metadata.mjs`\n *\n */\n\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INTEREST = 'interest',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK_PLATFORM = 'lock-platform',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SATELLITE_PLATFORM = 'satellite-platform',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n STOPWATCH_PLATFORM = 'stopwatch-platform',\n TARGET_PLATFORM = 'target-platform',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'interest'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock-platform'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'satellite-platform'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'stopwatch-platform'\n | 'target-platform'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n","import { useState, useEffect } from 'react';\n\nimport type { IllustrationNames } from '../illustrations/metadata';\n\nexport function useBattery() {\n const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });\n\n useEffect(() => {\n const getBatteryData = async () => {\n // @ts-expect-error .getBattery exists in Navigator interface\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const battery = await navigator.getBattery();\n\n setBatteryData({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n level: battery?.level,\n });\n };\n // Check if the browser supports the Battery API\n if (\n 'getBattery' in navigator &&\n navigator.getBattery !== undefined &&\n typeof navigator.getBattery === 'function'\n ) {\n void getBatteryData();\n }\n }, []);\n\n return batteryData;\n}\n\nexport function isBatteryLow(batteryLevel: number): boolean {\n return batteryLevel < 0.2;\n}\n\nexport function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n return false;\n }\n return (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error Property 'connection' does exist on type 'Navigator'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n navigator?.connection?.saveData === true\n );\n}\n\nexport function defineSrc(asset: string): string {\n return `https://wise.com/web-art/assets/illustrations3d/${asset}`;\n}\n\nconst illustration3DNames = [\n 'lock',\n 'globe',\n 'confetti',\n 'check-mark',\n 'flower',\n 'graph',\n 'jars',\n 'magnifying-glass',\n 'marble',\n 'marble-card',\n 'multi-currency',\n 'plane',\n];\n\nexport function isIllustrationSupport3D(asset: IllustrationNames): boolean {\n return illustration3DNames.includes(asset);\n}\n","/* eslint-disable fp/no-mutation */\nimport { clsx } from 'clsx';\nimport { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\nimport Illustration, { Assets } from '../illustrations';\n\nimport { useBattery, isConnectionSlow, isBatteryLow } from './utils';\n\nexport type Illustration3DNames =\n | 'lock'\n | 'globe'\n | 'confetti'\n | 'check-mark'\n | 'flower'\n | 'graph'\n | 'jars'\n | 'magnifying-glass'\n | 'marble'\n | 'marble-card'\n | 'multi-currency'\n | 'plane';\n\nexport type Props = {\n name: Illustration3DNames;\n size?: SmallSize | MediumSize | LargeSize;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3D = ({ name, size = Sizes.MEDIUM, className }: Props) => {\n const [renderMode, setRenderMode] = useState<RenderMode>(RenderMode.INIT);\n const [inintrinsicSize, setInintrinsicSize] = useState<Props['size']>(size);\n const batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level)\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n const isMobile: boolean =\n (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;\n if (isMobile) {\n setInintrinsicSize(Sizes.SMALL);\n }\n }, [batteryData]);\n\n return (\n <div\n className={clsx(\n 'wds-illustration-3d',\n `wds-illustration-3d-${name}`,\n `wds-illustration-3d-${inintrinsicSize as string}`,\n className,\n )}\n aria-hidden\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: inintrinsicSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error unknown generic\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(() => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(() => import('./models/Lock'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(() => import('./models/Globe'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(() => import('./models/Confetti'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(() => import('./models/CheckMark'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(() => import('./models/Flower'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(() => import('./models/Plane'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(() => import('./models/Graph'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(() => import('./models/Marble'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(() => import('./models/MarbleCard'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(() => import('./models/MagnifyingGlass'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(() => import('./models/Jars'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(() => import('./models/MultiCurrency'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3D;\n"],"names":["unknownFlagName","Flag","code","intrinsicSize","className","undefined","loading","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","_jsx","clsx","src","alt","width","height","onError","prev","Sizes","ImageSizes","SMALL","MEDIUM","LARGE","imageSizes","Illustration","forwardRef","id","size","disablePadding","ref","_jsxs","children","_Fragment","media","srcSet","defineSrc","illustration","descriptor","Assets","useBattery","batteryData","setBatteryData","level","getBatteryData","battery","navigator","getBattery","isBatteryLow","batteryLevel","isConnectionSlow","connection","window","includes","effectiveType","saveData","asset","illustration3DNames","isIllustrationSupport3D","RenderMode","Illustration3D","renderMode","setRenderMode","INIT","inintrinsicSize","setInintrinsicSize","FALLBACK","ASSET_3D","isMobile","matchMedia","matches","Suspense","getModel","Model","Scene","lazy","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","assetName"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-a91e5689.esm.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3D.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nexport interface FlagProps {\n /**\n * Two-letter country code (ISO 3166-1 alpha-2) or three-letter currency code (ISO 4217).\n */\n code: string;\n\n /**\n * Width and height to reserve for the underlying image, in pixels. A detailed variant is shown from 150px and above.\n */\n intrinsicSize?: number;\n className?: string;\n loading?: 'lazy' | 'eager';\n}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({\n code,\n intrinsicSize = 64,\n className = undefined,\n loading = 'lazy',\n}: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <img\n className={clsx('wds-flag', `wds-flag-${name}`, className)}\n src={`https://wise.com/web-art/assets/flags/${name}.svg`}\n loading={loading}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n );\n};\n","export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const ImageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport {\n type LargeSize,\n type MediumSize,\n type SmallSize,\n type Descriptors,\n Sizes,\n} from './../common';\nimport type { IllustrationNames } from './metadata';\n\n// Picking only a few props from Image element to avoid breaking change\n// as in future underlying element might change\ntype ImgProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'id' | 'className'>;\n\nexport type IllustrationSizes = LargeSize | MediumSize | SmallSize;\n\nexport type Props = {\n name: IllustrationNames;\n alt?: string;\n size?: IllustrationSizes;\n loading?: 'eager' | 'lazy';\n disablePadding?: boolean;\n} & ImgProps;\n\nconst imageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nconst Illustration = forwardRef<HTMLImageElement, Props>(\n (\n {\n id,\n name,\n alt = '',\n loading = 'eager',\n className,\n size = Sizes.MEDIUM,\n disablePadding = false,\n }: Props,\n ref,\n ) => {\n const { SMALL, MEDIUM } = Sizes;\n\n return name ? (\n <picture>\n {size === Sizes.LARGE || size === Sizes.MEDIUM ? (\n <>\n <source\n width={imageSizes[SMALL]}\n height={imageSizes[SMALL]}\n media=\"(max-width: 575px)\"\n srcSet={`${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`}\n />\n {size !== Sizes.MEDIUM ? (\n <source\n width={imageSizes[MEDIUM]}\n height={imageSizes[MEDIUM]}\n media=\"(max-width: 992px)\"\n srcSet={`${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`}\n />\n ) : null}\n </>\n ) : null}\n\n <img\n id={id}\n ref={ref}\n alt={alt}\n data-testid={`wds-${name}-illustration`}\n className={clsx(\n 'wds-illustration',\n `wds-illustration-${name}`,\n { 'wds-illustration-padding': !disablePadding },\n className,\n )}\n loading={loading}\n src={defineSrc(name, size, '1x')}\n srcSet={`${defineSrc(name, size, '2x')} 2x`}\n width={imageSizes[size]}\n height={imageSizes[size]}\n />\n </picture>\n ) : null;\n },\n);\n\nfunction defineSrc(illustration: string, size: IllustrationSizes, descriptor: Descriptors) {\n return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;\n}\n\nexport default Illustration;\n","/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-i10s-metadata.mjs`\n *\n */\n\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INTEREST = 'interest',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK_PLATFORM = 'lock-platform',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SATELLITE_PLATFORM = 'satellite-platform',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n STOPWATCH_PLATFORM = 'stopwatch-platform',\n TARGET_PLATFORM = 'target-platform',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'interest'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock-platform'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'satellite-platform'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'stopwatch-platform'\n | 'target-platform'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n","import { useState, useEffect } from 'react';\n\nimport type { IllustrationNames } from '../illustrations/metadata';\n\nexport function useBattery() {\n const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });\n\n useEffect(() => {\n const getBatteryData = async () => {\n // @ts-expect-error .getBattery exists in Navigator interface\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const battery = await navigator.getBattery();\n\n setBatteryData({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n level: battery?.level,\n });\n };\n // Check if the browser supports the Battery API\n if (\n 'getBattery' in navigator &&\n navigator.getBattery !== undefined &&\n typeof navigator.getBattery === 'function'\n ) {\n void getBatteryData();\n }\n }, []);\n\n return batteryData;\n}\n\nexport function isBatteryLow(batteryLevel: number): boolean {\n return batteryLevel < 0.2;\n}\n\nexport function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n return false;\n }\n return (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error Property 'connection' does exist on type 'Navigator'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n navigator?.connection?.saveData === true\n );\n}\n\nexport function defineSrc(asset: string): string {\n return `https://wise.com/web-art/assets/illustrations3d/${asset}`;\n}\n\nconst illustration3DNames = [\n 'lock',\n 'globe',\n 'confetti',\n 'check-mark',\n 'flower',\n 'graph',\n 'jars',\n 'magnifying-glass',\n 'marble',\n 'marble-card',\n 'multi-currency',\n 'plane',\n];\n\nexport function isIllustrationSupport3D(asset: IllustrationNames): boolean {\n return illustration3DNames.includes(asset);\n}\n","/* eslint-disable fp/no-mutation */\nimport { clsx } from 'clsx';\nimport { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\nimport Illustration, { Assets } from '../illustrations';\n\nimport { useBattery, isConnectionSlow, isBatteryLow } from './utils';\n\nexport type Illustration3DNames =\n | 'lock'\n | 'globe'\n | 'confetti'\n | 'check-mark'\n | 'flower'\n | 'graph'\n | 'jars'\n | 'magnifying-glass'\n | 'marble'\n | 'marble-card'\n | 'multi-currency'\n | 'plane';\n\nexport type Props = {\n name: Illustration3DNames;\n size?: SmallSize | MediumSize | LargeSize;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3D = ({ name, size = Sizes.MEDIUM, className }: Props) => {\n const [renderMode, setRenderMode] = useState<RenderMode>(RenderMode.INIT);\n const [inintrinsicSize, setInintrinsicSize] = useState<Props['size']>(size);\n const batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level)\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n const isMobile: boolean =\n (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;\n if (isMobile) {\n setInintrinsicSize(Sizes.SMALL);\n }\n }, [batteryData]);\n\n return (\n <div\n className={clsx(\n 'wds-illustration-3d',\n `wds-illustration-3d-${name}`,\n `wds-illustration-3d-${inintrinsicSize as string}`,\n className,\n )}\n aria-hidden\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: inintrinsicSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error unknown generic\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(() => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(() => import('./models/Lock'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(() => import('./models/Globe'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(() => import('./models/Confetti'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(() => import('./models/CheckMark'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(() => import('./models/Flower'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(() => import('./models/Plane'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(() => import('./models/Graph'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(() => import('./models/Marble'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(() => import('./models/MarbleCard'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(() => import('./models/MagnifyingGlass'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(() => import('./models/Jars'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(() => import('./models/MultiCurrency'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3D;\n"],"names":["unknownFlagName","Flag","code","intrinsicSize","className","undefined","loading","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","_jsx","clsx","src","alt","width","height","onError","prev","Sizes","ImageSizes","SMALL","MEDIUM","LARGE","imageSizes","Illustration","forwardRef","id","size","disablePadding","ref","_jsxs","children","_Fragment","media","srcSet","defineSrc","illustration","descriptor","Assets","useBattery","batteryData","setBatteryData","level","getBatteryData","battery","navigator","getBattery","isBatteryLow","batteryLevel","isConnectionSlow","connection","window","includes","effectiveType","saveData","asset","illustration3DNames","isIllustrationSupport3D","RenderMode","Illustration3D","renderMode","setRenderMode","INIT","inintrinsicSize","setInintrinsicSize","FALLBACK","ASSET_3D","isMobile","matchMedia","matches","Suspense","getModel","Model","Scene","lazy","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","assetName"],"mappings":";;;;AAiBA,MAAMA,eAAe,GAAG,MAAM,CAAA;AAEvB,MAAMC,IAAI,GAAGA,CAAC;EACnBC,IAAI;AACJC,EAAAA,aAAa,GAAG,EAAE;AAClBC,EAAAA,SAAS,GAAGC,SAAS;AACrBC,EAAAA,OAAO,GAAG,MAAA;AACA,CAAA,KAAI;EACd,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,QAAQ,CAA8B,IAAI,CAAC,CAAA;AAC3EC,EAAAA,SAAS,CAAC,MAAK;IACbF,WAAW,CAAC,IAAI,CAAC,CAAA;AACnB,GAAC,EAAE,CAACN,IAAI,CAAC,CAAC,CAAA;AAEV,EAAA,MAAMS,QAAQ,GAAGR,aAAa,IAAI,GAAG,CAAA;EACrC,MAAMS,IAAI,GACRL,QAAQ,KAAK,SAAS,IACfL,EAAAA,IAAI,CAACW,WAAW,EAAE,GAAGN,QAAQ,IAAI,IAAI,IAAII,QAAQ,GAAG,WAAW,GAAG,EAAI,CAAA,CAAA,GACzEX,eAAe,CAAA;AAErB,EAAA,oBACEc,GAAA,CAAA,KAAA,EAAA;AACEV,IAAAA,SAAS,EAAEW,IAAI,CAAA,CAAA,kBAAA,EAAyBH,IAAM,CAAA,CAAA,EAAER,SAAS,CAAE;IAC3DY,GAAG,EAA2C,CAAAJ,sCAAAA,EAAAA,IAAU,CAAC,IAAA,CAAA;AACzDN,IAAAA,OAAO,EAAEA,OAAQ;AACjBW,IAAAA,GAAG,EAAC,EAAE;AACNC,IAAAA,KAAK,EAAEf,aAAc;AACrBgB,IAAAA,MAAM,EAAEhB,aAAc;IACtBiB,OAAO,EAAEA,MAAK;AACZZ,MAAAA,WAAW,CAAEa,IAAI,IAAMA,IAAI,IAAI,IAAI,IAAIV,QAAQ,GAAG,QAAQ,GAAG,SAAU,CAAC,CAAA;AAC1E,KAAA;AAAE,GACF,CAAA,CAAA;AAEN;;ICjDYW,MAIX;AAJD,CAAA,UAAYA,KAAK,EAAA;AACfA,EAAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAJWA,KAAK,KAALA,KAAK,GAIhB,EAAA,CAAA,CAAA,CAAA;AAEM,MAAMC,UAAU,GAAG;AACxB,EAAA,CAACD,KAAK,CAACE,KAAK,GAAG,GAAG;AAClB,EAAA,CAACF,KAAK,CAACG,MAAM,GAAG,GAAG;EACnB,CAACH,KAAK,CAACI,KAAK,GAAG,GAAA;;;ACiBjB,MAAMC,UAAU,GAAG;AACjB,EAAA,CAACL,KAAK,CAACE,KAAK,GAAG,GAAG;AAClB,EAAA,CAACF,KAAK,CAACG,MAAM,GAAG,GAAG;EACnB,CAACH,KAAK,CAACI,KAAK,GAAG,GAAA;CAChB,CAAA;AAED,MAAME,YAAY,gBAAGC,UAAU,CAC7B,CACE;EACEC,EAAE;EACFlB,IAAI;AACJK,EAAAA,GAAG,GAAG,EAAE;AACRX,EAAAA,OAAO,GAAG,OAAO;EACjBF,SAAS;EACT2B,IAAI,GAAGT,KAAK,CAACG,MAAM;AACnBO,EAAAA,cAAc,GAAG,KAAA;AAAK,CAChB,EACRC,GAAG,KACD;EACF,MAAM;IAAET,KAAK;AAAEC,IAAAA,MAAAA;AAAQ,GAAA,GAAGH,KAAK,CAAA;EAE/B,OAAOV,IAAI,gBACTsB,IAAA,CAAA,SAAA,EAAA;AAAAC,IAAAA,QAAA,EACGJ,CAAAA,IAAI,KAAKT,KAAK,CAACI,KAAK,IAAIK,IAAI,KAAKT,KAAK,CAACG,MAAM,gBAC5CS,IAAA,CAAAE,QAAA,EAAA;AAAAD,MAAAA,QAAA,gBACErB,GAAA,CAAA,QAAA,EAAA;AACEI,QAAAA,KAAK,EAAES,UAAU,CAACH,KAAK,CAAE;AACzBL,QAAAA,MAAM,EAAEQ,UAAU,CAACH,KAAK,CAAE;AAC1Ba,QAAAA,KAAK,EAAC,oBAAoB;AAC1BC,QAAAA,MAAM,EAAK,CAAAC,EAAAA,WAAS,CAAC3B,IAAI,EAAEY,KAAK,EAAE,IAAI,MAAMe,WAAS,CAAC3B,IAAI,EAAEY,KAAK,EAAE,IAAI,CAAM,CAAA,GAAA,CAAA;OAE/E,CAAA,EAACO,IAAI,KAAKT,KAAK,CAACG,MAAM,gBACpBX,GAAA,CAAA,QAAA,EAAA;AACEI,QAAAA,KAAK,EAAES,UAAU,CAACF,MAAM,CAAE;AAC1BN,QAAAA,MAAM,EAAEQ,UAAU,CAACF,MAAM,CAAE;AAC3BY,QAAAA,KAAK,EAAC,oBAAoB;AAC1BC,QAAAA,MAAM,EAAK,CAAAC,EAAAA,WAAS,CAAC3B,IAAI,EAAEa,MAAM,EAAE,IAAI,CAAM,CAAA,EAAA,EAAAc,WAAS,CAAC3B,IAAI,EAAEa,MAAM,EAAE,IAAI,CAAC,CAAA,GAAA,CAAA;OAAM,CAChF,GACA,IAAI,CAAA;AAAA,KACV,CAAG,GACD,IAAI,eAERX,GAAA,CAAA,KAAA,EAAA;AACEgB,MAAAA,EAAE,EAAEA,EAAG;AACPG,MAAAA,GAAG,EAAEA,GAAI;AACThB,MAAAA,GAAG,EAAEA,GAAI;MACT,aAAa,EAAA,CAAA,IAAA,EAAOL,IAAmB,CAAC,aAAA,CAAA;MACxCR,SAAS,EAAEW,IAAI,CAAA,CAAA,kCAAA,EAEOH,QAEpBR,SAAS,EADqB,CAAC4B,cAAc,IAA3C,0BACO,CACT;AACF1B,MAAAA,OAAO,EAAEA,OAAQ;MACjBU,GAAG,EAAEuB,WAAS,CAAC3B,IAAI,EAAEmB,IAAI,EAAE,IAAI,CAAE;MACjCO,MAAM,EAAK,CAAAC,EAAAA,WAAS,CAAC3B,IAAI,EAAEmB,IAAI,EAAE,IAAI,CAAC,CAAM,GAAA,CAAA;AAC5Cb,MAAAA,KAAK,EAAES,UAAU,CAACI,IAAI,CAAE;MACxBZ,MAAM,EAAEQ,UAAU,CAACI,IAAI,CAAA;AAAE,KAE7B,CAAA,CAAA;GAAS,CAAC,GACR,IAAI,CAAA;AACV,CAAC,EACF;AAED,SAASQ,WAASA,CAACC,YAAoB,EAAET,IAAuB,EAAEU,UAAuB,EAAA;AACvF,EAAA,wDAAwDD,YAAY,CAAA,CAAA,EAAIT,IAAQ,CAAA,CAAA,EAAAU,WAAiB,KAAA,CAAA,CAAA;AACnG;;AC5FA;;;;;AAKG;IAESC,OAuEX;AAvED,CAAA,UAAYA,MAAM,EAAA;AAChBA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,MAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,MAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzCA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,MAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrCA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,MAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrCA,EAAAA,MAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,MAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7CA,EAAAA,MAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,MAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,MAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrDA,EAAAA,MAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,MAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,MAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnCA,EAAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,MAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzCA,EAAAA,MAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,MAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3CA,EAAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,MAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzCA,EAAAA,MAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnCA,EAAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,MAAA,CAAA,2BAAA,CAAA,GAAA,2BAAuD,CAAA;AACvDA,EAAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAvEWA,MAAM,KAANA,MAAM,GAuEjB,EAAA,CAAA,CAAA;;SC1EeC,UAAUA,GAAA;AACxB,EAAA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGpC,QAAQ,CAAoB;AAAEqC,IAAAA,KAAK,EAAE,GAAA;AAAG,GAAE,CAAC,CAAA;AAEjFpC,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,MAAMqC,cAAc,GAAG,YAAW;AAChC;AACA;AACA,MAAA,MAAMC,OAAO,GAAG,MAAMC,SAAS,CAACC,UAAU,EAAE,CAAA;AAE5CL,MAAAA,cAAc,CAAC;AACb;QACAC,KAAK,EAAEE,OAAO,EAAEF,KAAAA;AACjB,OAAA,CAAC,CAAA;KACH,CAAA;AACD;AACA,IAAA,IACE,YAAY,IAAIG,SAAS,IACzBA,SAAS,CAACC,UAAU,KAAK7C,SAAS,IAClC,OAAO4C,SAAS,CAACC,UAAU,KAAK,UAAU,EAC1C;MACA,KAAKH,cAAc,EAAE,CAAA;AACtB,KAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOH,WAAW,CAAA;AACpB,CAAA;AAEM,SAAUO,YAAYA,CAACC,YAAoB,EAAA;EAC/C,OAAOA,YAAY,GAAG,GAAG,CAAA;AAC3B,CAAA;SAEgBC,gBAAgBA,GAAA;AAC9B;EACA,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,MAAM,CAACN,SAAS,CAAA;EACvC,IAAIK,UAAU,KAAKjD,SAAS,EAAE;AAC5B,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AACD,EAAA;AACE;IACA,CAAC,SAAS,EAAE,IAAI,CAAC,CAACmD,QAAQ,CAACF,UAAU,EAAEG,aAAuB,CAAC;AAC/D;AACA;AACAR,IAAAA,SAAS,EAAEK,UAAU,EAAEI,QAAQ,KAAK,IAAA;AAAI,IAAA;AAE5C,CAAA;AAEM,SAAUnB,SAASA,CAACoB,KAAa,EAAA;EACrC,OAAO,CAAA,gDAAA,EAAmDA,KAAK,CAAE,CAAA,CAAA;AACnE,CAAA;AAEA,MAAMC,mBAAmB,GAAG,CAC1B,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,OAAO,CACR,CAAA;AAEK,SAAUC,uBAAuBA,CAACF,KAAwB,EAAA;AAC9D,EAAA,OAAOC,mBAAmB,CAACJ,QAAQ,CAACG,KAAK,CAAC,CAAA;AAC5C;;ACvEA;AA6BA,IAAKG,UAIJ,CAAA;AAJD,CAAA,UAAKA,UAAU,EAAA;EACbA,UAAA,CAAAA,UAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;EACJA,UAAA,CAAAA,UAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;EACRA,UAAA,CAAAA,UAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACV,CAAC,EAJIA,UAAU,KAAVA,UAAU,GAId,EAAA,CAAA,CAAA,CAAA;AAEKC,MAAAA,cAAc,GAAGA,CAAC;EAAEnD,IAAI;EAAEmB,IAAI,GAAGT,KAAK,CAACG,MAAM;AAAErB,EAAAA,SAAAA;AAAS,CAAS,KAAI;EACzE,MAAM,CAAC4D,UAAU,EAAEC,aAAa,CAAC,GAAGxD,QAAQ,CAAaqD,UAAU,CAACI,IAAI,CAAC,CAAA;EACzE,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG3D,QAAQ,CAAgBsB,IAAI,CAAC,CAAA;AAC3E,EAAA,MAAMa,WAAW,GAAGD,UAAU,EAAE,CAAA;AAEhCjC,EAAAA,SAAS,CAAC,MAAK;AACbuD,IAAAA,aAAa,CACXZ,gBAAgB,EAAE,IAAIF,YAAY,CAACP,WAAW,CAACE,KAAK,CAAC,GACjDgB,UAAU,CAACO,QAAQ,GACnBP,UAAU,CAACQ,QAAQ,CACxB,CAAA;AACD,IAAA,MAAMC,QAAQ,GACZ,CAAC,OAAOhB,MAAM,KAAKlD,SAAS,IAAIkD,MAAM,EAAEiB,UAAU,CAAC,oBAAoB,CAAC,EAAEC,OAAO,KAAK,KAAK,CAAA;AAC7F,IAAA,IAAIF,QAAQ,EAAE;AACZH,MAAAA,kBAAkB,CAAC9C,KAAK,CAACE,KAAK,CAAC,CAAA;AAChC,KAAA;AACH,GAAC,EAAE,CAACoB,WAAW,CAAC,CAAC,CAAA;AAEjB,EAAA,oBACE9B,GAAA,CAAA,KAAA,EAAA;IACEV,SAAS,EAAEW,IAAI,CAEUH,CAAAA,wCAAAA,EAAAA,IAAI,wBACJuD,eAA2B,CAAA,CAAA,EAClD/D,SAAS,CACT;IACF,aAAW,EAAA,IAAA;AAAA+B,IAAAA,QAAA,EAEV6B,UAAU,KAAKF,UAAU,CAACI,IAAI,GAAG,IAAI,GAAGF,UAAU,KAAKF,UAAU,CAACQ,QAAQ,gBACzExD,GAAA,CAAC4D,QAAQ,EAAA;AAACnE,MAAAA,QAAQ,EAAE,IAAK;MAAA4B,QAAA,EAAEwC,QAAQ,CAAC;QAAE/D,IAAI;AAAEmB,QAAAA,IAAI,EAAEoC,eAAAA;OAAiB,CAAA;AAAC,KAAW,CAAC,gBAEhFrD,GAAA,CAACc,YAAY,EAAA;AAAChB,MAAAA,IAAI,EAAEA,IAAK;AAACmB,MAAAA,IAAI,EAAEA,IAAK;AAACd,MAAAA,GAAG,EAAC,EAAA;KAAE,CAAA;AAC7C,GACE,CAAC,CAAA;AAEV,EAAC;AAED,SAAS0D,QAAQA,CAAC;EAAE/D,IAAI;AAAEmB,EAAAA,IAAAA;AAAa,CAAA,EAAA;AACrC;AACA,EAAA,IAAI6C,KAAK,gBAAwB9D,GAAA,CAAAsB,QAAA,IAAE,CAAG,CAAA;EACtC,MAAMyC,KAAK,gBAAGC,IAAI,CAAC,MAAM,OAAO,yBAAS,CAAC,CAAC,CAAA;AAC3C,EAAA,QAAQlE,IAAI;IACV,KAAK8B,MAAM,CAACqC,IAAI;AAAE,MAAA;QAChBH,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,wBAAe,CAAC,CAAC,CAAA;AAC3C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAACsC,KAAK;AAAE,MAAA;QACjBJ,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,yBAAgB,CAAC,CAAC,CAAA;AAC5C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAACuC,QAAQ;AAAE,MAAA;QACpBL,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,4BAAmB,CAAC,CAAC,CAAA;AAC/C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAACwC,UAAU;AAAE,MAAA;QACtBN,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,6BAAoB,CAAC,CAAC,CAAA;AAChD,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAACyC,MAAM;AAAE,MAAA;QAClBP,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,0BAAiB,CAAC,CAAC,CAAA;AAC7C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC0C,KAAK;AAAE,MAAA;QACjBR,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,yBAAgB,CAAC,CAAC,CAAA;AAC5C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC2C,KAAK;AAAE,MAAA;QACjBT,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,yBAAgB,CAAC,CAAC,CAAA;AAC5C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC4C,MAAM;AAAE,MAAA;QAClBV,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,0BAAiB,CAAC,CAAC,CAAA;AAC7C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC6C,WAAW;AAAE,MAAA;QACvBX,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,8BAAqB,CAAC,CAAC,CAAA;AACjD,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC8C,gBAAgB;AAAE,MAAA;QAC5BZ,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,mCAA0B,CAAC,CAAC,CAAA;AACtD,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAAC+C,IAAI;AAAE,MAAA;QAChBb,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,wBAAe,CAAC,CAAC,CAAA;AAC3C,QAAA,MAAA;AACD,OAAA;IACD,KAAKpC,MAAM,CAACgD,cAAc;AAAE,MAAA;QAC1Bd,KAAK,gBAAGE,IAAI,CAAC,MAAM,OAAO,iCAAwB,CAAC,CAAC,CAAA;AACpD,QAAA,MAAA;AACD,OAAA;AACF,GAAA;EACD,oBACEhE,GAAA,CAAC+D,KAAK,EAAA;AAACc,IAAAA,SAAS,EAAE/E,IAAK;AAACmB,IAAAA,IAAI,EAAEA,IAAK;AAAAI,IAAAA,QAAA,eACjCrB,GAAA,CAAC8D,KAAK,EACR,EAAA,CAAA;AAAA,GAAO,CAAC,CAAA;AAEZ;;;;"}