@transferwise/components 0.0.0-experimental-19e45da → 0.0.0-experimental-92768e9

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 (99) hide show
  1. package/build/avatar/Avatar.js +3 -1
  2. package/build/avatar/Avatar.js.map +1 -1
  3. package/build/avatar/Avatar.mjs +3 -1
  4. package/build/avatar/Avatar.mjs.map +1 -1
  5. package/build/avatarWrapper/AvatarWrapper.js +16 -4
  6. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  7. package/build/avatarWrapper/AvatarWrapper.mjs +16 -4
  8. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  9. package/build/badge/Badge.js +2 -0
  10. package/build/badge/Badge.js.map +1 -1
  11. package/build/badge/Badge.mjs +2 -0
  12. package/build/badge/Badge.mjs.map +1 -1
  13. package/build/i18n/de.json +0 -2
  14. package/build/i18n/de.json.js +0 -2
  15. package/build/i18n/de.json.js.map +1 -1
  16. package/build/i18n/de.json.mjs +0 -2
  17. package/build/i18n/de.json.mjs.map +1 -1
  18. package/build/i18n/es.json +0 -2
  19. package/build/i18n/es.json.js +0 -2
  20. package/build/i18n/es.json.js.map +1 -1
  21. package/build/i18n/es.json.mjs +0 -2
  22. package/build/i18n/es.json.mjs.map +1 -1
  23. package/build/i18n/fr.json +0 -2
  24. package/build/i18n/fr.json.js +0 -2
  25. package/build/i18n/fr.json.js.map +1 -1
  26. package/build/i18n/fr.json.mjs +0 -2
  27. package/build/i18n/fr.json.mjs.map +1 -1
  28. package/build/i18n/hu.json +0 -2
  29. package/build/i18n/hu.json.js +0 -2
  30. package/build/i18n/hu.json.js.map +1 -1
  31. package/build/i18n/hu.json.mjs +0 -2
  32. package/build/i18n/hu.json.mjs.map +1 -1
  33. package/build/i18n/id.json +0 -2
  34. package/build/i18n/id.json.js +0 -2
  35. package/build/i18n/id.json.js.map +1 -1
  36. package/build/i18n/id.json.mjs +0 -2
  37. package/build/i18n/id.json.mjs.map +1 -1
  38. package/build/i18n/it.json +0 -2
  39. package/build/i18n/it.json.js +0 -2
  40. package/build/i18n/it.json.js.map +1 -1
  41. package/build/i18n/it.json.mjs +0 -2
  42. package/build/i18n/it.json.mjs.map +1 -1
  43. package/build/i18n/ja.json +0 -2
  44. package/build/i18n/ja.json.js +0 -2
  45. package/build/i18n/ja.json.js.map +1 -1
  46. package/build/i18n/ja.json.mjs +0 -2
  47. package/build/i18n/ja.json.mjs.map +1 -1
  48. package/build/i18n/pl.json +0 -2
  49. package/build/i18n/pl.json.js +0 -2
  50. package/build/i18n/pl.json.js.map +1 -1
  51. package/build/i18n/pl.json.mjs +0 -2
  52. package/build/i18n/pl.json.mjs.map +1 -1
  53. package/build/i18n/ro.json +0 -2
  54. package/build/i18n/ro.json.js +0 -2
  55. package/build/i18n/ro.json.js.map +1 -1
  56. package/build/i18n/ro.json.mjs +0 -2
  57. package/build/i18n/ro.json.mjs.map +1 -1
  58. package/build/i18n/ru.json +0 -2
  59. package/build/i18n/ru.json.js +0 -2
  60. package/build/i18n/ru.json.js.map +1 -1
  61. package/build/i18n/ru.json.mjs +0 -2
  62. package/build/i18n/ru.json.mjs.map +1 -1
  63. package/build/i18n/th.json +0 -2
  64. package/build/i18n/th.json.js +0 -2
  65. package/build/i18n/th.json.js.map +1 -1
  66. package/build/i18n/th.json.mjs +0 -2
  67. package/build/i18n/th.json.mjs.map +1 -1
  68. package/build/i18n/tr.json +0 -2
  69. package/build/i18n/tr.json.js +0 -2
  70. package/build/i18n/tr.json.js.map +1 -1
  71. package/build/i18n/tr.json.mjs +0 -2
  72. package/build/i18n/tr.json.mjs.map +1 -1
  73. package/build/types/avatar/Avatar.d.ts +1 -0
  74. package/build/types/avatar/Avatar.d.ts.map +1 -1
  75. package/build/types/avatarWrapper/AvatarWrapper.d.ts +2 -1
  76. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  77. package/build/types/badge/Badge.d.ts +2 -1
  78. package/build/types/badge/Badge.d.ts.map +1 -1
  79. package/package.json +1 -1
  80. package/src/avatar/Avatar.spec.tsx +10 -0
  81. package/src/avatar/Avatar.tsx +3 -0
  82. package/src/avatarWrapper/AvatarWrapper.spec.tsx +15 -4
  83. package/src/avatarWrapper/AvatarWrapper.story.tsx +2 -0
  84. package/src/avatarWrapper/AvatarWrapper.tsx +26 -7
  85. package/src/avatarWrapper/__snapshots__/AvatarWrapper.spec.tsx.snap +0 -64
  86. package/src/badge/Badge.spec.tsx +8 -0
  87. package/src/badge/Badge.tsx +3 -1
  88. package/src/i18n/de.json +0 -2
  89. package/src/i18n/es.json +0 -2
  90. package/src/i18n/fr.json +0 -2
  91. package/src/i18n/hu.json +0 -2
  92. package/src/i18n/id.json +0 -2
  93. package/src/i18n/it.json +0 -2
  94. package/src/i18n/ja.json +0 -2
  95. package/src/i18n/pl.json +0 -2
  96. package/src/i18n/ro.json +0 -2
  97. package/src/i18n/ru.json +0 -2
  98. package/src/i18n/th.json +0 -2
  99. package/src/i18n/tr.json +0 -2
