@transferwise/components 0.0.0-experimental-c81666a → 0.0.0-experimental-bb07bc5

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 (79) hide show
  1. package/build/i18n/ja.json +1 -1
  2. package/build/i18n/ja.json.js +1 -1
  3. package/build/i18n/ja.json.mjs +1 -1
  4. package/build/image/Image.js +10 -9
  5. package/build/image/Image.js.map +1 -1
  6. package/build/image/Image.mjs +11 -11
  7. package/build/image/Image.mjs.map +1 -1
  8. package/build/index.js +1 -0
  9. package/build/index.js.map +1 -1
  10. package/build/index.mjs +1 -1
  11. package/build/main.css +212 -0
  12. package/build/styles/listItem/ListItem.css +212 -0
  13. package/build/styles/main.css +212 -0
  14. package/build/test-utils/assets/apple-pay-logo.svg +84 -0
  15. package/build/types/image/Image.d.ts +1 -0
  16. package/build/types/image/Image.d.ts.map +1 -1
  17. package/build/types/index.d.ts +2 -0
  18. package/build/types/index.d.ts.map +1 -1
  19. package/build/types/listItem/ListItem.d.ts +50 -0
  20. package/build/types/listItem/ListItem.d.ts.map +1 -0
  21. package/build/types/listItem/ListItemAdditionalInfo.d.ts +9 -0
  22. package/build/types/listItem/ListItemAdditionalInfo.d.ts.map +1 -0
  23. package/build/types/listItem/ListItemButton.d.ts +6 -0
  24. package/build/types/listItem/ListItemButton.d.ts.map +1 -0
  25. package/build/types/listItem/ListItemCheckbox.d.ts +4 -0
  26. package/build/types/listItem/ListItemCheckbox.d.ts.map +1 -0
  27. package/build/types/listItem/ListItemIconButton.d.ts +8 -0
  28. package/build/types/listItem/ListItemIconButton.d.ts.map +1 -0
  29. package/build/types/listItem/ListItemMedia.d.ts +19 -0
  30. package/build/types/listItem/ListItemMedia.d.ts.map +1 -0
  31. package/build/types/listItem/ListItemNavigation.d.ts +4 -0
  32. package/build/types/listItem/ListItemNavigation.d.ts.map +1 -0
  33. package/build/types/listItem/ListItemSwitch.d.ts +3 -0
  34. package/build/types/listItem/ListItemSwitch.d.ts.map +1 -0
  35. package/build/types/listItem/index.d.ts +6 -0
  36. package/build/types/listItem/index.d.ts.map +1 -0
  37. package/build/types/listItem/prompt/Prompt.d.ts +12 -0
  38. package/build/types/listItem/prompt/Prompt.d.ts.map +1 -0
  39. package/build/types/listItem/useItemControl.d.ts +5 -0
  40. package/build/types/listItem/useItemControl.d.ts.map +1 -0
  41. package/build/types/test-utils/fake-data.d.ts +2 -0
  42. package/build/types/test-utils/fake-data.d.ts.map +1 -1
  43. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  44. package/build/uploadInput/UploadInput.js +0 -1
  45. package/build/uploadInput/UploadInput.js.map +1 -1
  46. package/build/uploadInput/UploadInput.mjs +0 -1
  47. package/build/uploadInput/UploadInput.mjs.map +1 -1
  48. package/package.json +3 -3
  49. package/src/i18n/ja.json +1 -1
  50. package/src/image/Image.spec.tsx +3 -3
  51. package/src/image/Image.tsx +12 -10
  52. package/src/index.ts +2 -0
  53. package/src/legacylistItem/LegacyListItem.story.tsx +5 -5
  54. package/src/legacylistItem/LegacyListItem.tests.story.tsx +6 -6
  55. package/src/listItem/ListItem.css +212 -0
  56. package/src/listItem/ListItem.less +210 -0
  57. package/src/listItem/ListItem.spec.tsx +35 -0
  58. package/src/listItem/ListItem.story.tsx +461 -0
  59. package/src/listItem/ListItem.tsx +282 -0
  60. package/src/listItem/ListItemAdditionalInfo.tsx +31 -0
  61. package/src/listItem/ListItemButton.spec.tsx +92 -0
  62. package/src/listItem/ListItemButton.tsx +24 -0
  63. package/src/listItem/ListItemCheckbox.tsx +14 -0
  64. package/src/listItem/ListItemIconButton.tsx +16 -0
  65. package/src/listItem/ListItemMedia.tsx +52 -0
  66. package/src/listItem/ListItemNavigation.tsx +23 -0
  67. package/src/listItem/ListItemSwitch.tsx +8 -0
  68. package/src/listItem/index.ts +10 -0
  69. package/src/listItem/prompt/Prompt.spec.tsx +77 -0
  70. package/src/listItem/prompt/Prompt.story.tsx +170 -0
  71. package/src/listItem/prompt/Prompt.tsx +44 -0
  72. package/src/listItem/useItemControl.tsx +23 -0
  73. package/src/main.css +212 -0
  74. package/src/main.less +1 -0
  75. package/src/promoCard/__snapshots__/PromoCard.spec.tsx.snap +0 -1
  76. package/src/promoCard/__snapshots__/PromoCardGroup.spec.tsx.snap +0 -2
  77. package/src/test-utils/assets/apple-pay-logo.svg +84 -0
  78. package/src/test-utils/fake-data.ts +5 -0
  79. package/src/uploadInput/UploadInput.tsx +4 -13
@@ -21,7 +21,7 @@
21
21
  "neptune.Label.optional": "(任意)",
22
22
  "neptune.Link.opensInNewTab": "(新しいタブで開きます)",
