@transferwise/components 0.0.0-experimental-a656242 → 0.0.0-experimental-887f2e6

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 (154) hide show
  1. package/build/avatarLayout/AvatarLayout.js +9 -2
  2. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  3. package/build/avatarLayout/AvatarLayout.mjs +9 -2
  4. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  5. package/build/avatarView/AvatarView.js +1 -12
  6. package/build/avatarView/AvatarView.js.map +1 -1
  7. package/build/avatarView/AvatarView.mjs +1 -12
  8. package/build/avatarView/AvatarView.mjs.map +1 -1
  9. package/build/button/Button.js +78 -79
  10. package/build/button/Button.js.map +1 -1
  11. package/build/button/Button.mjs +79 -80
  12. package/build/button/Button.mjs.map +1 -1
  13. package/build/button/Button.resolver.js +78 -0
  14. package/build/button/Button.resolver.js.map +1 -0
  15. package/build/button/Button.resolver.mjs +76 -0
  16. package/build/button/Button.resolver.mjs.map +1 -0
  17. package/build/button/LegacyButton.js +114 -0
  18. package/build/button/LegacyButton.js.map +1 -0
  19. package/build/button/LegacyButton.mjs +112 -0
  20. package/build/button/LegacyButton.mjs.map +1 -0
  21. package/build/circularButton/CircularButton.js +21 -18
  22. package/build/circularButton/CircularButton.js.map +1 -1
  23. package/build/circularButton/CircularButton.mjs +22 -19
  24. package/build/circularButton/CircularButton.mjs.map +1 -1
  25. package/build/criticalBanner/CriticalCommsBanner.js +2 -2
  26. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  27. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -1
  28. package/build/definitionList/DefinitionList.js.map +1 -1
  29. package/build/definitionList/DefinitionList.mjs.map +1 -1
  30. package/build/header/Header.js +2 -2
  31. package/build/header/Header.js.map +1 -1
  32. package/build/header/Header.mjs +1 -1
  33. package/build/i18n/de.json +0 -1
  34. package/build/i18n/de.json.js +0 -1
  35. package/build/i18n/de.json.js.map +1 -1
  36. package/build/i18n/de.json.mjs +0 -1
  37. package/build/i18n/de.json.mjs.map +1 -1
  38. package/build/i18n/it.json +0 -1
  39. package/build/i18n/it.json.js +0 -1
  40. package/build/i18n/it.json.js.map +1 -1
  41. package/build/i18n/it.json.mjs +0 -1
  42. package/build/i18n/it.json.mjs.map +1 -1
  43. package/build/i18n/th.json +0 -1
  44. package/build/i18n/th.json.js +0 -1
  45. package/build/i18n/th.json.js.map +1 -1
  46. package/build/i18n/th.json.mjs +0 -1
  47. package/build/i18n/th.json.mjs.map +1 -1
  48. package/build/index.js +2 -2
  49. package/build/index.mjs +1 -1
  50. package/build/link/Link.js +8 -3
  51. package/build/link/Link.js.map +1 -1
  52. package/build/link/Link.mjs +8 -3
  53. package/build/link/Link.mjs.map +1 -1
  54. package/build/main.css +416 -17
  55. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js +1 -3
  56. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js.map +1 -1
  57. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs +1 -3
  58. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs.map +1 -1
  59. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js +1 -4
  60. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js.map +1 -1
  61. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs +1 -4
  62. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs.map +1 -1
  63. package/build/select/Select.js +5 -3
  64. package/build/select/Select.js.map +1 -1
  65. package/build/select/Select.mjs +4 -2
  66. package/build/select/Select.mjs.map +1 -1
  67. package/build/styles/avatarLayout/AvatarLayout.css +11 -0
  68. package/build/styles/button/Button.css +240 -16
  69. package/build/styles/button/Button.vars.css +55 -0
  70. package/build/styles/button/LegacyButton.css +23 -0
  71. package/build/styles/circularButton/CircularButton.css +158 -17
  72. package/build/styles/main.css +416 -17
  73. package/build/types/avatarLayout/AvatarLayout.d.ts +1 -2
  74. package/build/types/avatarLayout/AvatarLayout.d.ts.map +1 -1
  75. package/build/types/avatarLayout/index.d.ts +1 -0
  76. package/build/types/avatarLayout/index.d.ts.map +1 -1
  77. package/build/types/avatarView/AvatarView.d.ts.map +1 -1
  78. package/build/types/button/Button.d.ts +1 -23
  79. package/build/types/button/Button.d.ts.map +1 -1
  80. package/build/types/button/Button.resolver.d.ts +31 -0
  81. package/build/types/button/Button.resolver.d.ts.map +1 -0
  82. package/build/types/button/Button.types.d.ts +67 -0
  83. package/build/types/button/Button.types.d.ts.map +1 -0
  84. package/build/types/button/LegacyButton.d.ts +30 -0
  85. package/build/types/button/LegacyButton.d.ts.map +1 -0
  86. package/build/types/button/index.d.ts +2 -2
  87. package/build/types/button/index.d.ts.map +1 -1
  88. package/build/types/circularButton/CircularButton.d.ts +4 -11
  89. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  90. package/build/types/definitionList/DefinitionList.d.ts +2 -1
  91. package/build/types/definitionList/DefinitionList.d.ts.map +1 -1
  92. package/build/types/link/Link.d.ts +2 -2
  93. package/build/types/link/Link.d.ts.map +1 -1
  94. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.d.ts.map +1 -1
  95. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts +1 -1
  96. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts.map +1 -1
  97. package/build/types/primitives/PrimitiveButton/src/PrimitiveButton.d.ts.map +1 -1
  98. package/build/types/select/Select.d.ts.map +1 -1
  99. package/build/upload/steps/completeStep/completeStep.js +2 -2
  100. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  101. package/build/upload/steps/completeStep/completeStep.mjs +1 -1
  102. package/build/upload/steps/processingStep/processingStep.js +2 -2
  103. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  104. package/build/upload/steps/processingStep/processingStep.mjs +1 -1
  105. package/build/uploadInput/UploadInput.js +3 -3
  106. package/build/uploadInput/UploadInput.js.map +1 -1
  107. package/build/uploadInput/UploadInput.mjs +1 -1
  108. package/package.json +3 -3
  109. package/src/avatarLayout/AvatarLayout.css +11 -0
  110. package/src/avatarLayout/AvatarLayout.less +18 -1
  111. package/src/avatarLayout/AvatarLayout.tsx +11 -3
  112. package/src/avatarLayout/index.ts +1 -0
  113. package/src/avatarView/AvatarView.tsx +1 -15
  114. package/src/button/Button.css +240 -16
  115. package/src/button/Button.less +208 -14
  116. package/src/button/Button.resolver.tsx +120 -0
  117. package/src/button/Button.spec.tsx +54 -231
  118. package/src/button/Button.story.tsx +610 -137
  119. package/src/button/Button.tsx +88 -132
  120. package/src/button/Button.types.ts +88 -0
  121. package/src/button/Button.vars.css +55 -0
  122. package/src/button/Button.vars.less +69 -0
  123. package/src/button/LegacyButton.css +23 -0
  124. package/src/button/LegacyButton.less +24 -0
  125. package/src/button/LegacyButton.spec.tsx +146 -0
  126. package/src/button/LegacyButton.story.tsx +224 -0
  127. package/src/button/LegacyButton.tsx +161 -0
  128. package/src/button/index.ts +2 -3
  129. package/src/circularButton/CircularButton.css +158 -17
  130. package/src/circularButton/CircularButton.less +91 -22
  131. package/src/circularButton/CircularButton.story.tsx +24 -45
  132. package/src/circularButton/CircularButton.tsx +25 -38
  133. package/src/circularButton/_button-label-states.less +34 -0
  134. package/src/definitionList/DefinitionList.spec.js +91 -0
  135. package/src/definitionList/DefinitionList.story.tsx +57 -57
  136. package/src/definitionList/DefinitionList.tsx +1 -1
  137. package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +1 -1
  138. package/src/i18n/de.json +0 -1
  139. package/src/i18n/it.json +0 -1
  140. package/src/i18n/th.json +0 -1
  141. package/src/iconButton/IconButton.story.tsx +6 -6
  142. package/src/inputs/SelectInput.story.tsx +1 -1
  143. package/src/link/Link.tsx +15 -6
  144. package/src/main.css +416 -17
  145. package/src/main.less +1 -0
  146. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx +1 -7
  147. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.ts +1 -1
  148. package/src/primitives/PrimitiveAnchor/test/PrimitiveAnchor.spec.tsx +1 -3
  149. package/src/primitives/PrimitiveButton/src/PrimitiveButton.tsx +1 -8
  150. package/src/primitives/PrimitiveButton/test/PrimitiveButton.spec.tsx +2 -5
  151. package/src/select/Select.tsx +1 -0
  152. package/src/slidingPanel/SlidingPanel.spec.js +56 -0
  153. package/src/button/__snapshots__/Button.spec.tsx.snap +0 -309
  154. package/src/slidingPanel/SlidingPanel.spec.tsx +0 -69