@@ -30,7 +30,8 @@ const Avatar = ({
30
30
  outlined = false,
31
31
  size: sizeFromProps = 48,
32
32
  theme: theme$1 = theme.Theme.LIGHT,
33
- type = 'thumbnail'
33
+ type = 'thumbnail',
34
+ 'aria-label': ariaLabel
34
35
  }) => {
35
36
  const backgroundColorFromSeed = React.useMemo(() => !backgroundColor && backgroundColorSeed ? `var(${colors.getAvatarColorFromSeed(backgroundColorSeed)})` : undefined, [backgroundColor, backgroundColorSeed]);
36
37
  const size = backwardsCompatibleSize(sizeFromProps);
@@ -40,6 +41,7 @@ const Avatar = ({
40
41
  'tw-avatar--branded': Boolean(backgroundColorFromSeed),
41
42
  'np-text-title-body': type === 'initials'
42
43
  }),
44
+ "aria-label": ariaLabel,
43
45
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
44
46
  className: "tw-avatar__content",
45
47
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { useMemo } from 'react';\n\nimport { Theme } from '../common';\n\nimport { getAvatarColorFromSeed } from './colors';\n\ntype NumericAvatarSize = 24 | 40 | 48 | 56 | 72;\n\ntype LegacyAvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarSize = NumericAvatarSize | LegacyAvatarSize;\n\nexport type AvatarTheme = 'light' | 'dark';\n\nexport type AvatarType = 'thumbnail' | 'icon' | 'emoji' | 'initials';\n\nexport interface AvatarProps {\n backgroundColor?: string;\n backgroundColorSeed?: string;\n children?: React.ReactNode;\n className?: string;\n outlined?: boolean;\n size?: AvatarSize;\n theme?: AvatarTheme;\n type?: AvatarType;\n}\n\nconst backwardsCompatibleSize = (size: AvatarSize): NumericAvatarSize => {\n switch (size) {\n case 'sm':\n return 24;\n\n case 'md':\n return 48;\n\n case 'lg':\n return 72;\n\n default:\n return size;\n }\n};\n\nconst Avatar: React.FC<AvatarProps> = ({\n backgroundColor = null,\n backgroundColorSeed = null,\n children = null,\n className,\n outlined = false,\n size: sizeFromProps = 48,\n theme = Theme.LIGHT,\n type = 'thumbnail',\n}) => {\n const backgroundColorFromSeed = useMemo<string | undefined>(\n () =>\n !backgroundColor && backgroundColorSeed\n ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})`\n : undefined,\n [backgroundColor, backgroundColorSeed],\n );\n\n const size = backwardsCompatibleSize(sizeFromProps);\n\n return (\n <div\n className={classnames('tw-avatar', className, `tw-avatar--${size}`, `tw-avatar--${type}`, {\n 'tw-avatar--outlined': outlined,\n 'tw-avatar--branded': Boolean(backgroundColorFromSeed),\n 'np-text-title-body': type === 'initials',\n })}\n >\n <div\n className=\"tw-avatar__content\"\n style={{\n backgroundColor: backgroundColor || backgroundColorFromSeed,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport default Avatar;\n"],"names":["backwardsCompatibleSize","size","Avatar","backgroundColor","backgroundColorSeed","children","className","outlined","sizeFromProps","theme","Theme","LIGHT","type","backgroundColorFromSeed","useMemo","getAvatarColorFromSeed","undefined","_jsx","classnames","Boolean","style"],"mappings":";;;;;;;;;;;;AA4BA,MAAMA,uBAAuB,GAAIC,IAAgB,IAAuB;AACtE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA;AACE,MAAA,OAAOA,IAAI,CAAA;AACf,GAAA;AACF,CAAC,CAAA;AAEKC,MAAAA,MAAM,GAA0BA,CAAC;AACrCC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,QAAQ,GAAG,IAAI;EACfC,SAAS;AACTC,EAAAA,QAAQ,GAAG,KAAK;EAChBN,IAAI,EAAEO,aAAa,GAAG,EAAE;SACxBC,OAAK,GAAGC,WAAK,CAACC,KAAK;AACnBC,EAAAA,IAAI,GAAG,WAAA;AAAW,CACnB,KAAI;EACH,MAAMC,uBAAuB,GAAGC,aAAO,CACrC,MACE,CAACX,eAAe,IAAIC,mBAAmB,GACnC,CAAOW,IAAAA,EAAAA,6BAAsB,CAACX,mBAAmB,CAAC,CAAG,CAAA,CAAA,GACrDY,SAAS,EACf,CAACb,eAAe,EAAEC,mBAAmB,CAAC,CACvC,CAAA;AAED,EAAA,MAAMH,IAAI,GAAGD,uBAAuB,CAACQ,aAAa,CAAC,CAAA;AAEnD,EAAA,oBACES,cAAA,CAAA,KAAA,EAAA;AACEX,IAAAA,SAAS,EAAEY,2BAAU,CAAC,WAAW,EAAEZ,SAAS,EAAE,CAAcL,WAAAA,EAAAA,IAAI,CAAE,CAAA,EAAE,CAAcW,WAAAA,EAAAA,IAAI,EAAE,EAAE;AACxF,MAAA,qBAAqB,EAAEL,QAAQ;AAC/B,MAAA,oBAAoB,EAAEY,OAAO,CAACN,uBAAuB,CAAC;MACtD,oBAAoB,EAAED,IAAI,KAAK,UAAA;AAChC,KAAA,CAAE;AAAAP,IAAAA,QAAA,eAEHY,cAAA,CAAA,KAAA,EAAA;AACEX,MAAAA,SAAS,EAAC,oBAAoB;AAC9Bc,MAAAA,KAAK,EAAE;QACLjB,eAAe,EAAEA,eAAe,IAAIU,uBAAAA;OACpC;AAAAR,MAAAA,QAAA,EAEDA,QAAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { useMemo } from 'react';\n\nimport { Theme } from '../common';\n\nimport { getAvatarColorFromSeed } from './colors';\n\ntype NumericAvatarSize = 24 | 40 | 48 | 56 | 72;\n\ntype LegacyAvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarSize = NumericAvatarSize | LegacyAvatarSize;\n\nexport type AvatarTheme = 'light' | 'dark';\n\nexport type AvatarType = 'thumbnail' | 'icon' | 'emoji' | 'initials';\n\nexport interface AvatarProps {\n backgroundColor?: string;\n backgroundColorSeed?: string;\n children?: React.ReactNode;\n className?: string;\n outlined?: boolean;\n size?: AvatarSize;\n theme?: AvatarTheme;\n type?: AvatarType;\n 'aria-label'?: string;\n}\n\nconst backwardsCompatibleSize = (size: AvatarSize): NumericAvatarSize => {\n switch (size) {\n case 'sm':\n return 24;\n\n case 'md':\n return 48;\n\n case 'lg':\n return 72;\n\n default:\n return size;\n }\n};\n\nconst Avatar: React.FC<AvatarProps> = ({\n backgroundColor = null,\n backgroundColorSeed = null,\n children = null,\n className,\n outlined = false,\n size: sizeFromProps = 48,\n theme = Theme.LIGHT,\n type = 'thumbnail',\n 'aria-label': ariaLabel,\n}) => {\n const backgroundColorFromSeed = useMemo<string | undefined>(\n () =>\n !backgroundColor && backgroundColorSeed\n ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})`\n : undefined,\n [backgroundColor, backgroundColorSeed],\n );\n\n const size = backwardsCompatibleSize(sizeFromProps);\n\n return (\n <div\n className={classnames('tw-avatar', className, `tw-avatar--${size}`, `tw-avatar--${type}`, {\n 'tw-avatar--outlined': outlined,\n 'tw-avatar--branded': Boolean(backgroundColorFromSeed),\n 'np-text-title-body': type === 'initials',\n })}\n aria-label={ariaLabel}\n >\n <div\n className=\"tw-avatar__content\"\n style={{\n backgroundColor: backgroundColor || backgroundColorFromSeed,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport default Avatar;\n"],"names":["backwardsCompatibleSize","size","Avatar","backgroundColor","backgroundColorSeed","children","className","outlined","sizeFromProps","theme","Theme","LIGHT","type","ariaLabel","backgroundColorFromSeed","useMemo","getAvatarColorFromSeed","undefined","_jsx","classnames","Boolean","style"],"mappings":";;;;;;;;;;;;AA6BA,MAAMA,uBAAuB,GAAIC,IAAgB,IAAuB;AACtE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA;AACE,MAAA,OAAOA,IAAI,CAAA;AACf,GAAA;AACF,CAAC,CAAA;AAEKC,MAAAA,MAAM,GAA0BA,CAAC;AACrCC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,QAAQ,GAAG,IAAI;EACfC,SAAS;AACTC,EAAAA,QAAQ,GAAG,KAAK;EAChBN,IAAI,EAAEO,aAAa,GAAG,EAAE;SACxBC,OAAK,GAAGC,WAAK,CAACC,KAAK;AACnBC,EAAAA,IAAI,GAAG,WAAW;AAClB,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACxB,KAAI;EACH,MAAMC,uBAAuB,GAAGC,aAAO,CACrC,MACE,CAACZ,eAAe,IAAIC,mBAAmB,GACnC,CAAOY,IAAAA,EAAAA,6BAAsB,CAACZ,mBAAmB,CAAC,CAAG,CAAA,CAAA,GACrDa,SAAS,EACf,CAACd,eAAe,EAAEC,mBAAmB,CAAC,CACvC,CAAA;AAED,EAAA,MAAMH,IAAI,GAAGD,uBAAuB,CAACQ,aAAa,CAAC,CAAA;AAEnD,EAAA,oBACEU,cAAA,CAAA,KAAA,EAAA;AACEZ,IAAAA,SAAS,EAAEa,2BAAU,CAAC,WAAW,EAAEb,SAAS,EAAE,CAAcL,WAAAA,EAAAA,IAAI,CAAE,CAAA,EAAE,CAAcW,WAAAA,EAAAA,IAAI,EAAE,EAAE;AACxF,MAAA,qBAAqB,EAAEL,QAAQ;AAC/B,MAAA,oBAAoB,EAAEa,OAAO,CAACN,uBAAuB,CAAC;MACtD,oBAAoB,EAAEF,IAAI,KAAK,UAAA;AAChC,KAAA,CAAE;AACH,IAAA,YAAA,EAAYC,SAAU;AAAAR,IAAAA,QAAA,eAEtBa,cAAA,CAAA,KAAA,EAAA;AACEZ,MAAAA,SAAS,EAAC,oBAAoB;AAC9Be,MAAAA,KAAK,EAAE;QACLlB,eAAe,EAAEA,eAAe,IAAIW,uBAAAA;OACpC;AAAAT,MAAAA,QAAA,EAEDA,QAAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
@@ -24,7 +24,8 @@ const Avatar = ({
24
24
  outlined = false,
25
25
  size: sizeFromProps = 48,
26
26
  theme = Theme.LIGHT,
27
- type = 'thumbnail'
27
+ type = 'thumbnail',
28
+ 'aria-label': ariaLabel
28
29
  }) => {
29
30
  const backgroundColorFromSeed = useMemo(() => !backgroundColor && backgroundColorSeed ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})` : undefined, [backgroundColor, backgroundColorSeed]);
30
31
  const size = backwardsCompatibleSize(sizeFromProps);
@@ -34,6 +35,7 @@ const Avatar = ({
34
35
  'tw-avatar--branded': Boolean(backgroundColorFromSeed),
35
36
  'np-text-title-body': type === 'initials'
36
37
  }),
38
+ "aria-label": ariaLabel,
37
39
  children: /*#__PURE__*/jsx("div", {
38
40
  className: "tw-avatar__content",
39
41
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.mjs","sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { useMemo } from 'react';\n\nimport { Theme } from '../common';\n\nimport { getAvatarColorFromSeed } from './colors';\n\ntype NumericAvatarSize = 24 | 40 | 48 | 56 | 72;\n\ntype LegacyAvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarSize = NumericAvatarSize | LegacyAvatarSize;\n\nexport type AvatarTheme = 'light' | 'dark';\n\nexport type AvatarType = 'thumbnail' | 'icon' | 'emoji' | 'initials';\n\nexport interface AvatarProps {\n backgroundColor?: string;\n backgroundColorSeed?: string;\n children?: React.ReactNode;\n className?: string;\n outlined?: boolean;\n size?: AvatarSize;\n theme?: AvatarTheme;\n type?: AvatarType;\n}\n\nconst backwardsCompatibleSize = (size: AvatarSize): NumericAvatarSize => {\n switch (size) {\n case 'sm':\n return 24;\n\n case 'md':\n return 48;\n\n case 'lg':\n return 72;\n\n default:\n return size;\n }\n};\n\nconst Avatar: React.FC<AvatarProps> = ({\n backgroundColor = null,\n backgroundColorSeed = null,\n children = null,\n className,\n outlined = false,\n size: sizeFromProps = 48,\n theme = Theme.LIGHT,\n type = 'thumbnail',\n}) => {\n const backgroundColorFromSeed = useMemo<string | undefined>(\n () =>\n !backgroundColor && backgroundColorSeed\n ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})`\n : undefined,\n [backgroundColor, backgroundColorSeed],\n );\n\n const size = backwardsCompatibleSize(sizeFromProps);\n\n return (\n <div\n className={classnames('tw-avatar', className, `tw-avatar--${size}`, `tw-avatar--${type}`, {\n 'tw-avatar--outlined': outlined,\n 'tw-avatar--branded': Boolean(backgroundColorFromSeed),\n 'np-text-title-body': type === 'initials',\n })}\n >\n <div\n className=\"tw-avatar__content\"\n style={{\n backgroundColor: backgroundColor || backgroundColorFromSeed,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport default Avatar;\n"],"names":["backwardsCompatibleSize","size","Avatar","backgroundColor","backgroundColorSeed","children","className","outlined","sizeFromProps","theme","Theme","LIGHT","type","backgroundColorFromSeed","useMemo","getAvatarColorFromSeed","undefined","_jsx","classnames","Boolean","style"],"mappings":";;;;;;AA4BA,MAAMA,uBAAuB,GAAIC,IAAgB,IAAuB;AACtE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA;AACE,MAAA,OAAOA,IAAI,CAAA;AACf,GAAA;AACF,CAAC,CAAA;AAEKC,MAAAA,MAAM,GAA0BA,CAAC;AACrCC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,QAAQ,GAAG,IAAI;EACfC,SAAS;AACTC,EAAAA,QAAQ,GAAG,KAAK;EAChBN,IAAI,EAAEO,aAAa,GAAG,EAAE;EACxBC,KAAK,GAAGC,KAAK,CAACC,KAAK;AACnBC,EAAAA,IAAI,GAAG,WAAA;AAAW,CACnB,KAAI;EACH,MAAMC,uBAAuB,GAAGC,OAAO,CACrC,MACE,CAACX,eAAe,IAAIC,mBAAmB,GACnC,CAAOW,IAAAA,EAAAA,sBAAsB,CAACX,mBAAmB,CAAC,CAAG,CAAA,CAAA,GACrDY,SAAS,EACf,CAACb,eAAe,EAAEC,mBAAmB,CAAC,CACvC,CAAA;AAED,EAAA,MAAMH,IAAI,GAAGD,uBAAuB,CAACQ,aAAa,CAAC,CAAA;AAEnD,EAAA,oBACES,GAAA,CAAA,KAAA,EAAA;AACEX,IAAAA,SAAS,EAAEY,UAAU,CAAC,WAAW,EAAEZ,SAAS,EAAE,CAAcL,WAAAA,EAAAA,IAAI,CAAE,CAAA,EAAE,CAAcW,WAAAA,EAAAA,IAAI,EAAE,EAAE;AACxF,MAAA,qBAAqB,EAAEL,QAAQ;AAC/B,MAAA,oBAAoB,EAAEY,OAAO,CAACN,uBAAuB,CAAC;MACtD,oBAAoB,EAAED,IAAI,KAAK,UAAA;AAChC,KAAA,CAAE;AAAAP,IAAAA,QAAA,eAEHY,GAAA,CAAA,KAAA,EAAA;AACEX,MAAAA,SAAS,EAAC,oBAAoB;AAC9Bc,MAAAA,KAAK,EAAE;QACLjB,eAAe,EAAEA,eAAe,IAAIU,uBAAAA;OACpC;AAAAR,MAAAA,QAAA,EAEDA,QAAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Avatar.mjs","sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { useMemo } from 'react';\n\nimport { Theme } from '../common';\n\nimport { getAvatarColorFromSeed } from './colors';\n\ntype NumericAvatarSize = 24 | 40 | 48 | 56 | 72;\n\ntype LegacyAvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarSize = NumericAvatarSize | LegacyAvatarSize;\n\nexport type AvatarTheme = 'light' | 'dark';\n\nexport type AvatarType = 'thumbnail' | 'icon' | 'emoji' | 'initials';\n\nexport interface AvatarProps {\n backgroundColor?: string;\n backgroundColorSeed?: string;\n children?: React.ReactNode;\n className?: string;\n outlined?: boolean;\n size?: AvatarSize;\n theme?: AvatarTheme;\n type?: AvatarType;\n 'aria-label'?: string;\n}\n\nconst backwardsCompatibleSize = (size: AvatarSize): NumericAvatarSize => {\n switch (size) {\n case 'sm':\n return 24;\n\n case 'md':\n return 48;\n\n case 'lg':\n return 72;\n\n default:\n return size;\n }\n};\n\nconst Avatar: React.FC<AvatarProps> = ({\n backgroundColor = null,\n backgroundColorSeed = null,\n children = null,\n className,\n outlined = false,\n size: sizeFromProps = 48,\n theme = Theme.LIGHT,\n type = 'thumbnail',\n 'aria-label': ariaLabel,\n}) => {\n const backgroundColorFromSeed = useMemo<string | undefined>(\n () =>\n !backgroundColor && backgroundColorSeed\n ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})`\n : undefined,\n [backgroundColor, backgroundColorSeed],\n );\n\n const size = backwardsCompatibleSize(sizeFromProps);\n\n return (\n <div\n className={classnames('tw-avatar', className, `tw-avatar--${size}`, `tw-avatar--${type}`, {\n 'tw-avatar--outlined': outlined,\n 'tw-avatar--branded': Boolean(backgroundColorFromSeed),\n 'np-text-title-body': type === 'initials',\n })}\n aria-label={ariaLabel}\n >\n <div\n className=\"tw-avatar__content\"\n style={{\n backgroundColor: backgroundColor || backgroundColorFromSeed,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport default Avatar;\n"],"names":["backwardsCompatibleSize","size","Avatar","backgroundColor","backgroundColorSeed","children","className","outlined","sizeFromProps","theme","Theme","LIGHT","type","ariaLabel","backgroundColorFromSeed","useMemo","getAvatarColorFromSeed","undefined","_jsx","classnames","Boolean","style"],"mappings":";;;;;;AA6BA,MAAMA,uBAAuB,GAAIC,IAAgB,IAAuB;AACtE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA,KAAK,IAAI;AACP,MAAA,OAAO,EAAE,CAAA;AAEX,IAAA;AACE,MAAA,OAAOA,IAAI,CAAA;AACf,GAAA;AACF,CAAC,CAAA;AAEKC,MAAAA,MAAM,GAA0BA,CAAC;AACrCC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,QAAQ,GAAG,IAAI;EACfC,SAAS;AACTC,EAAAA,QAAQ,GAAG,KAAK;EAChBN,IAAI,EAAEO,aAAa,GAAG,EAAE;EACxBC,KAAK,GAAGC,KAAK,CAACC,KAAK;AACnBC,EAAAA,IAAI,GAAG,WAAW;AAClB,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACxB,KAAI;EACH,MAAMC,uBAAuB,GAAGC,OAAO,CACrC,MACE,CAACZ,eAAe,IAAIC,mBAAmB,GACnC,CAAOY,IAAAA,EAAAA,sBAAsB,CAACZ,mBAAmB,CAAC,CAAG,CAAA,CAAA,GACrDa,SAAS,EACf,CAACd,eAAe,EAAEC,mBAAmB,CAAC,CACvC,CAAA;AAED,EAAA,MAAMH,IAAI,GAAGD,uBAAuB,CAACQ,aAAa,CAAC,CAAA;AAEnD,EAAA,oBACEU,GAAA,CAAA,KAAA,EAAA;AACEZ,IAAAA,SAAS,EAAEa,UAAU,CAAC,WAAW,EAAEb,SAAS,EAAE,CAAcL,WAAAA,EAAAA,IAAI,CAAE,CAAA,EAAE,CAAcW,WAAAA,EAAAA,IAAI,EAAE,EAAE;AACxF,MAAA,qBAAqB,EAAEL,QAAQ;AAC/B,MAAA,oBAAoB,EAAEa,OAAO,CAACN,uBAAuB,CAAC;MACtD,oBAAoB,EAAEF,IAAI,KAAK,UAAA;AAChC,KAAA,CAAE;AACH,IAAA,YAAA,EAAYC,SAAU;AAAAR,IAAAA,QAAA,eAEtBa,GAAA,CAAA,KAAA,EAAA;AACEZ,MAAAA,SAAS,EAAC,oBAAoB;AAC9Be,MAAAA,KAAK,EAAE;QACLlB,eAAe,EAAEA,eAAe,IAAIW,uBAAAA;OACpC;AAAAT,MAAAA,QAAA,EAEDA,QAAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
@@ -15,10 +15,12 @@ const OptionalBadge = ({
15
15
  altText,
16
16
  statusIcon,
17
17
  children,
18
+ ariaLabel,
18
19
  ...rest
19
20
  }) => {
20
21
  if (url) {
21
22
  return /*#__PURE__*/jsxRuntime.jsx(Badge, {
23
+ "aria-label": ariaLabel,
22
24
  badge: /*#__PURE__*/jsxRuntime.jsx("img", {
23
25
  src: url,
24
26
  alt: altText
@@ -29,6 +31,7 @@ const OptionalBadge = ({
29
31
  }
30
32
  if (statusIcon) {
31
33
  return /*#__PURE__*/jsxRuntime.jsx(Badge, {
34
+ "aria-label": ariaLabel,
32
35
  badge: /*#__PURE__*/jsxRuntime.jsx(StatusIcon, {
33
36
  sentiment: statusIcon,
34
37
  size: size.Size.SMALL
@@ -43,6 +46,7 @@ const OptionalBadge = ({
43
46
  };
44
47
  const AvatarWrapper = ({
45
48
  url,
49
+ 'aria-label': ariaLabel,
46
50
  profileType: profileType$1,
47
51
  profileId,
48
52
  badgeUrl,
@@ -57,6 +61,13 @@ const AvatarWrapper = ({
57
61
  // Reset the errored state when url changes
58
62
  React.useEffect(() => setImageLoadError(false), [url]);
59
63
  const getAvatarProps = () => {
64
+ let updatedAvatarProps = avatarProps;
65
+ if (!badgeUrl && !badgeStatusIcon && ariaLabel) {
66
+ updatedAvatarProps = {
67
+ ...updatedAvatarProps,
68
+ 'aria-label': ariaLabel
69
+ };
70
+ }
60
71
  if (url && !hasImageLoadError) {
61
72
  return {
62
73
  type: avatarTypes.AvatarType.THUMBNAIL,
@@ -65,7 +76,7 @@ const AvatarWrapper = ({
65
76
  alt: "",
66
77
  onError: () => setImageLoadError(true)
67
78
  }),
68
- ...avatarProps
79
+ ...updatedAvatarProps
69
80
  };
70
81
  }
71
82
  if (profileType$1) {
@@ -76,7 +87,7 @@ const AvatarWrapper = ({
76
87
  }) : /*#__PURE__*/jsxRuntime.jsx(icons.Person, {
77
88
  size: "24"
78
89
  }),
79
- ...avatarProps
90
+ ...updatedAvatarProps
80
91
  };
81
92
  }
82
93
  if (name) {
@@ -86,7 +97,7 @@ const AvatarWrapper = ({
86
97
  children: getInitials(name)
87
98
  }),
88
99
  backgroundColorSeed: profileId?.toString(),
89
- ...avatarProps
100
+ ...updatedAvatarProps
90
101
  };
91
102
  }
92
103
  return {
@@ -94,11 +105,12 @@ const AvatarWrapper = ({
94
105
  children: /*#__PURE__*/jsxRuntime.jsx(icons.Person, {
95
106
  size: "24"
96
107
  }),
97
- ...avatarProps
108
+ ...updatedAvatarProps
98
109
  };
99
110
  };
100
111
  return /*#__PURE__*/jsxRuntime.jsx(OptionalBadge, {
101
112
  url: badgeUrl,
113
+ ariaLabel: ariaLabel,
102
114
  altText: badgeAltText,
103
115
  statusIcon: badgeStatusIcon,
104
116
  ...badgeProps,
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarWrapper.js","sources":["../../src/avatarWrapper/AvatarWrapper.tsx"],"sourcesContent":["import { Person as ProfileIcon, Briefcase as BriefcaseIcon } from '@transferwise/icons';\nimport { useState, useEffect } from 'react';\n\nimport Avatar, { AvatarProps, AvatarType } from '../avatar';\nimport Badge, { BadgeProps } from '../badge';\nimport { ProfileType, ProfileTypePersonal, ProfileTypeBusiness, Size, Sentiment } from '../common';\nimport StatusIcon from '../statusIcon/StatusIcon';\n\ninterface OptionalBadgeProps extends Omit<BadgeProps, 'badge'> {\n url?: string;\n altText?: string;\n statusIcon?: Sentiment;\n}\n\nconst OptionalBadge = ({ url, altText, statusIcon, children, ...rest }: OptionalBadgeProps) => {\n if (url) {\n return (\n <Badge badge={<img src={url} alt={altText} />} {...rest}>\n {children}\n </Badge>\n );\n }\n if (statusIcon) {\n return (\n <Badge badge={<StatusIcon sentiment={statusIcon} size={Size.SMALL} />} {...rest}>\n {children}\n </Badge>\n );\n }\n return <>{children}</>;\n};\n\nexport type AvatarWrapperProps = {\n url?: string;\n profileType?: ProfileTypeBusiness | ProfileTypePersonal;\n profileId?: string;\n name?: string;\n avatarProps?: AvatarProps;\n badgeProps?: BadgeProps;\n} & (\n | {\n badgeUrl: string;\n badgeAltText: string;\n badgeStatusIcon?: never;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon: Sentiment;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon?: never;\n }\n);\n\nconst AvatarWrapper = ({\n url,\n profileType,\n profileId,\n badgeUrl,\n badgeAltText,\n badgeStatusIcon,\n name,\n avatarProps,\n badgeProps,\n}: AvatarWrapperProps) => {\n const [hasImageLoadError, setImageLoadError] = useState(false);\n const isBusinessProfile = profileType === ProfileType.BUSINESS;\n\n // Reset the errored state when url changes\n useEffect(() => setImageLoadError(false), [url]);\n\n const getAvatarProps = () => {\n if (url && !hasImageLoadError) {\n return {\n type: AvatarType.THUMBNAIL,\n children: <img src={url} alt=\"\" onError={() => setImageLoadError(true)} />,\n ...avatarProps,\n };\n }\n if (profileType) {\n return {\n type: AvatarType.ICON,\n children: isBusinessProfile ? <BriefcaseIcon size=\"24\" /> : <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n }\n if (name) {\n return {\n type: AvatarType.INITIALS,\n children: <>{getInitials(name)}</>,\n backgroundColorSeed: profileId?.toString(),\n ...avatarProps,\n };\n }\n return {\n type: AvatarType.ICON,\n children: <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n };\n\n return (\n <OptionalBadge\n url={badgeUrl}\n altText={badgeAltText}\n statusIcon={badgeStatusIcon}\n {...badgeProps}\n >\n <Avatar size={Size.MEDIUM} {...getAvatarProps()} />\n </OptionalBadge>\n );\n};\n\nfunction getInitials(name: string) {\n const allInitials = name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase();\n\n if (allInitials.length === 1) {\n return allInitials[0];\n }\n\n return allInitials[0] + allInitials.slice(-1);\n}\n\nexport default AvatarWrapper;\n"],"names":["OptionalBadge","url","altText","statusIcon","children","rest","_jsx","Badge","badge","src","alt","StatusIcon","sentiment","size","Size","SMALL","_Fragment","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","useState","isBusinessProfile","ProfileType","BUSINESS","useEffect","getAvatarProps","type","AvatarType","THUMBNAIL","onError","ICON","BriefcaseIcon","ProfileIcon","INITIALS","getInitials","backgroundColorSeed","toString","Avatar","MEDIUM","allInitials","split","map","part","join","toUpperCase","length","slice"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,aAAa,GAAGA,CAAC;EAAEC,GAAG;EAAEC,OAAO;EAAEC,UAAU;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAI,CAAsB,KAAI;AAC5F,EAAA,IAAIJ,GAAG,EAAE;IACP,oBACEK,cAAA,CAACC,KAAK,EAAA;AAACC,MAAAA,KAAK,eAAEF,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,GAAG,EAAER,GAAI;AAACS,QAAAA,GAAG,EAAER,OAAAA;AAAQ,OAAG,CAAC;AAAA,MAAA,GAAKG,IAAI;AAAAD,MAAAA,QAAA,EACpDA,QAAAA;AAAQ,KACJ,CAAC,CAAA;AAEZ,GAAA;AACA,EAAA,IAAID,UAAU,EAAE;IACd,oBACEG,cAAA,CAACC,KAAK,EAAA;MAACC,KAAK,eAAEF,cAAA,CAACK,UAAU,EAAA;AAACC,QAAAA,SAAS,EAAET,UAAW;QAACU,IAAI,EAAEC,SAAI,CAACC,KAAAA;AAAM,OAAA,CAAI;AAAA,MAAA,GAAKV,IAAI;AAAAD,MAAAA,QAAA,EAC5EA,QAAAA;AAAQ,KACJ,CAAC,CAAA;AAEZ,GAAA;EACA,oBAAOE,cAAA,CAAAU,mBAAA,EAAA;AAAAZ,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,IAAI,CAAA;AACxB,CAAC,CAAA;AA2BKa,MAAAA,aAAa,GAAGA,CAAC;EACrBhB,GAAG;eACHiB,aAAW;EACXC,SAAS;EACTC,QAAQ;EACRC,YAAY;EACZC,eAAe;EACfC,IAAI;EACJC,WAAW;AACXC,EAAAA,UAAAA;AACmB,CAAA,KAAI;EACvB,MAAM,CAACC,iBAAiB,EAAEC,iBAAiB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;AAC9D,EAAA,MAAMC,iBAAiB,GAAGX,aAAW,KAAKY,uBAAW,CAACC,QAAQ,CAAA;AAE9D;EACAC,eAAS,CAAC,MAAML,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC1B,GAAG,CAAC,CAAC,CAAA;EAEhD,MAAMgC,cAAc,GAAGA,MAAK;AAC1B,IAAA,IAAIhC,GAAG,IAAI,CAACyB,iBAAiB,EAAE;MAC7B,OAAO;QACLQ,IAAI,EAAEC,sBAAU,CAACC,SAAS;AAC1BhC,QAAAA,QAAQ,eAAEE,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,GAAG,EAAER,GAAI;AAACS,UAAAA,GAAG,EAAC,EAAE;AAAC2B,UAAAA,OAAO,EAAEA,MAAMV,iBAAiB,CAAC,IAAI,CAAA;AAAE,SAAG,CAAA;QAC1E,GAAGH,WAAAA;OACJ,CAAA;AACH,KAAA;AACA,IAAA,IAAIN,aAAW,EAAE;MACf,OAAO;QACLgB,IAAI,EAAEC,sBAAU,CAACG,IAAI;AACrBlC,QAAAA,QAAQ,EAAEyB,iBAAiB,gBAAGvB,cAAA,CAACiC,eAAa,EAAA;AAAC1B,UAAAA,IAAI,EAAC,IAAA;AAAI,SAAG,CAAA,gBAAGP,cAAA,CAACkC,YAAW,EAAA;AAAC3B,UAAAA,IAAI,EAAC,IAAA;AAAI,SAAG,CAAA;QACrF,GAAGW,WAAAA;OACJ,CAAA;AACH,KAAA;AACA,IAAA,IAAID,IAAI,EAAE;MACR,OAAO;QACLW,IAAI,EAAEC,sBAAU,CAACM,QAAQ;QACzBrC,QAAQ,eAAEE,cAAA,CAAAU,mBAAA,EAAA;UAAAZ,QAAA,EAAGsC,WAAW,CAACnB,IAAI,CAAA;AAAC,SAAI,CAAA;AAClCoB,QAAAA,mBAAmB,EAAExB,SAAS,EAAEyB,QAAQ,EAAE;QAC1C,GAAGpB,WAAAA;OACJ,CAAA;AACH,KAAA;IACA,OAAO;MACLU,IAAI,EAAEC,sBAAU,CAACG,IAAI;MACrBlC,QAAQ,eAAEE,cAAA,CAACkC,YAAW,EAAA;AAAC3B,QAAAA,IAAI,EAAC,IAAA;AAAI,OAAG,CAAA;MACnC,GAAGW,WAAAA;KACJ,CAAA;GACF,CAAA;EAED,oBACElB,cAAA,CAACN,aAAa,EAAA;AACZC,IAAAA,GAAG,EAAEmB,QAAS;AACdlB,IAAAA,OAAO,EAAEmB,YAAa;AACtBlB,IAAAA,UAAU,EAAEmB,eAAgB;AAAA,IAAA,GACxBG,UAAU;IAAArB,QAAA,eAEdE,cAAA,CAACuC,MAAM,EAAA;MAAChC,IAAI,EAAEC,SAAI,CAACgC,MAAO;AAAA,MAAA,GAAKb,cAAc,EAAA;KAC/C,CAAA;AAAA,GAAe,CAAC,CAAA;AAEpB,EAAC;AAED,SAASS,WAAWA,CAACnB,IAAY,EAAA;EAC/B,MAAMwB,WAAW,GAAGxB,IAAI,CACrByB,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAAC,CACtBC,IAAI,CAAC,EAAE,CAAC,CACRC,WAAW,EAAE,CAAA;AAEhB,EAAA,IAAIL,WAAW,CAACM,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAON,WAAW,CAAC,CAAC,CAAC,CAAA;AACvB,GAAA;EAEA,OAAOA,WAAW,CAAC,CAAC,CAAC,GAAGA,WAAW,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"AvatarWrapper.js","sources":["../../src/avatarWrapper/AvatarWrapper.tsx"],"sourcesContent":["import { Person as ProfileIcon, Briefcase as BriefcaseIcon } from '@transferwise/icons';\nimport { useState, useEffect } from 'react';\n\nimport Avatar, { AvatarProps, AvatarType } from '../avatar';\nimport Badge, { BadgeProps } from '../badge';\nimport { ProfileType, ProfileTypePersonal, ProfileTypeBusiness, Size, Sentiment } from '../common';\nimport StatusIcon from '../statusIcon/StatusIcon';\n\ninterface OptionalBadgeProps extends Omit<BadgeProps, 'badge'> {\n url?: string;\n ariaLabel?: string;\n altText?: string;\n statusIcon?: Sentiment;\n}\n\nconst OptionalBadge = ({\n url,\n altText,\n statusIcon,\n children,\n ariaLabel,\n ...rest\n}: OptionalBadgeProps) => {\n if (url) {\n return (\n <Badge aria-label={ariaLabel} badge={<img src={url} alt={altText} />} {...rest}>\n {children}\n </Badge>\n );\n }\n if (statusIcon) {\n return (\n <Badge\n aria-label={ariaLabel}\n badge={<StatusIcon sentiment={statusIcon} size={Size.SMALL} />}\n {...rest}\n >\n {children}\n </Badge>\n );\n }\n return <>{children}</>;\n};\n\nexport type AvatarWrapperProps = {\n url?: string;\n 'aria-label'?: string;\n profileType?: ProfileTypeBusiness | ProfileTypePersonal;\n profileId?: string;\n name?: string;\n avatarProps?: AvatarProps;\n badgeProps?: BadgeProps;\n} & (\n | {\n badgeUrl: string;\n badgeAltText: string;\n badgeStatusIcon?: never;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon: Sentiment;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon?: never;\n }\n);\n\nconst AvatarWrapper = ({\n url,\n 'aria-label': ariaLabel,\n profileType,\n profileId,\n badgeUrl,\n badgeAltText,\n badgeStatusIcon,\n name,\n avatarProps,\n badgeProps,\n}: AvatarWrapperProps) => {\n const [hasImageLoadError, setImageLoadError] = useState(false);\n const isBusinessProfile = profileType === ProfileType.BUSINESS;\n\n // Reset the errored state when url changes\n useEffect(() => setImageLoadError(false), [url]);\n\n const getAvatarProps = () => {\n let updatedAvatarProps = avatarProps;\n if (!badgeUrl && !badgeStatusIcon && ariaLabel) {\n updatedAvatarProps = { ...updatedAvatarProps, 'aria-label': ariaLabel };\n }\n if (url && !hasImageLoadError) {\n return {\n type: AvatarType.THUMBNAIL,\n children: <img src={url} alt=\"\" onError={() => setImageLoadError(true)} />,\n ...updatedAvatarProps,\n };\n }\n if (profileType) {\n return {\n type: AvatarType.ICON,\n children: isBusinessProfile ? <BriefcaseIcon size=\"24\" /> : <ProfileIcon size=\"24\" />,\n ...updatedAvatarProps,\n };\n }\n if (name) {\n return {\n type: AvatarType.INITIALS,\n children: <>{getInitials(name)}</>,\n backgroundColorSeed: profileId?.toString(),\n ...updatedAvatarProps,\n };\n }\n return {\n type: AvatarType.ICON,\n children: <ProfileIcon size=\"24\" />,\n ...updatedAvatarProps,\n };\n };\n\n return (\n <OptionalBadge\n url={badgeUrl}\n ariaLabel={ariaLabel}\n altText={badgeAltText}\n statusIcon={badgeStatusIcon}\n {...badgeProps}\n >\n <Avatar size={Size.MEDIUM} {...getAvatarProps()} />\n </OptionalBadge>\n );\n};\n\nfunction getInitials(name: string) {\n const allInitials = name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase();\n\n if (allInitials.length === 1) {\n return allInitials[0];\n }\n\n return allInitials[0] + allInitials.slice(-1);\n}\n\nexport default AvatarWrapper;\n"],"names":["OptionalBadge","url","altText","statusIcon","children","ariaLabel","rest","_jsx","Badge","badge","src","alt","StatusIcon","sentiment","size","Size","SMALL","_Fragment","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","useState","isBusinessProfile","ProfileType","BUSINESS","useEffect","getAvatarProps","updatedAvatarProps","type","AvatarType","THUMBNAIL","onError","ICON","BriefcaseIcon","ProfileIcon","INITIALS","getInitials","backgroundColorSeed","toString","Avatar","MEDIUM","allInitials","split","map","part","join","toUpperCase","length","slice"],"mappings":"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"}
@@ -13,10 +13,12 @@ const OptionalBadge = ({
13
13
  altText,
14
14
  statusIcon,
15
15
  children,
16
+ ariaLabel,
16
17
  ...rest
17
18
  }) => {
18
19
  if (url) {
19
20
  return /*#__PURE__*/jsx(Badge, {
21
+ "aria-label": ariaLabel,
20
22
  badge: /*#__PURE__*/jsx("img", {
21
23
  src: url,
22
24
  alt: altText
@@ -27,6 +29,7 @@ const OptionalBadge = ({
27
29
  }
28
30
  if (statusIcon) {
29
31
  return /*#__PURE__*/jsx(Badge, {
32
+ "aria-label": ariaLabel,
30
33
  badge: /*#__PURE__*/jsx(StatusIcon, {
31
34
  sentiment: statusIcon,
32
35
  size: Size.SMALL
@@ -41,6 +44,7 @@ const OptionalBadge = ({
41
44
  };
42
45
  const AvatarWrapper = ({
43
46
  url,
47
+ 'aria-label': ariaLabel,
44
48
  profileType,
45
49
  profileId,
46
50
  badgeUrl,
@@ -55,6 +59,13 @@ const AvatarWrapper = ({
55
59
  // Reset the errored state when url changes
56
60
  useEffect(() => setImageLoadError(false), [url]);
57
61
  const getAvatarProps = () => {
62
+ let updatedAvatarProps = avatarProps;
63
+ if (!badgeUrl && !badgeStatusIcon && ariaLabel) {
64
+ updatedAvatarProps = {
65
+ ...updatedAvatarProps,
66
+ 'aria-label': ariaLabel
67
+ };
68
+ }
58
69
  if (url && !hasImageLoadError) {
59
70
  return {
60
71
  type: AvatarType.THUMBNAIL,
@@ -63,7 +74,7 @@ const AvatarWrapper = ({
63
74
  alt: "",
64
75
  onError: () => setImageLoadError(true)
65
76
  }),
66
- ...avatarProps
77
+ ...updatedAvatarProps
67
78
  };
68
79
  }
69
80
  if (profileType) {
@@ -74,7 +85,7 @@ const AvatarWrapper = ({
74
85
  }) : /*#__PURE__*/jsx(Person, {
75
86
  size: "24"
76
87
  }),
77
- ...avatarProps
88
+ ...updatedAvatarProps
78
89
  };
79
90
  }
80
91
  if (name) {
@@ -84,7 +95,7 @@ const AvatarWrapper = ({
84
95
  children: getInitials(name)
85
96
  }),
86
97
  backgroundColorSeed: profileId?.toString(),
87
- ...avatarProps
98
+ ...updatedAvatarProps
88
99
  };
89
100
  }
90
101
  return {
@@ -92,11 +103,12 @@ const AvatarWrapper = ({
92
103
  children: /*#__PURE__*/jsx(Person, {
93
104
  size: "24"
94
105
  }),
95
- ...avatarProps
106
+ ...updatedAvatarProps
96
107
  };
97
108
  };
98
109
  return /*#__PURE__*/jsx(OptionalBadge, {
99
110
  url: badgeUrl,
111
+ ariaLabel: ariaLabel,
100
112
  altText: badgeAltText,
101
113
  statusIcon: badgeStatusIcon,
102
114
  ...badgeProps,
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarWrapper.mjs","sources":["../../src/avatarWrapper/AvatarWrapper.tsx"],"sourcesContent":["import { Person as ProfileIcon, Briefcase as BriefcaseIcon } from '@transferwise/icons';\nimport { useState, useEffect } from 'react';\n\nimport Avatar, { AvatarProps, AvatarType } from '../avatar';\nimport Badge, { BadgeProps } from '../badge';\nimport { ProfileType, ProfileTypePersonal, ProfileTypeBusiness, Size, Sentiment } from '../common';\nimport StatusIcon from '../statusIcon/StatusIcon';\n\ninterface OptionalBadgeProps extends Omit<BadgeProps, 'badge'> {\n url?: string;\n altText?: string;\n statusIcon?: Sentiment;\n}\n\nconst OptionalBadge = ({ url, altText, statusIcon, children, ...rest }: OptionalBadgeProps) => {\n if (url) {\n return (\n <Badge badge={<img src={url} alt={altText} />} {...rest}>\n {children}\n </Badge>\n );\n }\n if (statusIcon) {\n return (\n <Badge badge={<StatusIcon sentiment={statusIcon} size={Size.SMALL} />} {...rest}>\n {children}\n </Badge>\n );\n }\n return <>{children}</>;\n};\n\nexport type AvatarWrapperProps = {\n url?: string;\n profileType?: ProfileTypeBusiness | ProfileTypePersonal;\n profileId?: string;\n name?: string;\n avatarProps?: AvatarProps;\n badgeProps?: BadgeProps;\n} & (\n | {\n badgeUrl: string;\n badgeAltText: string;\n badgeStatusIcon?: never;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon: Sentiment;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon?: never;\n }\n);\n\nconst AvatarWrapper = ({\n url,\n profileType,\n profileId,\n badgeUrl,\n badgeAltText,\n badgeStatusIcon,\n name,\n avatarProps,\n badgeProps,\n}: AvatarWrapperProps) => {\n const [hasImageLoadError, setImageLoadError] = useState(false);\n const isBusinessProfile = profileType === ProfileType.BUSINESS;\n\n // Reset the errored state when url changes\n useEffect(() => setImageLoadError(false), [url]);\n\n const getAvatarProps = () => {\n if (url && !hasImageLoadError) {\n return {\n type: AvatarType.THUMBNAIL,\n children: <img src={url} alt=\"\" onError={() => setImageLoadError(true)} />,\n ...avatarProps,\n };\n }\n if (profileType) {\n return {\n type: AvatarType.ICON,\n children: isBusinessProfile ? <BriefcaseIcon size=\"24\" /> : <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n }\n if (name) {\n return {\n type: AvatarType.INITIALS,\n children: <>{getInitials(name)}</>,\n backgroundColorSeed: profileId?.toString(),\n ...avatarProps,\n };\n }\n return {\n type: AvatarType.ICON,\n children: <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n };\n\n return (\n <OptionalBadge\n url={badgeUrl}\n altText={badgeAltText}\n statusIcon={badgeStatusIcon}\n {...badgeProps}\n >\n <Avatar size={Size.MEDIUM} {...getAvatarProps()} />\n </OptionalBadge>\n );\n};\n\nfunction getInitials(name: string) {\n const allInitials = name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase();\n\n if (allInitials.length === 1) {\n return allInitials[0];\n }\n\n return allInitials[0] + allInitials.slice(-1);\n}\n\nexport default AvatarWrapper;\n"],"names":["OptionalBadge","url","altText","statusIcon","children","rest","_jsx","Badge","badge","src","alt","StatusIcon","sentiment","size","Size","SMALL","_Fragment","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","useState","isBusinessProfile","ProfileType","BUSINESS","useEffect","getAvatarProps","type","AvatarType","THUMBNAIL","onError","ICON","BriefcaseIcon","ProfileIcon","INITIALS","getInitials","backgroundColorSeed","toString","Avatar","MEDIUM","allInitials","split","map","part","join","toUpperCase","length","slice"],"mappings":"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"}
1
+ {"version":3,"file":"AvatarWrapper.mjs","sources":["../../src/avatarWrapper/AvatarWrapper.tsx"],"sourcesContent":["import { Person as ProfileIcon, Briefcase as BriefcaseIcon } from '@transferwise/icons';\nimport { useState, useEffect } from 'react';\n\nimport Avatar, { AvatarProps, AvatarType } from '../avatar';\nimport Badge, { BadgeProps } from '../badge';\nimport { ProfileType, ProfileTypePersonal, ProfileTypeBusiness, Size, Sentiment } from '../common';\nimport StatusIcon from '../statusIcon/StatusIcon';\n\ninterface OptionalBadgeProps extends Omit<BadgeProps, 'badge'> {\n url?: string;\n ariaLabel?: string;\n altText?: string;\n statusIcon?: Sentiment;\n}\n\nconst OptionalBadge = ({\n url,\n altText,\n statusIcon,\n children,\n ariaLabel,\n ...rest\n}: OptionalBadgeProps) => {\n if (url) {\n return (\n <Badge aria-label={ariaLabel} badge={<img src={url} alt={altText} />} {...rest}>\n {children}\n </Badge>\n );\n }\n if (statusIcon) {\n return (\n <Badge\n aria-label={ariaLabel}\n badge={<StatusIcon sentiment={statusIcon} size={Size.SMALL} />}\n {...rest}\n >\n {children}\n </Badge>\n );\n }\n return <>{children}</>;\n};\n\nexport type AvatarWrapperProps = {\n url?: string;\n 'aria-label'?: string;\n profileType?: ProfileTypeBusiness | ProfileTypePersonal;\n profileId?: string;\n name?: string;\n avatarProps?: AvatarProps;\n badgeProps?: BadgeProps;\n} & (\n | {\n badgeUrl: string;\n badgeAltText: string;\n badgeStatusIcon?: never;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon: Sentiment;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon?: never;\n }\n);\n\nconst AvatarWrapper = ({\n url,\n 'aria-label': ariaLabel,\n profileType,\n profileId,\n badgeUrl,\n badgeAltText,\n badgeStatusIcon,\n name,\n avatarProps,\n badgeProps,\n}: AvatarWrapperProps) => {\n const [hasImageLoadError, setImageLoadError] = useState(false);\n const isBusinessProfile = profileType === ProfileType.BUSINESS;\n\n // Reset the errored state when url changes\n useEffect(() => setImageLoadError(false), [url]);\n\n const getAvatarProps = () => {\n let updatedAvatarProps = avatarProps;\n if (!badgeUrl && !badgeStatusIcon && ariaLabel) {\n updatedAvatarProps = { ...updatedAvatarProps, 'aria-label': ariaLabel };\n }\n if (url && !hasImageLoadError) {\n return {\n type: AvatarType.THUMBNAIL,\n children: <img src={url} alt=\"\" onError={() => setImageLoadError(true)} />,\n ...updatedAvatarProps,\n };\n }\n if (profileType) {\n return {\n type: AvatarType.ICON,\n children: isBusinessProfile ? <BriefcaseIcon size=\"24\" /> : <ProfileIcon size=\"24\" />,\n ...updatedAvatarProps,\n };\n }\n if (name) {\n return {\n type: AvatarType.INITIALS,\n children: <>{getInitials(name)}</>,\n backgroundColorSeed: profileId?.toString(),\n ...updatedAvatarProps,\n };\n }\n return {\n type: AvatarType.ICON,\n children: <ProfileIcon size=\"24\" />,\n ...updatedAvatarProps,\n };\n };\n\n return (\n <OptionalBadge\n url={badgeUrl}\n ariaLabel={ariaLabel}\n altText={badgeAltText}\n statusIcon={badgeStatusIcon}\n {...badgeProps}\n >\n <Avatar size={Size.MEDIUM} {...getAvatarProps()} />\n </OptionalBadge>\n );\n};\n\nfunction getInitials(name: string) {\n const allInitials = name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase();\n\n if (allInitials.length === 1) {\n return allInitials[0];\n }\n\n return allInitials[0] + allInitials.slice(-1);\n}\n\nexport default AvatarWrapper;\n"],"names":["OptionalBadge","url","altText","statusIcon","children","ariaLabel","rest","_jsx","Badge","badge","src","alt","StatusIcon","sentiment","size","Size","SMALL","_Fragment","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","useState","isBusinessProfile","ProfileType","BUSINESS","useEffect","getAvatarProps","updatedAvatarProps","type","AvatarType","THUMBNAIL","onError","ICON","BriefcaseIcon","ProfileIcon","INITIALS","getInitials","backgroundColorSeed","toString","Avatar","MEDIUM","allInitials","split","map","part","join","toUpperCase","length","slice"],"mappings":"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"}
@@ -14,6 +14,7 @@ const Badge = ({
14
14
  className = undefined,
15
15
  size: size$1 = size.Size.SMALL,
16
16
  border = theme.Theme.LIGHT,
17
+ 'aria-label': ariaLabel,
17
18
  children
18
19
  }) => {
19
20
  const classes = classNames__default.default('tw-badge', {
@@ -21,6 +22,7 @@ const Badge = ({
21
22
  [`tw-badge-${size$1}`]: size$1
22
23
  }, className);
23
24
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
25
+ "aria-label": ariaLabel,
24
26
  className: classes,
25
27
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
26
28
  className: "tw-badge__children",
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport {\n Size,\n Theme,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n ThemeDark,\n ThemeLight,\n CommonProps,\n} from '../common';\n\nexport type BadgeProps = {\n badge: ReactNode;\n children: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge;\n border?: ThemeDark | ThemeLight;\n} & CommonProps;\n\nconst Badge = ({\n badge,\n className = undefined,\n size = Size.SMALL,\n border = Theme.LIGHT,\n children,\n}: BadgeProps) => {\n const classes: string = classNames(\n 'tw-badge',\n {\n [`tw-badge-border-${border}`]: border,\n [`tw-badge-${size}`]: size,\n },\n className,\n );\n\n return (\n <div className={classes}>\n <div className=\"tw-badge__children\">{children}</div>\n <div className=\"tw-badge__content\">{badge}</div>\n </div>\n );\n};\n\nexport default Badge;\n"],"names":["Badge","badge","className","undefined","size","Size","SMALL","border","Theme","LIGHT","children","classes","classNames","_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAqBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,KAAK;AACLC,EAAAA,SAAS,GAAGC,SAAS;QACrBC,MAAI,GAAGC,SAAI,CAACC,KAAK;EACjBC,MAAM,GAAGC,WAAK,CAACC,KAAK;AACpBC,EAAAA,QAAAA;AACW,CAAA,KAAI;AACf,EAAA,MAAMC,OAAO,GAAWC,2BAAU,CAChC,UAAU,EACV;AACE,IAAA,CAAC,CAAmBL,gBAAAA,EAAAA,MAAM,CAAE,CAAA,GAAGA,MAAM;IACrC,CAAC,CAAA,SAAA,EAAYH,MAAI,CAAA,CAAE,GAAGA,MAAAA;GACvB,EACDF,SAAS,CACV,CAAA;AAED,EAAA,oBACEW,eAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAES,OAAQ;AAAAD,IAAAA,QAAA,gBACtBI,cAAA,CAAA,KAAA,EAAA;AAAKZ,MAAAA,SAAS,EAAC,oBAAoB;AAAAQ,MAAAA,QAAA,EAAEA,QAAAA;KAAc,CACnD,eAAAI,cAAA,CAAA,KAAA,EAAA;AAAKZ,MAAAA,SAAS,EAAC,mBAAmB;AAAAQ,MAAAA,QAAA,EAAET,KAAAA;AAAK,KAAM,CACjD,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport {\n Size,\n Theme,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n ThemeDark,\n ThemeLight,\n CommonProps,\n} from '../common';\n\nexport type BadgeProps = {\n badge: ReactNode;\n children: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge;\n border?: ThemeDark | ThemeLight;\n 'aria-label'?: string;\n} & CommonProps;\n\nconst Badge = ({\n badge,\n className = undefined,\n size = Size.SMALL,\n border = Theme.LIGHT,\n 'aria-label': ariaLabel,\n children,\n}: BadgeProps) => {\n const classes: string = classNames(\n 'tw-badge',\n {\n [`tw-badge-border-${border}`]: border,\n [`tw-badge-${size}`]: size,\n },\n className,\n );\n\n return (\n <div aria-label={ariaLabel} className={classes}>\n <div className=\"tw-badge__children\">{children}</div>\n <div className=\"tw-badge__content\">{badge}</div>\n </div>\n );\n};\n\nexport default Badge;\n"],"names":["Badge","badge","className","undefined","size","Size","SMALL","border","Theme","LIGHT","ariaLabel","children","classes","classNames","_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAsBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,KAAK;AACLC,EAAAA,SAAS,GAAGC,SAAS;QACrBC,MAAI,GAAGC,SAAI,CAACC,KAAK;EACjBC,MAAM,GAAGC,WAAK,CAACC,KAAK;AACpB,EAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,QAAAA;AAAQ,CACG,KAAI;AACf,EAAA,MAAMC,OAAO,GAAWC,2BAAU,CAChC,UAAU,EACV;AACE,IAAA,CAAC,CAAmBN,gBAAAA,EAAAA,MAAM,CAAE,CAAA,GAAGA,MAAM;IACrC,CAAC,CAAA,SAAA,EAAYH,MAAI,CAAA,CAAE,GAAGA,MAAAA;GACvB,EACDF,SAAS,CACV,CAAA;AAED,EAAA,oBACEY,eAAA,CAAA,KAAA,EAAA;AAAK,IAAA,YAAA,EAAYJ,SAAU;AAACR,IAAAA,SAAS,EAAEU,OAAQ;AAAAD,IAAAA,QAAA,gBAC7CI,cAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,oBAAoB;AAAAS,MAAAA,QAAA,EAAEA,QAAAA;KAAc,CACnD,eAAAI,cAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,mBAAmB;AAAAS,MAAAA,QAAA,EAAEV,KAAAA;AAAK,KAAM,CACjD,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV;;;;"}
@@ -8,6 +8,7 @@ const Badge = ({
8
8
  className = undefined,
9
9
  size = Size.SMALL,
10
10
  border = Theme.LIGHT,
11
+ 'aria-label': ariaLabel,
11
12
  children
12
13
  }) => {
13
14
  const classes = classNames('tw-badge', {
@@ -15,6 +16,7 @@ const Badge = ({
15
16
  [`tw-badge-${size}`]: size
16
17
  }, className);
17
18
  return /*#__PURE__*/jsxs("div", {
19
+ "aria-label": ariaLabel,
18
20
  className: classes,
19
21
  children: [/*#__PURE__*/jsx("div", {
20
22
  className: "tw-badge__children",
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.mjs","sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport {\n Size,\n Theme,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n ThemeDark,\n ThemeLight,\n CommonProps,\n} from '../common';\n\nexport type BadgeProps = {\n badge: ReactNode;\n children: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge;\n border?: ThemeDark | ThemeLight;\n} & CommonProps;\n\nconst Badge = ({\n badge,\n className = undefined,\n size = Size.SMALL,\n border = Theme.LIGHT,\n children,\n}: BadgeProps) => {\n const classes: string = classNames(\n 'tw-badge',\n {\n [`tw-badge-border-${border}`]: border,\n [`tw-badge-${size}`]: size,\n },\n className,\n );\n\n return (\n <div className={classes}>\n <div className=\"tw-badge__children\">{children}</div>\n <div className=\"tw-badge__content\">{badge}</div>\n </div>\n );\n};\n\nexport default Badge;\n"],"names":["Badge","badge","className","undefined","size","Size","SMALL","border","Theme","LIGHT","children","classes","classNames","_jsxs","_jsx"],"mappings":";;;;;AAqBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,KAAK;AACLC,EAAAA,SAAS,GAAGC,SAAS;EACrBC,IAAI,GAAGC,IAAI,CAACC,KAAK;EACjBC,MAAM,GAAGC,KAAK,CAACC,KAAK;AACpBC,EAAAA,QAAAA;AACW,CAAA,KAAI;AACf,EAAA,MAAMC,OAAO,GAAWC,UAAU,CAChC,UAAU,EACV;AACE,IAAA,CAAC,CAAmBL,gBAAAA,EAAAA,MAAM,CAAE,CAAA,GAAGA,MAAM;IACrC,CAAC,CAAA,SAAA,EAAYH,IAAI,CAAA,CAAE,GAAGA,IAAAA;GACvB,EACDF,SAAS,CACV,CAAA;AAED,EAAA,oBACEW,IAAA,CAAA,KAAA,EAAA;AAAKX,IAAAA,SAAS,EAAES,OAAQ;AAAAD,IAAAA,QAAA,gBACtBI,GAAA,CAAA,KAAA,EAAA;AAAKZ,MAAAA,SAAS,EAAC,oBAAoB;AAAAQ,MAAAA,QAAA,EAAEA,QAAAA;KAAc,CACnD,eAAAI,GAAA,CAAA,KAAA,EAAA;AAAKZ,MAAAA,SAAS,EAAC,mBAAmB;AAAAQ,MAAAA,QAAA,EAAET,KAAAA;AAAK,KAAM,CACjD,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Badge.mjs","sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport {\n Size,\n Theme,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n ThemeDark,\n ThemeLight,\n CommonProps,\n} from '../common';\n\nexport type BadgeProps = {\n badge: ReactNode;\n children: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge;\n border?: ThemeDark | ThemeLight;\n 'aria-label'?: string;\n} & CommonProps;\n\nconst Badge = ({\n badge,\n className = undefined,\n size = Size.SMALL,\n border = Theme.LIGHT,\n 'aria-label': ariaLabel,\n children,\n}: BadgeProps) => {\n const classes: string = classNames(\n 'tw-badge',\n {\n [`tw-badge-border-${border}`]: border,\n [`tw-badge-${size}`]: size,\n },\n className,\n );\n\n return (\n <div aria-label={ariaLabel} className={classes}>\n <div className=\"tw-badge__children\">{children}</div>\n <div className=\"tw-badge__content\">{badge}</div>\n </div>\n );\n};\n\nexport default Badge;\n"],"names":["Badge","badge","className","undefined","size","Size","SMALL","border","Theme","LIGHT","ariaLabel","children","classes","classNames","_jsxs","_jsx"],"mappings":";;;;;AAsBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,KAAK;AACLC,EAAAA,SAAS,GAAGC,SAAS;EACrBC,IAAI,GAAGC,IAAI,CAACC,KAAK;EACjBC,MAAM,GAAGC,KAAK,CAACC,KAAK;AACpB,EAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,QAAAA;AAAQ,CACG,KAAI;AACf,EAAA,MAAMC,OAAO,GAAWC,UAAU,CAChC,UAAU,EACV;AACE,IAAA,CAAC,CAAmBN,gBAAAA,EAAAA,MAAM,CAAE,CAAA,GAAGA,MAAM;IACrC,CAAC,CAAA,SAAA,EAAYH,IAAI,CAAA,CAAE,GAAGA,IAAAA;GACvB,EACDF,SAAS,CACV,CAAA;AAED,EAAA,oBACEY,IAAA,CAAA,KAAA,EAAA;AAAK,IAAA,YAAA,EAAYJ,SAAU;AAACR,IAAAA,SAAS,EAAEU,OAAQ;AAAAD,IAAAA,QAAA,gBAC7CI,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,oBAAoB;AAAAS,MAAAA,QAAA,EAAEA,QAAAA;KAAc,CACnD,eAAAI,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,mBAAmB;AAAAS,MAAAA,QAAA,EAAEV,KAAAA;AAAK,KAAM,CACjD,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Wähle eine Option...",
24
24
  "neptune.Select.searchPlaceholder": "Wird gesucht...",
25
25
  "neptune.SelectInput.noResultsFound": "Keine Ergebnisse gefunden",
26
- "neptune.SelectOption.action.label": "Auswählen",
27
- "neptune.SelectOption.selected.action.label": "Ausgewählte Option ändern",
28
26
  "neptune.Summary.statusDone": "Schritt erledigt",
29
27
  "neptune.Summary.statusNotDone": "Schritt noch zu erledigen",
30
28
  "neptune.Summary.statusPending": "Schritt ausstehend",
@@ -25,8 +25,6 @@ var de = {
25
25
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Wähle eine Option...",
26
26
  "neptune.Select.searchPlaceholder": "Wird gesucht...",
27
27
  "neptune.SelectInput.noResultsFound": "Keine Ergebnisse gefunden",
28
- "neptune.SelectOption.action.label": "Auswählen",
29
- "neptune.SelectOption.selected.action.label": "Ausgewählte Option ändern",
30
28
  "neptune.Summary.statusDone": "Schritt erledigt",
31
29
  "neptune.Summary.statusNotDone": "Schritt noch zu erledigen",
32
30
  "neptune.Summary.statusPending": "Schritt ausstehend",
@@ -1 +1 @@
1
- {"version":3,"file":"de.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"de.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@ var de = {
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Wähle eine Option...",
24
24
  "neptune.Select.searchPlaceholder": "Wird gesucht...",
25
25
  "neptune.SelectInput.noResultsFound": "Keine Ergebnisse gefunden",
26
- "neptune.SelectOption.action.label": "Auswählen",
27
- "neptune.SelectOption.selected.action.label": "Ausgewählte Option ändern",
28
26
  "neptune.Summary.statusDone": "Schritt erledigt",
29
27
  "neptune.Summary.statusNotDone": "Schritt noch zu erledigen",
30
28
  "neptune.Summary.statusPending": "Schritt ausstehend",
@@ -1 +1 @@
1
- {"version":3,"file":"de.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"de.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Selecciona una opción...",
24
24
  "neptune.Select.searchPlaceholder": "Buscar...",
25
25
  "neptune.SelectInput.noResultsFound": "No se han encontrado resultados",
26
- "neptune.SelectOption.action.label": "Elegir",
27
- "neptune.SelectOption.selected.action.label": "Cambiar opción elegida",
28
26
  "neptune.Summary.statusDone": "Apartado listo",
29
27
  "neptune.Summary.statusNotDone": "Apartado a completar",
30
28
  "neptune.Summary.statusPending": "Apartado pendiente",
@@ -25,8 +25,6 @@ var es = {
25
25
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Selecciona una opción...",
26
26
  "neptune.Select.searchPlaceholder": "Buscar...",
27
27
  "neptune.SelectInput.noResultsFound": "No se han encontrado resultados",
28
- "neptune.SelectOption.action.label": "Elegir",
29
- "neptune.SelectOption.selected.action.label": "Cambiar opción elegida",
30
28
  "neptune.Summary.statusDone": "Apartado listo",
31
29
  "neptune.Summary.statusNotDone": "Apartado a completar",
32
30
  "neptune.Summary.statusPending": "Apartado pendiente",
@@ -1 +1 @@
1
- {"version":3,"file":"es.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"es.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@ var es = {
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Selecciona una opción...",
24
24
  "neptune.Select.searchPlaceholder": "Buscar...",
25
25
  "neptune.SelectInput.noResultsFound": "No se han encontrado resultados",
26
- "neptune.SelectOption.action.label": "Elegir",
27
- "neptune.SelectOption.selected.action.label": "Cambiar opción elegida",
28
26
  "neptune.Summary.statusDone": "Apartado listo",
29
27
  "neptune.Summary.statusNotDone": "Apartado a completar",
30
28
  "neptune.Summary.statusPending": "Apartado pendiente",
@@ -1 +1 @@
1
- {"version":3,"file":"es.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"es.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Sélectionnez une option…",
24
24
  "neptune.Select.searchPlaceholder": "Recherche...",
25
25
  "neptune.SelectInput.noResultsFound": "Aucun résultat trouvé",
26
- "neptune.SelectOption.action.label": "Sélectionner",
27
- "neptune.SelectOption.selected.action.label": "Modifier l'option choisie",
28
26
  "neptune.Summary.statusDone": "Validé",
29
27
  "neptune.Summary.statusNotDone": "À compléter",
30
28
  "neptune.Summary.statusPending": "En attente",
@@ -25,8 +25,6 @@ var fr = {
25
25
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Sélectionnez une option…",
26
26
  "neptune.Select.searchPlaceholder": "Recherche...",
27
27
  "neptune.SelectInput.noResultsFound": "Aucun résultat trouvé",
28
- "neptune.SelectOption.action.label": "Sélectionner",
29
- "neptune.SelectOption.selected.action.label": "Modifier l'option choisie",
30
28
  "neptune.Summary.statusDone": "Validé",
31
29
  "neptune.Summary.statusNotDone": "À compléter",
32
30
  "neptune.Summary.statusPending": "En attente",
@@ -1 +1 @@
1
- {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@ var fr = {
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Sélectionnez une option…",
24
24
  "neptune.Select.searchPlaceholder": "Recherche...",
25
25
  "neptune.SelectInput.noResultsFound": "Aucun résultat trouvé",
26
- "neptune.SelectOption.action.label": "Sélectionner",
27
- "neptune.SelectOption.selected.action.label": "Modifier l'option choisie",
28
26
  "neptune.Summary.statusDone": "Validé",
29
27
  "neptune.Summary.statusNotDone": "À compléter",
30
28
  "neptune.Summary.statusPending": "En attente",
@@ -1 +1 @@
1
- {"version":3,"file":"fr.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fr.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Válassz ki egy lehetőséget...",
24
24
  "neptune.Select.searchPlaceholder": "Keresés...",
25
25
  "neptune.SelectInput.noResultsFound": "Nincs találat",
26
- "neptune.SelectOption.action.label": "Kiválasztás",
27
- "neptune.SelectOption.selected.action.label": "Kiválasztott opció módosítása",
28
26
  "neptune.Summary.statusDone": "Kész",
29
27
  "neptune.Summary.statusNotDone": "Hátravan",
30
28
  "neptune.Summary.statusPending": "Függőben",
@@ -25,8 +25,6 @@ var hu = {
25
25
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Válassz ki egy lehetőséget...",
26
26
  "neptune.Select.searchPlaceholder": "Keresés...",
27
27
  "neptune.SelectInput.noResultsFound": "Nincs találat",
28
- "neptune.SelectOption.action.label": "Kiválasztás",
29
- "neptune.SelectOption.selected.action.label": "Kiválasztott opció módosítása",
30
28
  "neptune.Summary.statusDone": "Kész",
31
29
  "neptune.Summary.statusNotDone": "Hátravan",
32
30
  "neptune.Summary.statusPending": "Függőben",
@@ -1 +1 @@
1
- {"version":3,"file":"hu.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hu.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@ var hu = {
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Válassz ki egy lehetőséget...",
24
24
  "neptune.Select.searchPlaceholder": "Keresés...",
25
25
  "neptune.SelectInput.noResultsFound": "Nincs találat",
26
- "neptune.SelectOption.action.label": "Kiválasztás",
27
- "neptune.SelectOption.selected.action.label": "Kiválasztott opció módosítása",
28
26
  "neptune.Summary.statusDone": "Kész",
29
27
  "neptune.Summary.statusNotDone": "Hátravan",
30
28
  "neptune.Summary.statusPending": "Függőben",
@@ -1 +1 @@
1
- {"version":3,"file":"hu.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hu.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Pilih opsi...",
24
24
  "neptune.Select.searchPlaceholder": "Cari...",
25
25
  "neptune.SelectInput.noResultsFound": "Hasil tidak ditemukan",
26
- "neptune.SelectOption.action.label": "Pilih",
27
- "neptune.SelectOption.selected.action.label": "Ubah opsi yang dipilih",
28
26
  "neptune.Summary.statusDone": "Item selesai",
29
27
  "neptune.Summary.statusNotDone": "Item yang harus dilakukan",
30
28
  "neptune.Summary.statusPending": "Item tertunda",
@@ -25,8 +25,6 @@ var id = {
25
25
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Pilih opsi...",
26
26
  "neptune.Select.searchPlaceholder": "Cari...",
27
27
  "neptune.SelectInput.noResultsFound": "Hasil tidak ditemukan",
28
- "neptune.SelectOption.action.label": "Pilih",
29
- "neptune.SelectOption.selected.action.label": "Ubah opsi yang dipilih",
30
28
  "neptune.Summary.statusDone": "Item selesai",
31
29
  "neptune.Summary.statusNotDone": "Item yang harus dilakukan",
32
30
  "neptune.Summary.statusPending": "Item tertunda",
@@ -1 +1 @@
1
- {"version":3,"file":"id.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"id.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@ var id = {
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Pilih opsi...",
24
24
  "neptune.Select.searchPlaceholder": "Cari...",
25
25
  "neptune.SelectInput.noResultsFound": "Hasil tidak ditemukan",
26
- "neptune.SelectOption.action.label": "Pilih",
27
- "neptune.SelectOption.selected.action.label": "Ubah opsi yang dipilih",
28
26
  "neptune.Summary.statusDone": "Item selesai",
29
27
  "neptune.Summary.statusNotDone": "Item yang harus dilakukan",
30
28
  "neptune.Summary.statusPending": "Item tertunda",
@@ -1 +1 @@
1
- {"version":3,"file":"id.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"id.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,6 @@
23
23
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Seleziona un'opzione...",
24
24
  "neptune.Select.searchPlaceholder": "Cerca...",
25
25
  "neptune.SelectInput.noResultsFound": "Nessun risultato trovato",
26
- "neptune.SelectOption.action.label": "Scegli",
27
- "neptune.SelectOption.selected.action.label": "Modifica l'opzione scelta",
28
26
  "neptune.Summary.statusDone": "Completato",
29
27
  "neptune.Summary.statusNotDone": "Da completare",
30
28
  "neptune.Summary.statusPending": "In corso",