23
23
  "neptune.MoneyInput.Select.placeholder": "選択してください...",
24
- "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国をご入力ください",
24
+ "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国を入力してください",
25
25
  "neptune.MoneyInput.Select.selectCurrencyLabel": "通貨を選択してください",
26
26
  "neptune.PhoneNumberInput.SelectInput.placeholder": "選択してください…",
27
27
  "neptune.PhoneNumberInput.countryCodeLabel": "国コード",
@@ -25,7 +25,7 @@ var ja = {
25
25
  "neptune.Label.optional": "(任意)",
26
26
  "neptune.Link.opensInNewTab": "(新しいタブで開きます)",
27
27
  "neptune.MoneyInput.Select.placeholder": "選択してください...",
28
- "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国をご入力ください",
28
+ "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国を入力してください",
29
29
  "neptune.MoneyInput.Select.selectCurrencyLabel": "通貨を選択してください",
30
30
  "neptune.PhoneNumberInput.SelectInput.placeholder": "選択してください…",
31
31
  "neptune.PhoneNumberInput.countryCodeLabel": "国コード",
@@ -21,7 +21,7 @@ var ja = {
21
21
  "neptune.Label.optional": "(任意)",
22
22
  "neptune.Link.opensInNewTab": "(新しいタブで開きます)",
23
23
  "neptune.MoneyInput.Select.placeholder": "選択してください...",
24
- "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国をご入力ください",
24
+ "neptune.MoneyInput.Select.searchPlaceholder": "通貨または国を入力してください",
25
25
  "neptune.MoneyInput.Select.selectCurrencyLabel": "通貨を選択してください",
26
26
  "neptune.PhoneNumberInput.SelectInput.placeholder": "選択してください…",
27
27
  "neptune.PhoneNumberInput.countryCodeLabel": "国コード",
@@ -10,6 +10,7 @@ var useHasIntersected = require('../common/hooks/useHasIntersected/useHasInterse
10
10
  require('../common/propsValues/breakpoint.js');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
+ const EmptyTransparentImage = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
13
14
  const Image = ({
14
15
  id,
15
16
  src,
@@ -27,27 +28,27 @@ const Image = ({
27
28
  elRef: elementReference,
28
29
  loading
29
30
  });
30
- // Internal onLoad handler that calls user onLoad only if hasIntersected is true
31
- const handleLoad = React.useCallback(() => {
32
- if (hasIntersected && onLoad) {
33
- onLoad();
34
- }
35
- }, [hasIntersected, onLoad]);
31
+ let imageSource = src;
32
+ let imageOnLoad = onLoad;
33
+ if (loading === 'lazy' && !hasIntersected) {
34
+ imageSource = EmptyTransparentImage;
35
+ imageOnLoad = undefined;
36
+ }
36
37
  return /*#__PURE__*/jsxRuntime.jsx("img", {
37
38
  ref: elementReference,
38
39
  id: id,
39
40
  alt: alt,
40
- src: src,
41
- loading: loading,
41
+ src: imageSource,
42
42
  className: clsx.clsx(['tw-image', {
43
43
  'tw-image__stretch': stretch,
44
44
  'tw-image__shrink': shrink
45
45
  }, className]),
46
46
  role: role,
47
- onLoad: handleLoad,
47
+ onLoad: imageOnLoad,
48
48
  onError: onError
49
49
  });
50
50
  };
51
51
 
52
+ exports.EmptyTransparentImage = EmptyTransparentImage;
52
53
  exports.default = Image;
53
54
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sources":["../../src/image/Image.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useCallback } from 'react';\n\nimport { useHasIntersected } from '../common/hooks';\n\nexport interface ImageProps {\n alt: string;\n src: string;\n id?: string;\n onLoad?: () => void;\n onError?: () => void;\n className?: string;\n loading?: 'lazy' | 'eager';\n stretch?: boolean;\n role?: string;\n shrink?: boolean;\n}\n\nconst Image = ({\n id,\n src,\n alt,\n onLoad,\n onError,\n className,\n loading,\n stretch = true,\n role,\n shrink = true,\n}: ImageProps) => {\n const elementReference = useRef<HTMLImageElement>(null);\n const [hasIntersected] = useHasIntersected({ elRef: elementReference, loading });\n\n // Internal onLoad handler that calls user onLoad only if hasIntersected is true\n const handleLoad = useCallback(() => {\n if (hasIntersected && onLoad) {\n onLoad();\n }\n }, [hasIntersected, onLoad]);\n\n return (\n <img\n ref={elementReference}\n id={id}\n alt={alt}\n src={src}\n loading={loading}\n className={clsx([\n 'tw-image',\n {\n 'tw-image__stretch': stretch,\n 'tw-image__shrink': shrink,\n },\n className,\n ])}\n role={role}\n onLoad={handleLoad}\n onError={onError}\n />\n );\n};\n\nexport default Image;\n"],"names":["Image","id","src","alt","onLoad","onError","className","loading","stretch","role","shrink","elementReference","useRef","hasIntersected","useHasIntersected","elRef","handleLoad","useCallback","_jsx","ref","clsx"],"mappings":";;;;;;;;;;;;AAkBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,EAAE;EACFC,GAAG;EACHC,GAAG;EACHC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,OAAO;AACPC,EAAAA,OAAO,GAAG,IAAI;EACdC,IAAI;AACJC,EAAAA,MAAM,GAAG;AAAI,CACF,KAAI;AACf,EAAA,MAAMC,gBAAgB,GAAGC,YAAM,CAAmB,IAAI,CAAC;AACvD,EAAA,MAAM,CAACC,cAAc,CAAC,GAAGC,mCAAiB,CAAC;AAAEC,IAAAA,KAAK,EAAEJ,gBAAgB;AAAEJ,IAAAA;AAAO,GAAE,CAAC;AAEhF;AACA,EAAA,MAAMS,UAAU,GAAGC,iBAAW,CAAC,MAAK;IAClC,IAAIJ,cAAc,IAAIT,MAAM,EAAE;AAC5BA,MAAAA,MAAM,EAAE;AACV;AACF,GAAC,EAAE,CAACS,cAAc,EAAET,MAAM,CAAC,CAAC;AAE5B,EAAA,oBACEc,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAER,gBAAiB;AACtBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,GAAG,EAAEA,GAAI;AACTD,IAAAA,GAAG,EAAEA,GAAI;AACTK,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,SAAS,EAAEc,SAAI,CAAC,CACd,UAAU,EACV;AACE,MAAA,mBAAmB,EAAEZ,OAAO;AAC5B,MAAA,kBAAkB,EAAEE;KACrB,EACDJ,SAAS,CACV,CAAE;AACHG,IAAAA,IAAI,EAAEA,IAAK;AACXL,IAAAA,MAAM,EAAEY,UAAW;AACnBX,IAAAA,OAAO,EAAEA;AAAQ,GACjB,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"Image.js","sources":["../../src/image/Image.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef } from 'react';\n\nimport { useHasIntersected } from '../common/hooks';\n\nexport interface ImageProps {\n alt: string;\n src: string;\n id?: string;\n onLoad?: () => void;\n onError?: () => void;\n className?: string;\n loading?: 'lazy' | 'eager';\n stretch?: boolean;\n role?: string;\n shrink?: boolean;\n}\n\nexport const EmptyTransparentImage =\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\nconst Image = ({\n id,\n src,\n alt,\n onLoad,\n onError,\n className,\n loading,\n stretch = true,\n role,\n shrink = true,\n}: ImageProps) => {\n const elementReference = useRef<HTMLImageElement>(null);\n const [hasIntersected] = useHasIntersected({ elRef: elementReference, loading });\n let imageSource = src;\n let imageOnLoad = onLoad;\n\n if (loading === 'lazy' && !hasIntersected) {\n imageSource = EmptyTransparentImage;\n imageOnLoad = undefined;\n }\n\n return (\n <img\n ref={elementReference}\n id={id}\n alt={alt}\n src={imageSource}\n className={clsx([\n 'tw-image',\n {\n 'tw-image__stretch': stretch,\n 'tw-image__shrink': shrink,\n },\n className,\n ])}\n role={role}\n onLoad={imageOnLoad}\n onError={onError}\n />\n );\n};\n\nexport default Image;\n"],"names":["EmptyTransparentImage","Image","id","src","alt","onLoad","onError","className","loading","stretch","role","shrink","elementReference","useRef","hasIntersected","useHasIntersected","elRef","imageSource","imageOnLoad","undefined","_jsx","ref","clsx"],"mappings":";;;;;;;;;;;;AAkBO,MAAMA,qBAAqB,GAChC;AAEIC,MAAAA,KAAK,GAAGA,CAAC;EACbC,EAAE;EACFC,GAAG;EACHC,GAAG;EACHC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,OAAO;AACPC,EAAAA,OAAO,GAAG,IAAI;EACdC,IAAI;AACJC,EAAAA,MAAM,GAAG;AAAI,CACF,KAAI;AACf,EAAA,MAAMC,gBAAgB,GAAGC,YAAM,CAAmB,IAAI,CAAC;AACvD,EAAA,MAAM,CAACC,cAAc,CAAC,GAAGC,mCAAiB,CAAC;AAAEC,IAAAA,KAAK,EAAEJ,gBAAgB;AAAEJ,IAAAA;AAAO,GAAE,CAAC;EAChF,IAAIS,WAAW,GAAGd,GAAG;EACrB,IAAIe,WAAW,GAAGb,MAAM;AAExB,EAAA,IAAIG,OAAO,KAAK,MAAM,IAAI,CAACM,cAAc,EAAE;AACzCG,IAAAA,WAAW,GAAGjB,qBAAqB;AACnCkB,IAAAA,WAAW,GAAGC,SAAS;AACzB;AAEA,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,gBAAiB;AACtBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,GAAG,EAAEA,GAAI;AACTD,IAAAA,GAAG,EAAEc,WAAY;AACjBV,IAAAA,SAAS,EAAEe,SAAI,CAAC,CACd,UAAU,EACV;AACE,MAAA,mBAAmB,EAAEb,OAAO;AAC5B,MAAA,kBAAkB,EAAEE;KACrB,EACDJ,SAAS,CACV,CAAE;AACHG,IAAAA,IAAI,EAAEA,IAAK;AACXL,IAAAA,MAAM,EAAEa,WAAY;AACpBZ,IAAAA,OAAO,EAAEA;AAAQ,GACjB,CAAA;AAEN;;;;;"}
@@ -1,11 +1,12 @@
1
1
  import { clsx } from 'clsx';
2
- import { useRef, useCallback } from 'react';
2
+ import { useRef } from 'react';
3
3
  import '@transferwise/neptune-validation';
4
4
  import '../provider/direction/DirectionProvider.mjs';
5
5
  import { useHasIntersected } from '../common/hooks/useHasIntersected/useHasIntersected.mjs';
6
6
  import '../common/propsValues/breakpoint.mjs';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
 
9
+ const EmptyTransparentImage = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
9
10
  const Image = ({
10
11
  id,
11
12
  src,
@@ -23,27 +24,26 @@ const Image = ({
23
24
  elRef: elementReference,
24
25
  loading
25
26
  });
26
- // Internal onLoad handler that calls user onLoad only if hasIntersected is true
27
- const handleLoad = useCallback(() => {
28
- if (hasIntersected && onLoad) {
29
- onLoad();
30
- }
31
- }, [hasIntersected, onLoad]);
27
+ let imageSource = src;
28
+ let imageOnLoad = onLoad;
29
+ if (loading === 'lazy' && !hasIntersected) {
30
+ imageSource = EmptyTransparentImage;
31
+ imageOnLoad = undefined;
32
+ }
32
33
  return /*#__PURE__*/jsx("img", {
33
34
  ref: elementReference,
34
35
  id: id,
35
36
  alt: alt,
36
- src: src,
37
- loading: loading,
37
+ src: imageSource,
38
38
  className: clsx(['tw-image', {
39
39
  'tw-image__stretch': stretch,
40
40
  'tw-image__shrink': shrink
41
41
  }, className]),
42
42
  role: role,
43
- onLoad: handleLoad,
43
+ onLoad: imageOnLoad,
44
44
  onError: onError
45
45
  });
46
46
  };
47
47
 
48
- export { Image as default };
48
+ export { EmptyTransparentImage, Image as default };
49
49
  //# sourceMappingURL=Image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.mjs","sources":["../../src/image/Image.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useCallback } from 'react';\n\nimport { useHasIntersected } from '../common/hooks';\n\nexport interface ImageProps {\n alt: string;\n src: string;\n id?: string;\n onLoad?: () => void;\n onError?: () => void;\n className?: string;\n loading?: 'lazy' | 'eager';\n stretch?: boolean;\n role?: string;\n shrink?: boolean;\n}\n\nconst Image = ({\n id,\n src,\n alt,\n onLoad,\n onError,\n className,\n loading,\n stretch = true,\n role,\n shrink = true,\n}: ImageProps) => {\n const elementReference = useRef<HTMLImageElement>(null);\n const [hasIntersected] = useHasIntersected({ elRef: elementReference, loading });\n\n // Internal onLoad handler that calls user onLoad only if hasIntersected is true\n const handleLoad = useCallback(() => {\n if (hasIntersected && onLoad) {\n onLoad();\n }\n }, [hasIntersected, onLoad]);\n\n return (\n <img\n ref={elementReference}\n id={id}\n alt={alt}\n src={src}\n loading={loading}\n className={clsx([\n 'tw-image',\n {\n 'tw-image__stretch': stretch,\n 'tw-image__shrink': shrink,\n },\n className,\n ])}\n role={role}\n onLoad={handleLoad}\n onError={onError}\n />\n );\n};\n\nexport default Image;\n"],"names":["Image","id","src","alt","onLoad","onError","className","loading","stretch","role","shrink","elementReference","useRef","hasIntersected","useHasIntersected","elRef","handleLoad","useCallback","_jsx","ref","clsx"],"mappings":";;;;;;;;AAkBMA,MAAAA,KAAK,GAAGA,CAAC;EACbC,EAAE;EACFC,GAAG;EACHC,GAAG;EACHC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,OAAO;AACPC,EAAAA,OAAO,GAAG,IAAI;EACdC,IAAI;AACJC,EAAAA,MAAM,GAAG;AAAI,CACF,KAAI;AACf,EAAA,MAAMC,gBAAgB,GAAGC,MAAM,CAAmB,IAAI,CAAC;AACvD,EAAA,MAAM,CAACC,cAAc,CAAC,GAAGC,iBAAiB,CAAC;AAAEC,IAAAA,KAAK,EAAEJ,gBAAgB;AAAEJ,IAAAA;AAAO,GAAE,CAAC;AAEhF;AACA,EAAA,MAAMS,UAAU,GAAGC,WAAW,CAAC,MAAK;IAClC,IAAIJ,cAAc,IAAIT,MAAM,EAAE;AAC5BA,MAAAA,MAAM,EAAE;AACV;AACF,GAAC,EAAE,CAACS,cAAc,EAAET,MAAM,CAAC,CAAC;AAE5B,EAAA,oBACEc,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAER,gBAAiB;AACtBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,GAAG,EAAEA,GAAI;AACTD,IAAAA,GAAG,EAAEA,GAAI;AACTK,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,SAAS,EAAEc,IAAI,CAAC,CACd,UAAU,EACV;AACE,MAAA,mBAAmB,EAAEZ,OAAO;AAC5B,MAAA,kBAAkB,EAAEE;KACrB,EACDJ,SAAS,CACV,CAAE;AACHG,IAAAA,IAAI,EAAEA,IAAK;AACXL,IAAAA,MAAM,EAAEY,UAAW;AACnBX,IAAAA,OAAO,EAAEA;AAAQ,GACjB,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"Image.mjs","sources":["../../src/image/Image.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef } from 'react';\n\nimport { useHasIntersected } from '../common/hooks';\n\nexport interface ImageProps {\n alt: string;\n src: string;\n id?: string;\n onLoad?: () => void;\n onError?: () => void;\n className?: string;\n loading?: 'lazy' | 'eager';\n stretch?: boolean;\n role?: string;\n shrink?: boolean;\n}\n\nexport const EmptyTransparentImage =\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\nconst Image = ({\n id,\n src,\n alt,\n onLoad,\n onError,\n className,\n loading,\n stretch = true,\n role,\n shrink = true,\n}: ImageProps) => {\n const elementReference = useRef<HTMLImageElement>(null);\n const [hasIntersected] = useHasIntersected({ elRef: elementReference, loading });\n let imageSource = src;\n let imageOnLoad = onLoad;\n\n if (loading === 'lazy' && !hasIntersected) {\n imageSource = EmptyTransparentImage;\n imageOnLoad = undefined;\n }\n\n return (\n <img\n ref={elementReference}\n id={id}\n alt={alt}\n src={imageSource}\n className={clsx([\n 'tw-image',\n {\n 'tw-image__stretch': stretch,\n 'tw-image__shrink': shrink,\n },\n className,\n ])}\n role={role}\n onLoad={imageOnLoad}\n onError={onError}\n />\n );\n};\n\nexport default Image;\n"],"names":["EmptyTransparentImage","Image","id","src","alt","onLoad","onError","className","loading","stretch","role","shrink","elementReference","useRef","hasIntersected","useHasIntersected","elRef","imageSource","imageOnLoad","undefined","_jsx","ref","clsx"],"mappings":";;;;;;;;AAkBO,MAAMA,qBAAqB,GAChC;AAEIC,MAAAA,KAAK,GAAGA,CAAC;EACbC,EAAE;EACFC,GAAG;EACHC,GAAG;EACHC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC,OAAO;AACPC,EAAAA,OAAO,GAAG,IAAI;EACdC,IAAI;AACJC,EAAAA,MAAM,GAAG;AAAI,CACF,KAAI;AACf,EAAA,MAAMC,gBAAgB,GAAGC,MAAM,CAAmB,IAAI,CAAC;AACvD,EAAA,MAAM,CAACC,cAAc,CAAC,GAAGC,iBAAiB,CAAC;AAAEC,IAAAA,KAAK,EAAEJ,gBAAgB;AAAEJ,IAAAA;AAAO,GAAE,CAAC;EAChF,IAAIS,WAAW,GAAGd,GAAG;EACrB,IAAIe,WAAW,GAAGb,MAAM;AAExB,EAAA,IAAIG,OAAO,KAAK,MAAM,IAAI,CAACM,cAAc,EAAE;AACzCG,IAAAA,WAAW,GAAGjB,qBAAqB;AACnCkB,IAAAA,WAAW,GAAGC,SAAS;AACzB;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,gBAAiB;AACtBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,GAAG,EAAEA,GAAI;AACTD,IAAAA,GAAG,EAAEc,WAAY;AACjBV,IAAAA,SAAS,EAAEe,IAAI,CAAC,CACd,UAAU,EACV;AACE,MAAA,mBAAmB,EAAEb,OAAO;AAC5B,MAAA,kBAAkB,EAAEE;KACrB,EACDJ,SAAS,CACV,CAAE;AACHG,IAAAA,IAAI,EAAEA,IAAK;AACXL,IAAAA,MAAM,EAAEa,WAAY;AACpBZ,IAAAA,OAAO,EAAEA;AAAQ,GACjB,CAAA;AAEN;;;;"}
package/build/index.js CHANGED
@@ -274,6 +274,7 @@ Object.defineProperty(exports, "UploadStep", {
274
274
  get: function () { return Upload.UploadStep; }
275
275
  });
276
276
  exports.UploadInput = UploadInput.default;
277
+ exports.Item = Table.default;
277
278
  exports.Table = Table.default;
278
279
  exports.useDirection = useDirection.useDirection;
279
280
  exports.useLayout = useLayout.useLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/build/index.mjs CHANGED
@@ -105,7 +105,7 @@ export { default as Tooltip } from './tooltip/Tooltip.mjs';
105
105
  export { default as Typeahead } from './typeahead/Typeahead.mjs';
106
106
  export { default as Upload, UploadStep } from './upload/Upload.mjs';
107
107
  export { default as UploadInput } from './uploadInput/UploadInput.mjs';
108
- export { default as Table } from './table/Table.mjs';
108
+ export { default as Item, default as Table } from './table/Table.mjs';
109
109
  import '@transferwise/neptune-validation';
110
110
  export { useDirection } from './common/hooks/useDirection/useDirection.mjs';
111
111
  export { useLayout } from './common/hooks/useLayout/useLayout.mjs';
package/build/main.css CHANGED
@@ -2662,6 +2662,218 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
2662
2662
  border-radius: 9999px !important;
2663
2663
  border-radius: var(--radius-full) !important;
2664
2664
  }
2665
+ .wds-list-item {
2666
+ list-style: none;
2667
+ width: 100%;
2668
+ padding: 0;
2669
+ border-radius: 16px;
2670
+ border-radius: var(--radius-medium);
2671
+ background-color: #ffffff;
2672
+ background-color: var(--color-background-screen);
2673
+ gap: 16px;
2674
+ gap: var(--size-16);
2675
+ }
2676
+ .wds-list-item .partially-interactive {
2677
+ padding: 16px;
2678
+ padding: var(--size-16);
2679
+ }
2680
+ .wds-list-item label,
2681
+ .wds-list-item a {
2682
+ padding: 16px;
2683
+ padding: var(--size-16);
2684
+ }
2685
+ .wds-list-item-interactive label {
2686
+ cursor: pointer;
2687
+ }
2688
+ .wds-list-item-interactive:hover {
2689
+ background-color: var(--color-background-screen-hover);
2690
+ }
2691
+ .wds-list-item-interactive:hover .wds-list-item-control .wds-Button {
2692
+ background-color: var(--Button-background-hover);
2693
+ color: var(--Button-color-hover);
2694
+ transition: none;
2695
+ }
2696
+ .wds-list-item-interactive:active {
2697
+ background-color: var(--color-background-screen-active);
2698
+ }
2699
+ .wds-list-item-interactive .wds-list-item-control .wds-Button {
2700
+ transition: none;
2701
+ }
2702
+ .wds-list-item-media-image {
2703
+ width: var(--item-media-image-size);
2704
+ height: var(--item-media-image-size);
2705
+ }
2706
+ .wds-list-item-body {
2707
+ width: 100%;
2708
+ }
2709
+ .wds-list-item-title {
2710
+ color: #37517e;
2711
+ color: var(--color-content-primary);
2712
+ }
2713
+ .wds-list-item-additional-info {
2714
+ color: #768e9c;
2715
+ color: var(--color-content-tertiary);
2716
+ }
2717
+ .wds-list-item-value {
2718
+ flex: 0 0 auto;
2719
+ }
2720
+ .wds-list-item-control {
2721
+ flex: 0 0 auto;
2722
+ }
2723
+ .wds-list-item-navigation,
2724
+ .wds-list-item-navigation:hover,
2725
+ .wds-list-item-navigation:focus {
2726
+ -webkit-text-decoration: none;
2727
+ text-decoration: none;
2728
+ }
2729
+ .wds-list-item-spotlight-active {
2730
+ background-color: rgba(134,167,189,0.10196);
2731
+ background-color: var(--color-background-neutral);
2732
+ }
2733
+ .wds-list-item-spotlight-active:not(.disabled):not(:disabled):hover {
2734
+ background-color: var(--color-background-neutral-hover);
2735
+ }
2736
+ .wds-list-item-spotlight-active:not(.disabled):not(:disabled):active {
2737
+ background-color: var(--color-background-neutral-active);
2738
+ }
2739
+ .wds-list-item-spotlight-inactive {
2740
+ background-color: rgba(134, 167, 189, 0.025);
2741
+ border: 1px dashed rgba(0,0,0,0.10196);
2742
+ border: 1px dashed var(--color-border-neutral);
2743
+ }
2744
+ @supports (color: color-mix(in lch, red, blue)) {
2745
+ .wds-list-item-spotlight-inactive {
2746
+ background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
2747
+ }
2748
+ }
2749
+ .wds-list-item-spotlight-inactive:not(.disabled):not(:disabled):hover {
2750
+ background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
2751
+ }
2752
+ .wds-list-item-spotlight-inactive:not(.disabled):not(:disabled):active {
2753
+ background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
2754
+ }
2755
+ .wds-list-item-prompt {
2756
+ display: inline-flex;
2757
+ padding-top: calc(8px / 2);
2758
+ padding-top: calc(var(--padding-x-small) / 2);
2759
+ padding-bottom: calc(8px / 2);
2760
+ padding-bottom: calc(var(--padding-x-small) / 2);
2761
+ padding-left: calc(8px - 1px);
2762
+ padding-left: calc(var(--padding-x-small) - 1px);
2763
+ padding-right: 8px;
2764
+ padding-right: var(--padding-x-small);
2765
+ border-radius: 10px;
2766
+ border-radius: var(--radius-small);
2767
+ word-break: break-word;
2768
+ word-wrap: break-word;
2769
+ }
2770
+ .wds-list-item-prompt .np-prompt-icon {
2771
+ padding-right: calc(12px / 2);
2772
+ padding-right: calc(var(--size-12) / 2);
2773
+ padding-top: calc(4px - 1px);
2774
+ padding-top: calc(var(--size-4) - 1px);
2775
+ padding-bottom: calc(4px - 1px);
2776
+ padding-bottom: calc(var(--size-4) - 1px);
2777
+ }
2778
+ .wds-list-item-prompt .np-prompt-icon .tw-icon-tags,
2779
+ .wds-list-item-prompt .np-prompt-icon .tw-icon-confetti {
2780
+ color: var(--color-sentiment-positive-primary);
2781
+ }
2782
+ .wds-list-item-prompt a {
2783
+ text-underline-offset: calc(4px / 2);
2784
+ text-underline-offset: calc(var(--size-4) / 2);
2785
+ }
2786
+ .wds-list-item-prompt.np-prompt-interactive {
2787
+ -webkit-text-decoration: none;
2788
+ text-decoration: none;
2789
+ cursor: pointer;
2790
+ border: none;
2791
+ }
2792
+ .wds-list-item-prompt.negative {
2793
+ background-color: var(--color-sentiment-negative-secondary);
2794
+ color: var(--color-sentiment-negative-primary);
2795
+ }
2796
+ .wds-list-item-prompt.negative a {
2797
+ color: var(--color-sentiment-negative-primary);
2798
+ }
2799
+ .wds-list-item-prompt.negative a:hover {
2800
+ color: var(--color-sentiment-negative-primary-hover);
2801
+ }
2802
+ .wds-list-item-prompt.negative a:active {
2803
+ color: var(--color-sentiment-negative-primary-active);
2804
+ }
2805
+ .np-prompt-interactive.wds-list-item-prompt.negative:hover {
2806
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
2807
+ }
2808
+ .np-prompt-interactive.wds-list-item-prompt.negative:active {
2809
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
2810
+ }
2811
+ .wds-list-item-prompt.positive,
2812
+ .wds-list-item-prompt.discount,
2813
+ .wds-list-item-prompt.savings {
2814
+ background-color: var(--color-sentiment-positive-secondary);
2815
+ color: var(--color-sentiment-positive-primary);
2816
+ }
2817
+ .wds-list-item-prompt.positive a,
2818
+ .wds-list-item-prompt.discount a,
2819
+ .wds-list-item-prompt.savings a {
2820
+ color: var(--color-sentiment-positive-primary);
2821
+ }
2822
+ .wds-list-item-prompt.positive a:hover,
2823
+ .wds-list-item-prompt.discount a:hover,
2824
+ .wds-list-item-prompt.savings a:hover {
2825
+ color: var(--color-sentiment-positive-primary-hover);
2826
+ }
2827
+ .wds-list-item-prompt.positive a:active,
2828
+ .wds-list-item-prompt.discount a:active,
2829
+ .wds-list-item-prompt.savings a:active {
2830
+ color: var(--color-sentiment-positive-primary-active);
2831
+ }
2832
+ .np-prompt-interactive.wds-list-item-prompt.positive:hover,
2833
+ .np-prompt-interactive.wds-list-item-prompt.discount:hover,
2834
+ .np-prompt-interactive.wds-list-item-prompt.savings:hover {
2835
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
2836
+ }
2837
+ .np-prompt-interactive.wds-list-item-prompt.positive:active,
2838
+ .np-prompt-interactive.wds-list-item-prompt.discount:active,
2839
+ .np-prompt-interactive.wds-list-item-prompt.savings:active {
2840
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
2841
+ }
2842
+ .wds-list-item-prompt.neutral {
2843
+ background-color: rgba(134,167,189,0.10196);
2844
+ background-color: var(--color-background-neutral);
2845
+ color: #37517e;
2846
+ color: var(--color-content-primary);
2847
+ }
2848
+ .wds-list-item-prompt.neutral a {
2849
+ color: #37517e;
2850
+ color: var(--color-content-primary);
2851
+ }
2852
+ .np-prompt-interactive.wds-list-item-prompt.neutral:hover {
2853
+ background-color: var(--color-background-neutral-hover);
2854
+ }
2855
+ .np-prompt-interactive.wds-list-item-prompt.neutral:active {
2856
+ background-color: var(--color-background-neutral-active);
2857
+ }
2858
+ .wds-list-item-prompt.warning {
2859
+ background-color: var(--color-sentiment-warning-secondary);
2860
+ color: var(--color-sentiment-warning-content);
2861
+ }
2862
+ .wds-list-item-prompt.warning a {
2863
+ color: var(--color-sentiment-warning-content);
2864
+ }
2865
+ .wds-list-item-prompt.warning a:hover {
2866
+ color: var(--color-sentiment-warning-content-hover);
2867
+ }
2868
+ .wds-list-item-prompt.warning a:active {
2869
+ color: var(--color-sentiment-warning-content-active);
2870
+ }
2871
+ .np-prompt-interactive.wds-list-item-prompt.warning:hover {
2872
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
2873
+ }
2874
+ .np-prompt-interactive.wds-list-item-prompt.warning:active {
2875
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
2876
+ }
2665
2877
  .np-field-control {
2666
2878
  margin-top: 4px;
2667
2879
  margin-top: var(--size-4);
@@ -0,0 +1,212 @@
1
+ .wds-list-item {
2
+ list-style: none;
3
+ width: 100%;
4
+ padding: 0;
5
+ border-radius: 16px;
6
+ border-radius: var(--radius-medium);
7
+ background-color: #ffffff;
8
+ background-color: var(--color-background-screen);
9
+ gap: 16px;
10
+ gap: var(--size-16);
11
+ }
12
+ .wds-list-item .partially-interactive {
13
+ padding: 16px;
14
+ padding: var(--size-16);
15
+ }
16
+ .wds-list-item label,
17
+ .wds-list-item a {
18
+ padding: 16px;
19
+ padding: var(--size-16);
20
+ }
21
+ .wds-list-item-interactive label {
22
+ cursor: pointer;
23
+ }
24
+ .wds-list-item-interactive:hover {
25
+ background-color: var(--color-background-screen-hover);
26
+ }
27
+ .wds-list-item-interactive:hover .wds-list-item-control .wds-Button {
28
+ background-color: var(--Button-background-hover);
29
+ color: var(--Button-color-hover);
30
+ transition: none;
31
+ }
32
+ .wds-list-item-interactive:active {
33
+ background-color: var(--color-background-screen-active);
34
+ }
35
+ .wds-list-item-interactive .wds-list-item-control .wds-Button {
36
+ transition: none;
37
+ }
38
+ .wds-list-item-media-image {
39
+ width: var(--item-media-image-size);
40
+ height: var(--item-media-image-size);
41
+ }
42
+ .wds-list-item-body {
43
+ width: 100%;
44
+ }
45
+ .wds-list-item-title {
46
+ color: #37517e;
47
+ color: var(--color-content-primary);
48
+ }
49
+ .wds-list-item-additional-info {
50
+ color: #768e9c;
51
+ color: var(--color-content-tertiary);
52
+ }
53
+ .wds-list-item-value {
54
+ flex: 0 0 auto;
55
+ }
56
+ .wds-list-item-control {
57
+ flex: 0 0 auto;
58
+ }
59
+ .wds-list-item-navigation,
60
+ .wds-list-item-navigation:hover,
61
+ .wds-list-item-navigation:focus {
62
+ -webkit-text-decoration: none;
63
+ text-decoration: none;
64
+ }
65
+ .wds-list-item-spotlight-active {
66
+ background-color: rgba(134,167,189,0.10196);
67
+ background-color: var(--color-background-neutral);
68
+ }
69
+ .wds-list-item-spotlight-active:not(.disabled):not(:disabled):hover {
70
+ background-color: var(--color-background-neutral-hover);
71
+ }
72
+ .wds-list-item-spotlight-active:not(.disabled):not(:disabled):active {
73
+ background-color: var(--color-background-neutral-active);
74
+ }
75
+ .wds-list-item-spotlight-inactive {
76
+ background-color: rgba(134, 167, 189, 0.025);
77
+ border: 1px dashed rgba(0,0,0,0.10196);
78
+ border: 1px dashed var(--color-border-neutral);
79
+ }
80
+ @supports (color: color-mix(in lch, red, blue)) {
81
+ .wds-list-item-spotlight-inactive {
82
+ background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
83
+ }
84
+ }
85
+ .wds-list-item-spotlight-inactive:not(.disabled):not(:disabled):hover {
86
+ background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
87
+ }
88
+ .wds-list-item-spotlight-inactive:not(.disabled):not(:disabled):active {
89
+ background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
90
+ }
91
+ .wds-list-item-prompt {
92
+ display: inline-flex;
93
+ padding-top: calc(8px / 2);
94
+ padding-top: calc(var(--padding-x-small) / 2);
95
+ padding-bottom: calc(8px / 2);
96
+ padding-bottom: calc(var(--padding-x-small) / 2);
97
+ padding-left: calc(8px - 1px);
98
+ padding-left: calc(var(--padding-x-small) - 1px);
99
+ padding-right: 8px;
100
+ padding-right: var(--padding-x-small);
101
+ border-radius: 10px;
102
+ border-radius: var(--radius-small);
103
+ word-break: break-word;
104
+ word-wrap: break-word;
105
+ }
106
+ .wds-list-item-prompt .np-prompt-icon {
107
+ padding-right: calc(12px / 2);
108
+ padding-right: calc(var(--size-12) / 2);
109
+ padding-top: calc(4px - 1px);
110
+ padding-top: calc(var(--size-4) - 1px);
111
+ padding-bottom: calc(4px - 1px);
112
+ padding-bottom: calc(var(--size-4) - 1px);
113
+ }
114
+ .wds-list-item-prompt .np-prompt-icon .tw-icon-tags,
115
+ .wds-list-item-prompt .np-prompt-icon .tw-icon-confetti {
116
+ color: var(--color-sentiment-positive-primary);
117
+ }
118
+ .wds-list-item-prompt a {
119
+ text-underline-offset: calc(4px / 2);
120
+ text-underline-offset: calc(var(--size-4) / 2);
121
+ }
122
+ .wds-list-item-prompt.np-prompt-interactive {
123
+ -webkit-text-decoration: none;
124
+ text-decoration: none;
125
+ cursor: pointer;
126
+ border: none;
127
+ }
128
+ .wds-list-item-prompt.negative {
129
+ background-color: var(--color-sentiment-negative-secondary);
130
+ color: var(--color-sentiment-negative-primary);
131
+ }
132
+ .wds-list-item-prompt.negative a {
133
+ color: var(--color-sentiment-negative-primary);
134
+ }
135
+ .wds-list-item-prompt.negative a:hover {
136
+ color: var(--color-sentiment-negative-primary-hover);
137
+ }
138
+ .wds-list-item-prompt.negative a:active {
139
+ color: var(--color-sentiment-negative-primary-active);
140
+ }
141
+ .np-prompt-interactive.wds-list-item-prompt.negative:hover {
142
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
143
+ }
144
+ .np-prompt-interactive.wds-list-item-prompt.negative:active {
145
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
146
+ }
147
+ .wds-list-item-prompt.positive,
148
+ .wds-list-item-prompt.discount,
149
+ .wds-list-item-prompt.savings {
150
+ background-color: var(--color-sentiment-positive-secondary);
151
+ color: var(--color-sentiment-positive-primary);
152
+ }
153
+ .wds-list-item-prompt.positive a,
154
+ .wds-list-item-prompt.discount a,
155
+ .wds-list-item-prompt.savings a {
156
+ color: var(--color-sentiment-positive-primary);
157
+ }
158
+ .wds-list-item-prompt.positive a:hover,
159
+ .wds-list-item-prompt.discount a:hover,
160
+ .wds-list-item-prompt.savings a:hover {
161
+ color: var(--color-sentiment-positive-primary-hover);
162
+ }
163
+ .wds-list-item-prompt.positive a:active,
164
+ .wds-list-item-prompt.discount a:active,
165
+ .wds-list-item-prompt.savings a:active {
166
+ color: var(--color-sentiment-positive-primary-active);
167
+ }
168
+ .np-prompt-interactive.wds-list-item-prompt.positive:hover,
169
+ .np-prompt-interactive.wds-list-item-prompt.discount:hover,
170
+ .np-prompt-interactive.wds-list-item-prompt.savings:hover {
171
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
172
+ }
173
+ .np-prompt-interactive.wds-list-item-prompt.positive:active,
174
+ .np-prompt-interactive.wds-list-item-prompt.discount:active,
175
+ .np-prompt-interactive.wds-list-item-prompt.savings:active {
176
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
177
+ }
178
+ .wds-list-item-prompt.neutral {
179
+ background-color: rgba(134,167,189,0.10196);
180
+ background-color: var(--color-background-neutral);
181
+ color: #37517e;
182
+ color: var(--color-content-primary);
183
+ }
184
+ .wds-list-item-prompt.neutral a {
185
+ color: #37517e;
186
+ color: var(--color-content-primary);
187
+ }
188
+ .np-prompt-interactive.wds-list-item-prompt.neutral:hover {
189
+ background-color: var(--color-background-neutral-hover);
190
+ }
191
+ .np-prompt-interactive.wds-list-item-prompt.neutral:active {
192
+ background-color: var(--color-background-neutral-active);
193
+ }
194
+ .wds-list-item-prompt.warning {
195
+ background-color: var(--color-sentiment-warning-secondary);
196
+ color: var(--color-sentiment-warning-content);
197
+ }
198
+ .wds-list-item-prompt.warning a {
199
+ color: var(--color-sentiment-warning-content);
200
+ }
201
+ .wds-list-item-prompt.warning a:hover {
202
+ color: var(--color-sentiment-warning-content-hover);
203
+ }
204
+ .wds-list-item-prompt.warning a:active {
205
+ color: var(--color-sentiment-warning-content-active);
206
+ }
207
+ .np-prompt-interactive.wds-list-item-prompt.warning:hover {
208
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
209
+ }
210
+ .np-prompt-interactive.wds-list-item-prompt.warning:active {
211
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
212
+ }