@@ -54,7 +54,6 @@ var th = {
54
54
  "neptune.UploadButton.allFileTypes": "ไฟล์ทุกประเภท",
55
55
  "neptune.UploadButton.dropFiles": "วางไฟล์เพื่อเริ่มการอัปโหลด",
56
56
  "neptune.UploadButton.instructions": "{fileTypes} น้อยกว่า {size} MB",
57
- "neptune.UploadButton.maximumFiles": "สูงสุด {maxFiles} ไฟล์",
58
57
  "neptune.UploadButton.uploadFile": "อัปโหลดไฟล์",
59
58
  "neptune.UploadButton.uploadFiles": "อัปโหลดไฟล์",
60
59
  "neptune.UploadInput.deleteModalBody": "การลบไฟล์นี้จะลบออกจากระบบของเรา",
@@ -1 +1 @@
1
- {"version":3,"file":"th.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"th.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/build/index.js CHANGED
@@ -21,7 +21,7 @@ require('react/jsx-runtime');
21
21
  var Image = require('./image/Image.js');
22
22
  require('@transferwise/icons');
23
23
  var Body = require('./body/Body.js');
24
- var Button = require('./button/Button.js');
24
+ var Button_resolver = require('./button/Button.resolver.js');
25
25
  var IconButton = require('./iconButton/IconButton.js');
26
26
  var Carousel = require('./carousel/Carousel.js');
27
27
  var Card = require('./card/Card.js');
@@ -164,7 +164,7 @@ Object.defineProperty(exports, "Breakpoint", {
164
164
  });
165
165
  exports.Image = Image.default;
166
166
  exports.Body = Body;
167
- exports.Button = Button;
167
+ exports.Button = Button_resolver;
168
168
  exports.IconButton = IconButton;
169
169
  exports.Carousel = Carousel;
170
170
  exports.Card = Card;
package/build/index.mjs CHANGED
@@ -19,7 +19,7 @@ import 'react/jsx-runtime';
19
19
  export { default as Image } from './image/Image.mjs';
20
20
  import '@transferwise/icons';
21
21
  export { default as Body } from './body/Body.mjs';
22
- export { default as Button } from './button/Button.mjs';
22
+ export { default as Button } from './button/Button.resolver.mjs';
23
23
  export { default as IconButton } from './iconButton/IconButton.mjs';
24
24
  export { default as Carousel } from './carousel/Carousel.mjs';
25
25
  export { default as Card } from './card/Card.mjs';
@@ -3,6 +3,8 @@
3
3
  var icons = require('@transferwise/icons');
4
4
  var clsx = require('clsx');
5
5
  var reactIntl = require('react-intl');
6
+ require('../primitives/PrimitiveButton/src/PrimitiveButton.js');
7
+ var PrimitiveAnchor = require('../primitives/PrimitiveAnchor/src/PrimitiveAnchor.js');
6
8
  var Link_messages = require('./Link.messages.js');
7
9
  var jsxRuntime = require('react/jsx-runtime');
8
10
 
@@ -16,14 +18,17 @@ const Link = ({
16
18
  onClick,
17
19
  ...props
18
20
  }) => {
19
- const isBlank = target === '_blank';
20
21
  const {
21
22
  formatMessage
22
23
  } = reactIntl.useIntl();
23
- return /*#__PURE__*/jsxRuntime.jsxs("a", {
24
+ const isBlank = target === '_blank';
25
+ const classNames = clsx.clsx('np-link', 'd-inline-flex', {
26
+ [`np-text-${type}`]: type
27
+ }, className);
28
+ return /*#__PURE__*/jsxRuntime.jsxs(PrimitiveAnchor, {
24
29
  href: href,
25
30
  target: target,
26
- className: clsx.clsx('np-link', type ? `np-text-${type}` : undefined, 'd-inline-flex', className),
31
+ className: classNames,
27
32
  "aria-label": ariaLabel,
28
33
  rel: isBlank ? 'noreferrer' : undefined,
29
34
  onClick: onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../src/link/Link.tsx"],"sourcesContent":["import { NavigateAway as NavigateAwayIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { AnchorHTMLAttributes } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { LinkLarge, LinkDefault } from '../common';\n\nimport messages from './Link.messages';\n\nexport type Props = AnchorHTMLAttributes<HTMLAnchorElement> & { type?: LinkLarge | LinkDefault };\n\n/**\n * Standard Link component with navigate away icon\n *\n * Documentation: https://transferwise.github.io/neptune-web/components/content/Link\n */\nconst Link = ({\n className,\n children,\n href,\n target,\n type,\n 'aria-label': ariaLabel,\n onClick,\n ...props\n}: Props) => {\n const isBlank = target === '_blank';\n\n const { formatMessage } = useIntl();\n\n return (\n <a\n href={href}\n target={target}\n className={clsx('np-link', type ? `np-text-${type}` : undefined, 'd-inline-flex', className)}\n aria-label={ariaLabel}\n rel={isBlank ? 'noreferrer' : undefined}\n onClick={onClick}\n {...props}\n >\n {children} {isBlank && <NavigateAwayIcon title={formatMessage(messages.opensInNewTab)} />}\n </a>\n );\n};\n\nexport default Link;\n"],"names":["Link","className","children","href","target","type","ariaLabel","onClick","props","isBlank","formatMessage","useIntl","_jsxs","clsx","undefined","rel","_jsx","NavigateAwayIcon","title","messages","opensInNewTab"],"mappings":";;;;;;;;AAgBMA,MAAAA,IAAI,GAAGA,CAAC;EACZC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,IAAI;AACJ,EAAA,YAAY,EAAEC,SAAS;EACvBC,OAAO;EACP,GAAGC,KAAAA;AACG,CAAA,KAAI;AACV,EAAA,MAAMC,OAAO,GAAGL,MAAM,KAAK,QAAQ,CAAA;EAEnC,MAAM;AAAEM,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AAEnC,EAAA,oBACEC,eAAA,CAAA,GAAA,EAAA;AACET,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,SAAS,EAAEY,SAAI,CAAC,SAAS,EAAER,IAAI,GAAG,CAAA,QAAA,EAAWA,IAAI,CAAA,CAAE,GAAGS,SAAS,EAAE,eAAe,EAAEb,SAAS,CAAE;AAC7F,IAAA,YAAA,EAAYK,SAAU;AACtBS,IAAAA,GAAG,EAAEN,OAAO,GAAG,YAAY,GAAGK,SAAU;AACxCP,IAAAA,OAAO,EAAEA,OAAQ;AAAA,IAAA,GACbC,KAAK;IAAAN,QAAA,EAAA,CAERA,QAAQ,EAAE,GAAA,EAACO,OAAO,iBAAIO,cAAA,CAACC,kBAAgB,EAAA;AAACC,MAAAA,KAAK,EAAER,aAAa,CAACS,aAAQ,CAACC,aAAa,CAAA;AAAE,MAAG,CAAA;AAAA,GACxF,CAAC,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"Link.js","sources":["../../src/link/Link.tsx"],"sourcesContent":["import { NavigateAway as NavigateAwayIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\nimport { PrimitiveAnchor } from '../primitives';\nimport type { PrimitiveAnchorProps } from '../primitives';\n\nimport { LinkLarge, LinkDefault } from '../common';\n\nimport messages from './Link.messages';\n\nexport type Props = PrimitiveAnchorProps & { type?: LinkLarge | LinkDefault };\n\n/**\n * Standard Link component with navigate away icon\n *\n * Documentation: https://transferwise.github.io/neptune-web/components/content/Link\n */\nconst Link = ({\n className,\n children,\n href,\n target,\n type,\n 'aria-label': ariaLabel,\n onClick,\n ...props\n}: Props) => {\n const { formatMessage } = useIntl();\n const isBlank = target === '_blank';\n\n const classNames = clsx(\n 'np-link',\n 'd-inline-flex',\n {\n [`np-text-${type}`]: type,\n },\n className,\n );\n\n return (\n <PrimitiveAnchor\n href={href}\n target={target}\n className={classNames}\n aria-label={ariaLabel}\n rel={isBlank ? 'noreferrer' : undefined}\n onClick={onClick}\n {...props}\n >\n {children} {isBlank && <NavigateAwayIcon title={formatMessage(messages.opensInNewTab)} />}\n </PrimitiveAnchor>\n );\n};\n\nexport default Link;\n"],"names":["Link","className","children","href","target","type","ariaLabel","onClick","props","formatMessage","useIntl","isBlank","classNames","clsx","_jsxs","PrimitiveAnchor","rel","undefined","_jsx","NavigateAwayIcon","title","messages","opensInNewTab"],"mappings":";;;;;;;;;;AAiBMA,MAAAA,IAAI,GAAGA,CAAC;EACZC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,IAAI;AACJ,EAAA,YAAY,EAAEC,SAAS;EACvBC,OAAO;EACP,GAAGC,KAAAA;AACG,CAAA,KAAI;EACV,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,OAAO,GAAGP,MAAM,KAAK,QAAQ,CAAA;AAEnC,EAAA,MAAMQ,UAAU,GAAGC,SAAI,CACrB,SAAS,EACT,eAAe,EACf;IACE,CAAC,CAAA,QAAA,EAAWR,IAAI,CAAA,CAAE,GAAGA,IAAAA;GACtB,EACDJ,SAAS,CACV,CAAA;EAED,oBACEa,eAAA,CAACC,eAAe,EAAA;AACdZ,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,SAAS,EAAEW,UAAW;AACtB,IAAA,YAAA,EAAYN,SAAU;AACtBU,IAAAA,GAAG,EAAEL,OAAO,GAAG,YAAY,GAAGM,SAAU;AACxCV,IAAAA,OAAO,EAAEA,OAAQ;AAAA,IAAA,GACbC,KAAK;IAAAN,QAAA,EAAA,CAERA,QAAQ,EAAE,GAAA,EAACS,OAAO,iBAAIO,cAAA,CAACC,kBAAgB,EAAA;AAACC,MAAAA,KAAK,EAAEX,aAAa,CAACY,aAAQ,CAACC,aAAa,CAAA;AAAE,MAAG,CAAA;AAAA,GAC1E,CAAC,CAAA;AAEtB;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { NavigateAway } from '@transferwise/icons';
2
2
  import { clsx } from 'clsx';
3
3
  import { useIntl } from 'react-intl';
4
+ import '../primitives/PrimitiveButton/src/PrimitiveButton.mjs';
5
+ import PrimitiveAnchor from '../primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs';
4
6
  import messages from './Link.messages.mjs';
5
7
  import { jsxs, jsx } from 'react/jsx-runtime';
6
8
 
@@ -14,14 +16,17 @@ const Link = ({
14
16
  onClick,
15
17
  ...props
16
18
  }) => {
17
- const isBlank = target === '_blank';
18
19
  const {
19
20
  formatMessage
20
21
  } = useIntl();
21
- return /*#__PURE__*/jsxs("a", {
22
+ const isBlank = target === '_blank';
23
+ const classNames = clsx('np-link', 'd-inline-flex', {
24
+ [`np-text-${type}`]: type
25
+ }, className);
26
+ return /*#__PURE__*/jsxs(PrimitiveAnchor, {
22
27
  href: href,
23
28
  target: target,
24
- className: clsx('np-link', type ? `np-text-${type}` : undefined, 'd-inline-flex', className),
29
+ className: classNames,
25
30
  "aria-label": ariaLabel,
26
31
  rel: isBlank ? 'noreferrer' : undefined,
27
32
  onClick: onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"Link.mjs","sources":["../../src/link/Link.tsx"],"sourcesContent":["import { NavigateAway as NavigateAwayIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { AnchorHTMLAttributes } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { LinkLarge, LinkDefault } from '../common';\n\nimport messages from './Link.messages';\n\nexport type Props = AnchorHTMLAttributes<HTMLAnchorElement> & { type?: LinkLarge | LinkDefault };\n\n/**\n * Standard Link component with navigate away icon\n *\n * Documentation: https://transferwise.github.io/neptune-web/components/content/Link\n */\nconst Link = ({\n className,\n children,\n href,\n target,\n type,\n 'aria-label': ariaLabel,\n onClick,\n ...props\n}: Props) => {\n const isBlank = target === '_blank';\n\n const { formatMessage } = useIntl();\n\n return (\n <a\n href={href}\n target={target}\n className={clsx('np-link', type ? `np-text-${type}` : undefined, 'd-inline-flex', className)}\n aria-label={ariaLabel}\n rel={isBlank ? 'noreferrer' : undefined}\n onClick={onClick}\n {...props}\n >\n {children} {isBlank && <NavigateAwayIcon title={formatMessage(messages.opensInNewTab)} />}\n </a>\n );\n};\n\nexport default Link;\n"],"names":["Link","className","children","href","target","type","ariaLabel","onClick","props","isBlank","formatMessage","useIntl","_jsxs","clsx","undefined","rel","_jsx","NavigateAwayIcon","title","messages","opensInNewTab"],"mappings":";;;;;;AAgBMA,MAAAA,IAAI,GAAGA,CAAC;EACZC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,IAAI;AACJ,EAAA,YAAY,EAAEC,SAAS;EACvBC,OAAO;EACP,GAAGC,KAAAA;AACG,CAAA,KAAI;AACV,EAAA,MAAMC,OAAO,GAAGL,MAAM,KAAK,QAAQ,CAAA;EAEnC,MAAM;AAAEM,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;AAEnC,EAAA,oBACEC,IAAA,CAAA,GAAA,EAAA;AACET,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,SAAS,EAAEY,IAAI,CAAC,SAAS,EAAER,IAAI,GAAG,CAAA,QAAA,EAAWA,IAAI,CAAA,CAAE,GAAGS,SAAS,EAAE,eAAe,EAAEb,SAAS,CAAE;AAC7F,IAAA,YAAA,EAAYK,SAAU;AACtBS,IAAAA,GAAG,EAAEN,OAAO,GAAG,YAAY,GAAGK,SAAU;AACxCP,IAAAA,OAAO,EAAEA,OAAQ;AAAA,IAAA,GACbC,KAAK;IAAAN,QAAA,EAAA,CAERA,QAAQ,EAAE,GAAA,EAACO,OAAO,iBAAIO,GAAA,CAACC,YAAgB,EAAA;AAACC,MAAAA,KAAK,EAAER,aAAa,CAACS,QAAQ,CAACC,aAAa,CAAA;AAAE,MAAG,CAAA;AAAA,GACxF,CAAC,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"Link.mjs","sources":["../../src/link/Link.tsx"],"sourcesContent":["import { NavigateAway as NavigateAwayIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\nimport { PrimitiveAnchor } from '../primitives';\nimport type { PrimitiveAnchorProps } from '../primitives';\n\nimport { LinkLarge, LinkDefault } from '../common';\n\nimport messages from './Link.messages';\n\nexport type Props = PrimitiveAnchorProps & { type?: LinkLarge | LinkDefault };\n\n/**\n * Standard Link component with navigate away icon\n *\n * Documentation: https://transferwise.github.io/neptune-web/components/content/Link\n */\nconst Link = ({\n className,\n children,\n href,\n target,\n type,\n 'aria-label': ariaLabel,\n onClick,\n ...props\n}: Props) => {\n const { formatMessage } = useIntl();\n const isBlank = target === '_blank';\n\n const classNames = clsx(\n 'np-link',\n 'd-inline-flex',\n {\n [`np-text-${type}`]: type,\n },\n className,\n );\n\n return (\n <PrimitiveAnchor\n href={href}\n target={target}\n className={classNames}\n aria-label={ariaLabel}\n rel={isBlank ? 'noreferrer' : undefined}\n onClick={onClick}\n {...props}\n >\n {children} {isBlank && <NavigateAwayIcon title={formatMessage(messages.opensInNewTab)} />}\n </PrimitiveAnchor>\n );\n};\n\nexport default Link;\n"],"names":["Link","className","children","href","target","type","ariaLabel","onClick","props","formatMessage","useIntl","isBlank","classNames","clsx","_jsxs","PrimitiveAnchor","rel","undefined","_jsx","NavigateAwayIcon","title","messages","opensInNewTab"],"mappings":";;;;;;;;AAiBMA,MAAAA,IAAI,GAAGA,CAAC;EACZC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,IAAI;AACJ,EAAA,YAAY,EAAEC,SAAS;EACvBC,OAAO;EACP,GAAGC,KAAAA;AACG,CAAA,KAAI;EACV,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,OAAO,GAAGP,MAAM,KAAK,QAAQ,CAAA;AAEnC,EAAA,MAAMQ,UAAU,GAAGC,IAAI,CACrB,SAAS,EACT,eAAe,EACf;IACE,CAAC,CAAA,QAAA,EAAWR,IAAI,CAAA,CAAE,GAAGA,IAAAA;GACtB,EACDJ,SAAS,CACV,CAAA;EAED,oBACEa,IAAA,CAACC,eAAe,EAAA;AACdZ,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,SAAS,EAAEW,UAAW;AACtB,IAAA,YAAA,EAAYN,SAAU;AACtBU,IAAAA,GAAG,EAAEL,OAAO,GAAG,YAAY,GAAGM,SAAU;AACxCV,IAAAA,OAAO,EAAEA,OAAQ;AAAA,IAAA,GACbC,KAAK;IAAAN,QAAA,EAAA,CAERA,QAAQ,EAAE,GAAA,EAACS,OAAO,iBAAIO,GAAA,CAACC,YAAgB,EAAA;AAACC,MAAAA,KAAK,EAAEX,aAAa,CAACY,QAAQ,CAACC,aAAa,CAAA;AAAE,MAAG,CAAA;AAAA,GAC1E,CAAC,CAAA;AAEtB;;;;"}
package/build/main.css CHANGED
@@ -518,10 +518,18 @@ div.critical-comms .critical-comms-body {
518
518
  -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
519
519
  mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
520
520
  }
521
+ [dir="rtl"] .np-avatar-layout-diagonal-mask {
522
+ -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
523
+ mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
524
+ }
521
525
  .np-avatar-layout-diagonal-child {
522
526
  margin-left: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
523
527
  margin-top: calc(var(--np-avatar-layout-size) - var(--np-avatar-size));
524
528
  }
529
+ [dir="rtl"] .np-avatar-layout-diagonal-child {
530
+ margin-left: 0;
531
+ margin-right: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
532
+ }
525
533
  .np-avatar-layout-horizontal {
526
534
  width: calc(var(--np-avatar-size) * 2 - var(--np-avatar-offset) - 2px);
527
535
  height: var(--np-avatar-layout-size);
@@ -535,6 +543,9 @@ div.critical-comms .critical-comms-body {
535
543
  .np-avatar-layout-horizontal-child {
536
544
  margin-left: calc(var(--np-avatar-offset) * -1);
537
545
  }
546
+ [dir="rtl"] .np-avatar-layout-horizontal-child {
547
+ margin-right: calc(var(--np-avatar-offset) * -1);
548
+ }
538
549
  .np-icon-button {
539
550
  border: none;
540
551
  }
@@ -705,6 +716,253 @@ div.critical-comms .critical-comms-body {
705
716
  .np-btn.disabled[class] {
706
717
  pointer-events: auto;
707
718
  }
719
+ :root {
720
+ --Button-background: var(--color-interactive-accent);
721
+ --Button-background-hover: var(--color-interactive-accent-hover);
722
+ --Button-background-active: var(--color-interactive-accent-active);
723
+ --Button-color: var(--color-interactive-control);
724
+ --Button-padding: var(--size-8) var(--size-12);
725
+ --Button-border-radius: var(--radius-full);
726
+ --Button-size-small-padding: 5px var(--size-12);
727
+ --Button-size-medium-padding: var(--size-8) var(--size-12);
728
+ --Button-size-large-padding: var(--size-12) var(--size-16);
729
+ --Button-avatar-border-color: var(--color-border-neutral);
730
+ --Button-transition-duration: 150ms;
731
+ --Button-transition-easing: ease-in-out;
732
+ --Button-secondary-background: var(--color-interactive-neutral);
733
+ --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
734
+ --Button-secondary-background-active: var(--color-interactive-neutral-active);
735
+ --Button-secondary-color: var(--color-interactive-primary);
736
+ --Button-tertiary-background: var(--color-background-neutral);
737
+ --Button-tertiary-background-hover: var(--color-background-neutral-hover);
738
+ --Button-tertiary-background-active: var(--color-background-neutral-active);
739
+ --Button-tertiary-color: var(--color-content-primary);
740
+ --Button-minimal-background: transparent;
741
+ --Button-minimal-background-hover: var(--color-background-screen-hover);
742
+ --Button-minimal-background-active: var(--color-background-screen-active);
743
+ --Button-minimal-color: var(--color-interactive-primary);
744
+ --Button-primary-negative-background: var(--color-sentiment-negative-primary);
745
+ --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
746
+ --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
747
+ --Button-primary-negative-color: var(--color-contrast);
748
+ --Button-primary-netative-avatar-border-color: rgba(255,255,255,0.2);
749
+ --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
750
+ --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
751
+ --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
752
+ --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
753
+ --Button-secondary-netative-avatar-border-color: rgba(168,32,13,0.12157);
754
+ }
755
+ .np-theme-personal--dark .wds-Button {
756
+ --Button-primary-netative-avatar-border-color: rgba(14,15,12,0.12157);
757
+ }
758
+ .np-theme-personal--forest-green .wds-Button {
759
+ --color-interactive-neutral: rgba(159,232,112,0.2);
760
+ --color-interactive-neutral-hover: rgba(205,255,173,0.2);
761
+ --color-interactive-neutral-active: rgba(236,255,224,0.2);
762
+ --color-sentiment-negative-secondary: rgba(255,196,194,0.2);
763
+ --color-sentiment-negative-secondary-hover: rgba(255,220,219,0.2);
764
+ --color-sentiment-negative-secondary-active: rgba(255,235,235,0.2);
765
+ --Button-primary-netative-avatar-border-color: rgba(14,15,12,0.12157);
766
+ --Button-secondary-netative-avatar-border-color: rgba(14,15,12,0.12157);
767
+ }
768
+ .np-theme-personal--bright-green .wds-Button {
769
+ --color-contrast: #FFFFFF;
770
+ --Button-secondary-color: var(--color-interactive-control);
771
+ --Button-secondary-negative-color: var(--color-contrast);
772
+ --Button-secondary-netative-avatar-border-color: var(--Button-primary-netative-avatar-border-color);
773
+ }
774
+ /* Button Styles */
775
+ .wds-Button {
776
+ display: inline-flex;
777
+ flex: none;
778
+ width: auto;
779
+ align-items: center;
780
+ justify-content: center;
781
+ vertical-align: middle;
782
+ text-align: center;
783
+ -webkit-text-decoration: none;
784
+ text-decoration: none;
785
+ white-space: nowrap;
786
+ word-wrap: break-word;
787
+ -webkit-appearance: none;
788
+ -moz-appearance: none;
789
+ appearance: none;
790
+ background-color: #00a2dd;
791
+ background-color: var(--Button-background);
792
+ border: none;
793
+ border-radius: 9999px;
794
+ border-radius: var(--Button-border-radius);
795
+ color: var(--Button-color);
796
+ cursor: pointer;
797
+ padding: 8px 12px;
798
+ padding: var(--Button-padding);
799
+ transition: color, background-color 150ms ease-in-out;
800
+ transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
801
+ }
802
+ .wds-Button:focus {
803
+ -webkit-text-decoration: none;
804
+ text-decoration: none;
805
+ }
806
+ .wds-Button:hover {
807
+ background-color: #008fc9;
808
+ background-color: var(--Button-background-hover);
809
+ -webkit-text-decoration: none;
810
+ text-decoration: none;
811
+ }
812
+ .wds-Button:active {
813
+ background-color: #0081ba;
814
+ background-color: var(--Button-background-active);
815
+ -webkit-text-decoration: none;
816
+ text-decoration: none;
817
+ }
818
+ .wds-Button.wds-Button--disabled,
819
+ .wds-Button:disabled {
820
+ mix-blend-mode: luminosity;
821
+ opacity: 0.45;
822
+ cursor: not-allowed;
823
+ }
824
+ .wds-Button.wds-Button--disabled:hover,
825
+ .wds-Button:disabled:hover,
826
+ .wds-Button.wds-Button--disabled:active,
827
+ .wds-Button:disabled:active {
828
+ background-color: #00a2dd;
829
+ background-color: var(--Button-background);
830
+ }
831
+ .wds-Button--secondary {
832
+ --Button-background: var(--Button-secondary-background);
833
+ --Button-background-hover: var(--Button-secondary-background-hover);
834
+ --Button-background-active: var(--Button-secondary-background-active);
835
+ --Button-color: var(--Button-secondary-color);
836
+ }
837
+ .wds-Button--tertiary {
838
+ --Button-background: var(--Button-tertiary-background);
839
+ --Button-background-hover: var(--Button-tertiary-background-hover);
840
+ --Button-background-active: var(--Button-tertiary-background-active);
841
+ --Button-color: var(--Button-tertiary-color);
842
+ }
843
+ .wds-Button--tertiary .wds-Button-icon--end {
844
+ color: var(--color-interactive-primary);
845
+ }
846
+ .wds-Button--minimal {
847
+ --Button-background: var(--Button-minimal-background);
848
+ --Button-background-hover: var(--Button-minimal-background-hover);
849
+ --Button-background-active: var(--Button-minimal-background-active);
850
+ --Button-color: var(--Button-minimal-color);
851
+ -webkit-text-decoration: underline;
852
+ text-decoration: underline;
853
+ text-underline-offset: 3px;
854
+ text-decoration-thickness: 1px;
855
+ }
856
+ .wds-Button--minimal:hover,
857
+ .wds-Button--minimal:hover:active {
858
+ -webkit-text-decoration: underline;
859
+ text-decoration: underline;
860
+ }
861
+ .wds-Button--negative.wds-Button--primary {
862
+ --Button-background: var(--Button-primary-negative-background);
863
+ --Button-background-hover: var(--Button-primary-negative-background-hover);
864
+ --Button-background-active: var(--Button-primary-negative-background-active);
865
+ --Button-color: var(--Button-primary-negative-color);
866
+ --Button-avatar-border-color: var(--Button-primary-netative-avatar-border-color);
867
+ }
868
+ .wds-Button--negative.wds-Button--secondary {
869
+ --Button-background: var(--Button-secondary-negative-background);
870
+ --Button-background-hover: var(--Button-secondary-negative-background-hover);
871
+ --Button-background-active: var(--Button-secondary-negative-background-active);
872
+ --Button-color: var(--Button-secondary-negative-color);
873
+ --Button-avatar-border-color: var(--Button-secondary-netative-avatar-border-color);
874
+ }
875
+ .wds-Button--small {
876
+ --Button-padding: var(--Button-size-small-padding);
877
+ }
878
+ .wds-Button--small .wds-Button-icon--start {
879
+ margin-right: 4px;
880
+ margin-right: var(--size-4);
881
+ }
882
+ [dir="rtl"] .wds-Button--small .wds-Button-icon--start {
883
+ margin-right: 0;
884
+ margin-left: 4px;
885
+ margin-left: var(--size-4);
886
+ }
887
+ .wds-Button--medium {
888
+ --Button-padding: var(--Button-size-medium-padding);
889
+ }
890
+ .wds-Button--large {
891
+ --Button-padding: var(--Button-size-large-padding);
892
+ }
893
+ .wds-Button--block {
894
+ width: 100%;
895
+ }
896
+ .wds-Button-avatars {
897
+ display: inline-flex;
898
+ margin-right: 5px;
899
+ margin-left: calc(4px * -1);
900
+ margin-left: calc(var(--size-4) * -1);
901
+ }
902
+ [dir="rtl"] .wds-Button-avatars {
903
+ margin-right: 0;
904
+ margin-left: 5px;
905
+ }
906
+ .wds-Button-avatars .np-circle {
907
+ --circle-border-color: var(--Button-avatar-border-color);
908
+ }
909
+ .wds-Button-avatars .np-avatar-view .np-avatar-view-content {
910
+ color: var(--Button-color);
911
+ }
912
+ .wds-Button-icon {
913
+ display: inline-block;
914
+ }
915
+ .wds-Button-icon--start {
916
+ margin-right: 8px;
917
+ margin-right: var(--size-8);
918
+ }
919
+ [dir="rtl"] .wds-Button-icon--start {
920
+ margin-right: 0;
921
+ margin-left: 8px;
922
+ margin-left: var(--size-8);
923
+ }
924
+ .wds-Button-icon--end {
925
+ margin-left: 4px;
926
+ margin-left: var(--size-4);
927
+ }
928
+ [dir="rtl"] .wds-Button-icon--end {
929
+ margin-left: 0;
930
+ margin-right: 4px;
931
+ margin-right: var(--size-4);
932
+ }
933
+ .wds-Button-content {
934
+ position: relative;
935
+ }
936
+ .wds-Button-content--loading .wds-Button-label,
937
+ .wds-Button-content--loading .wds-Button-media,
938
+ .wds-Button-content--loading .wds-Button-icon {
939
+ visibility: hidden;
940
+ opacity: 0;
941
+ }
942
+ .wds-Button-label {
943
+ display: flex;
944
+ justify-content: center;
945
+ align-items: center;
946
+ position: relative;
947
+ }
948
+ .wds-Button-loader {
949
+ position: absolute;
950
+ display: flex;
951
+ justify-content: center;
952
+ align-items: center;
953
+ width: 100%;
954
+ height: 100%;
955
+ }
956
+ .wds-Button-loader .process-circle {
957
+ stroke: var(--Button-color);
958
+ }
959
+ /* RTL Styles */
960
+ [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right {
961
+ transform: rotate(180deg);
962
+ }
963
+ [dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left {
964
+ transform: rotate(180deg);
965
+ }
708
966
  .np-card {
709
967
  overflow: hidden;
710
968
  transition-property: transform, box-shadow;
@@ -1184,34 +1442,175 @@ div.critical-comms .critical-comms-body {
1184
1442
  display: inline-flex;
1185
1443
  flex-direction: column;
1186
1444
  align-items: center;
1445
+ text-align: center;
1187
1446
  cursor: pointer;
1447
+ position: relative;
1448
+ }
1449
+ .np-circular-btn .tw-icon {
1450
+ position: absolute;
1451
+ top: 16px;
1452
+ top: var(--size-16);
1453
+ pointer-events: none;
1454
+ color: white;
1455
+ transition: color 0.15s ease-in-out;
1456
+ width: 100%;
1457
+ left: 0;
1458
+ }
1459
+ [dir="rtl"] .np-circular-btn .tw-icon {
1460
+ right: 0;
1461
+ left: auto;
1462
+ left: initial;
1463
+ }
1464
+ @media (max-width: 320px) {
1465
+ .np-circular-btn .tw-icon {
1466
+ top: 12px;
1467
+ top: var(--size-12);
1468
+ }
1469
+ }
1470
+ .np-circular-btn .tw-icon > svg {
1471
+ margin: 0 auto;
1472
+ }
1473
+ .np-theme-personal .np-circular-btn {
1474
+ /* stylelint-disable-next-line no-duplicate-selectors */
1475
+ }
1476
+ .np-theme-personal .np-circular-btn .tw-icon,
1477
+ .np-theme-personal .np-circular-btn .tw-icon:hover,
1478
+ .np-theme-personal .np-circular-btn .tw-icon:active {
1479
+ color: var(--color-interactive-control);
1480
+ }
1481
+ .np-theme-personal .np-circular-btn.negative .tw-icon,
1482
+ .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1483
+ .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):active .tw-icon {
1484
+ color: var(--color-contrast) !important;
1485
+ }
1486
+ .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled) .tw-icon {
1487
+ color: var(--color-sentiment-negative) !important;
1488
+ }
1489
+ .np-circular-btn.accent .np-circular-btn__label {
1490
+ color: #00a2dd;
1491
+ color: var(--color-interactive-accent);
1492
+ }
1493
+ .np-circular-btn.accent:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1494
+ color: #008fc9;
1495
+ color: var(--color-interactive-accent-hover);
1496
+ }
1497
+ .np-circular-btn.accent:active .np-circular-btn__label,
1498
+ .np-circular-btn.accent input[type="button"]:active ~ .np-circular-btn__label {
1499
+ color: #0081ba;
1500
+ color: var(--color-interactive-accent-active);
1501
+ }
1502
+ .np-circular-btn.accent.secondary .tw-icon {
1503
+ color: #00a2dd;
1504
+ color: var(--color-interactive-accent);
1188
1505
  }
1189
- .np-circular-btn-primary-default .np-circular-btn-label,
1190
- .np-circular-btn-secondary-default .np-circular-btn-label {
1506
+ .np-circular-btn.accent.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1507
+ .np-circular-btn.accent.secondary input[type="button"]:active + .tw-icon {
1508
+ color: white;
1509
+ }
1510
+ .np-circular-btn.positive .np-circular-btn__label {
1511
+ color: #2ead4b;
1512
+ color: var(--color-interactive-positive);
1513
+ }
1514
+ .np-circular-btn.positive:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1515
+ color: #069939;
1516
+ color: var(--color-interactive-positive-hover);
1517
+ }
1518
+ .np-circular-btn.positive:active .np-circular-btn__label,
1519
+ .np-circular-btn.positive input[type="button"]:active ~ .np-circular-btn__label {
1520
+ color: #008b2b;
1521
+ color: var(--color-interactive-positive-active);
1522
+ }
1523
+ .np-circular-btn.positive.secondary .tw-icon {
1524
+ color: #2ead4b;
1525
+ color: var(--color-interactive-positive);
1526
+ }
1527
+ .np-circular-btn.positive.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1528
+ .np-circular-btn.positive.secondary input[type="button"]:active + .tw-icon {
1529
+ color: white;
1530
+ }
1531
+ .np-circular-btn.negative .np-circular-btn__label {
1532
+ color: #e74848;
1533
+ color: var(--color-interactive-negative);
1534
+ }
1535
+ .np-circular-btn.negative:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1536
+ color: #d03238;
1537
+ color: var(--color-interactive-negative-hover);
1538
+ }
1539
+ .np-circular-btn.negative:active .np-circular-btn__label,
1540
+ .np-circular-btn.negative input[type="button"]:active ~ .np-circular-btn__label {
1541
+ color: #bf1e2c;
1542
+ color: var(--color-interactive-negative-active);
1543
+ }
1544
+ .np-circular-btn.negative.secondary .tw-icon {
1545
+ color: #e74848;
1546
+ color: var(--color-interactive-negative);
1547
+ }
1548
+ .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1549
+ .np-circular-btn.negative.secondary input[type="button"]:active + .tw-icon {
1550
+ color: white;
1551
+ }
1552
+ .np-theme-personal .np-circular-btn.accent .np-circular-btn__label {
1191
1553
  color: var(--color-interactive-primary);
1192
1554
  }
1193
- .np-circular-btn-primary-default .np-circular-btn-label:not(.disabled):not(:disabled):hover,
1194
- .np-circular-btn-secondary-default .np-circular-btn-label:not(.disabled):not(:disabled):hover {
1555
+ .np-theme-personal .np-circular-btn.accent:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1195
1556
  color: var(--color-interactive-primary-hover);
1196
1557
  }
1197
- .np-circular-btn-primary-default .np-circular-btn-label:not(.disabled):not(:disabled):active,
1198
- .np-circular-btn-secondary-default .np-circular-btn-label:not(.disabled):not(:disabled):active {
1558
+ .np-theme-personal .np-circular-btn.accent:active .np-circular-btn__label,
1559
+ .np-theme-personal .np-circular-btn.accent input[type="button"]:active ~ .np-circular-btn__label {
1199
1560
  color: var(--color-interactive-primary-active);
1200
1561
  }
1201
- .np-circular-btn-primary-negative .np-circular-btn-label,
1202
- .np-circular-btn-secondary-negative .np-circular-btn-label {
1203
- color: var(--color-sentiment-negative-primary);
1562
+ .np-theme-personal .np-circular-btn.accent.secondary .tw-icon {
1563
+ color: var(--color-interactive-primary);
1204
1564
  }
1205
- .np-circular-btn-primary-negative .np-circular-btn-label:not(.disabled):not(:disabled):hover,
1206
- .np-circular-btn-secondary-negative .np-circular-btn-label:not(.disabled):not(:disabled):hover {
1207
- color: var(--color-sentiment-negative-primary-hover);
1565
+ .np-theme-personal .np-circular-btn.accent.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1566
+ .np-theme-personal .np-circular-btn.accent.secondary input[type="button"]:active + .tw-icon {
1567
+ color: white;
1568
+ color: var(--color-interactive-control);
1208
1569
  }
1209
- .np-circular-btn-primary-negative .np-circular-btn-label:not(.disabled):not(:disabled):active,
1210
- .np-circular-btn-secondary-negative .np-circular-btn-label:not(.disabled):not(:disabled):active {
1211
- color: var(--color-sentiment-negative-primary-active);
1570
+ .np-theme-personal .np-circular-btn.accent.secondary:active input[type="button"] + .tw-icon {
1571
+ color: var(--color-interactive-control);
1212
1572
  }
1213
- .np-circular-btn-disabled {
1214
- cursor: not-allowed;
1573
+ .np-theme-personal .np-circular-btn.positive .np-circular-btn__label {
1574
+ color: var(--color-interactive-primary);
1575
+ }
1576
+ .np-theme-personal .np-circular-btn.positive:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1577
+ color: var(--color-interactive-primary-hover);
1578
+ }
1579
+ .np-theme-personal .np-circular-btn.positive:active .np-circular-btn__label,
1580
+ .np-theme-personal .np-circular-btn.positive input[type="button"]:active ~ .np-circular-btn__label {
1581
+ color: var(--color-interactive-primary-active);
1582
+ }
1583
+ .np-theme-personal .np-circular-btn.positive.secondary .tw-icon {
1584
+ color: var(--color-interactive-primary);
1585
+ }
1586
+ .np-theme-personal .np-circular-btn.positive.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1587
+ .np-theme-personal .np-circular-btn.positive.secondary input[type="button"]:active + .tw-icon {
1588
+ color: white;
1589
+ color: var(--color-interactive-control);
1590
+ }
1591
+ .np-theme-personal .np-circular-btn.positive.secondary:active input[type="button"] + .tw-icon {
1592
+ color: var(--color-interactive-control);
1593
+ }
1594
+ .np-theme-personal .np-circular-btn.negative .np-circular-btn__label {
1595
+ color: var(--color-sentiment-negative);
1596
+ }
1597
+ .np-theme-personal .np-circular-btn.negative:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1598
+ color: var(--color-sentiment-negative-hover);
1599
+ }
1600
+ .np-theme-personal .np-circular-btn.negative:active .np-circular-btn__label,
1601
+ .np-theme-personal .np-circular-btn.negative input[type="button"]:active ~ .np-circular-btn__label {
1602
+ color: var(--color-sentiment-negative-active);
1603
+ }
1604
+ .np-theme-personal .np-circular-btn.negative.secondary .tw-icon {
1605
+ color: var(--color-sentiment-negative);
1606
+ }
1607
+ .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1608
+ .np-theme-personal .np-circular-btn.negative.secondary input[type="button"]:active + .tw-icon {
1609
+ color: white;
1610
+ color: var(--color-interactive-control);
1611
+ }
1612
+ .np-theme-personal .np-circular-btn.negative.secondary:active input[type="button"] + .tw-icon {
1613
+ color: var(--color-interactive-control);
1215
1614
  }
1216
1615
  .np-circle {
1217
1616
  border-radius: 9999px;
@@ -19,9 +19,7 @@ const PrimitiveAnchor = /*#__PURE__*/React.forwardRef(({
19
19
  onKeyDown,
20
20
  ...props
21
21
  }, ref) => {
22
- const anchorClasses = clsx.clsx('wds-Anchor', {
23
- 'wds-Anchor--disabled': disabled
24
- }, className);
22
+ const anchorClasses = clsx.clsx(className);
25
23
  const handleClick = React.useCallback(event => {
26
24
  if (disabled) {
27
25
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveAnchor.js","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(\n 'wds-Anchor',\n {\n 'wds-Anchor--disabled': disabled,\n },\n className,\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CACxB,YAAY,EACZ;AACE,IAAA,sBAAsB,EAAEX,QAAAA;GACzB,EACDH,SAAS,CACV,CAAA;AAED,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"PrimitiveAnchor.js","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CAACd,SAAS,CAAC,CAAA;AAErC,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}