@transferwise/components 45.15.1 → 45.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.esm.js +172 -114
- package/build/index.esm.js.map +1 -1
- package/build/index.js +172 -114
- package/build/index.js.map +1 -1
- package/build/main.css +1 -1
- package/build/styles/inputs/SelectInput.css +1 -1
- package/build/styles/main.css +1 -1
- package/build/styles/popover/Popover.css +1 -1
- package/build/styles/promoCard/PromoCard.css +1 -1
- package/build/types/alert/Alert.d.ts.map +1 -1
- package/build/types/common/card/Card.d.ts.map +1 -1
- package/build/types/common/card/index.d.ts +1 -0
- package/build/types/common/card/index.d.ts.map +1 -1
- package/build/types/inputs/_BottomSheet.d.ts.map +1 -1
- package/build/types/inputs/_Popover.d.ts.map +1 -1
- package/build/types/promoCard/PromoCard.d.ts +9 -3
- package/build/types/promoCard/PromoCard.d.ts.map +1 -1
- package/build/types/promoCard/PromoCardIndicator.d.ts +5 -3
- package/build/types/promoCard/PromoCardIndicator.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/alert/Alert.js +11 -9
- package/src/alert/Alert.spec.js +22 -13
- package/src/alert/withArrow/withArrow.spec.js +4 -4
- package/src/common/card/Card.tsx +6 -2
- package/src/common/card/index.ts +1 -0
- package/src/dateLookup/tableLink/TableLink.js +1 -0
- package/src/dateLookup/tableLink/TableLink.spec.js +6 -0
- package/src/inputs/SelectInput.css +1 -1
- package/src/inputs/SelectInput.less +3 -0
- package/src/inputs/SelectInput.story.tsx +22 -0
- package/src/inputs/_BottomSheet.less +1 -1
- package/src/inputs/_BottomSheet.tsx +57 -52
- package/src/inputs/_Popover.less +1 -1
- package/src/inputs/_Popover.tsx +31 -24
- package/src/listItem/ListItem.story.tsx +1 -1
- package/src/main.css +1 -1
- package/src/main.less +0 -3
- package/src/popover/Popover.css +1 -1
- package/src/promoCard/PromoCard.css +1 -1
- package/src/promoCard/PromoCard.less +9 -9
- package/src/promoCard/PromoCard.spec.tsx +1 -0
- package/src/promoCard/PromoCard.story.tsx +90 -30
- package/src/promoCard/PromoCard.tsx +69 -22
- package/src/promoCard/PromoCardIndicator.tsx +20 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
.np-theme-personal .np-popover__container{border-radius:16px;border-radius:var(--radius-medium)}.np-popover__container .np-popover__content{color:#5d7079;color:var(--color-content-secondary);font-size:.875rem;font-size:var(--font-size-14)}.np-popover__container .np-popover__content p:last-child{margin-bottom:0}.np-popover__container.np-panel .np-popover__content{max-width:276px;padding:16px 24px;padding:var(--size-16) var(--size-24)}.np-theme-personal .np-popover__container.np-panel .np-popover__content{padding:24px;padding:var(--size-24)}.np-popover__container.np-bottom-sheet .np-popover__title{color:#37517e;color:var(--color-content-primary);font-size:1.625rem;font-size:var(--font-size-26);font-weight:600;font-weight:var(--font-weight-semi-bold);letter-spacing:0;letter-spacing:-.02em;line-height:1.2;line-height:var(--line-height-title);line-height:122%;margin:0}.np-popover__container.np-bottom-sheet .np-popover__title+p{margin-top:8px;margin-top:var(--size-8)}.np-popover__container.np-bottom-sheet .np-popover__content{padding:32px 24px;padding:var(--size-32) var(--size-24)}
|
|
1
|
+
.np-theme-personal .np-popover__container{border-radius:16px;border-radius:var(--radius-medium)}.np-popover__container .np-popover__content{color:#5d7079;color:var(--color-content-secondary);font-size:.875rem;font-size:var(--font-size-14)}.np-popover__container .np-popover__content p:last-child{margin-bottom:0}.np-popover__container.np-panel .np-popover__content{max-width:276px;padding:16px 24px;padding:var(--size-16) var(--size-24)}.np-theme-personal .np-popover__container.np-panel .np-popover__content{padding:24px;padding:var(--size-24)}.np-popover__container.np-bottom-sheet .np-popover__title{color:#37517e;color:var(--color-content-primary);font-size:1.625rem;font-size:var(--font-size-26);font-weight:600;font-weight:var(--font-weight-semi-bold);letter-spacing:0;letter-spacing:-.02em;line-height:1.2;line-height:var(--line-height-title);line-height:122%;margin:0}.np-popover__container.np-bottom-sheet .np-popover__title+ol:not(.list-unstyled),.np-popover__container.np-bottom-sheet .np-popover__title+p,.np-popover__container.np-bottom-sheet .np-popover__title+ul:not(.list-unstyled){margin-top:8px;margin-top:var(--size-8)}.np-popover__container.np-bottom-sheet .np-popover__content{padding:32px 24px;padding:var(--size-32) var(--size-24)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.np-Card{--Card-image-scale:1;--Card-image-translate:0;--Card-indicator-text-background-color:var(--color-background-neutral);--Card-indicator-icon-background-color:var(--color-interactive-accent);--Card-indicator-icon-color:var(--color-interactive-control);--Card-check-background-color:var(--color-interactive-primary);--Card-check-color:var(--color-interactive-control)}.np-Card--promoCard{--Card-max-width:358px}.np-Card--promoCard.is-disabled{filter:grayscale(1);opacity:.45}.np-Card-image{height:auto;left:-24px;left:calc(var(--size-24)*-1);margin:0 auto;position:relative;transform:scale(var(--Card-image-scale)) translateY(var(--Card-image-translate));transition:transform .5s ease-in-out;width:100%;width:calc(100% + 48px);width:calc(100% + var(--size-48))}[dir=rtl] .np-Card-image{left:auto;right:-24px;right:calc(var(--size-24)*-1)}.np-Card-indicator{bottom:8px;bottom:var(--size-8);display:flex;gap:4px;gap:var(--size-4);position:absolute;right:8px;right:var(--size-8)}[dir=rtl] .np-Card-indicator{left:8px;left:var(--size-8);right:auto}.np-Card-indicatorText{background:var(--Card-indicator-text-background-color);border-radius:100px;display:inline-block;padding:16px;padding:var(--size-16);text-align:left;vertical-align:middle}.np-Card-indicatorIcon
|
|
1
|
+
.np-Card{--Card-image-scale:1;--Card-image-translate:0;--Card-indicator-text-background-color:var(--color-background-neutral);--Card-indicator-icon-background-color:var(--color-interactive-accent);--Card-indicator-icon-color:var(--color-interactive-control);--Card-check-background-color:var(--color-interactive-primary);--Card-check-color:var(--color-interactive-control)}.np-Card--promoCard{--Card-max-width:358px}.np-Card--promoCard.is-disabled{filter:grayscale(1);opacity:.45}.np-Card-image{height:auto;left:-24px;left:calc(var(--size-24)*-1);margin:0 auto;position:relative;transform:scale(var(--Card-image-scale)) translateY(var(--Card-image-translate));transition:transform .5s ease-in-out;width:100%;width:calc(100% + 48px);width:calc(100% + var(--size-48))}[dir=rtl] .np-Card-image{left:auto;right:-24px;right:calc(var(--size-24)*-1)}.np-Card-description{color:#5d7079;color:var(--color-content-secondary)}.np-Card-indicator{bottom:8px;bottom:var(--size-8);display:flex;gap:4px;gap:var(--size-4);position:absolute;right:8px;right:var(--size-8)}[dir=rtl] .np-Card-indicator{left:8px;left:var(--size-8);right:auto}.np-Card-indicatorText{background:var(--Card-indicator-text-background-color);border-radius:100px;display:inline-block;padding:16px;padding:var(--size-16);text-align:left;vertical-align:middle}.np-Card-indicatorIcon .tw-icon{color:var(--Card-indicator-icon-color)}[dir=rtl] .np-Card-indicatorIcon .tw-icon{transform:scaleX(-1)}.np-Card--checked,.np-Card--link{box-shadow:none;color:currentColor;cursor:pointer;transform:scale(1);transition:box-shadow .2s ease-in-out,transform .5s ease-in-out}.np-theme-personal:not(.np-theme-personal--dark,.np-theme-personal--bright-green,.np-theme-personal--forest-green) .np-Card--checked,.np-theme-personal:not(.np-theme-personal--dark,.np-theme-personal--bright-green,.np-theme-personal--forest-green) .np-Card--link{--Card-box-shadow:0px 20px var(--size-40) 0px var(--color-background-neutral);--Card-check-color:var(--color-interactive-accent)}.np-Card--checked.is-disabled,.np-Card--link.is-disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){.np-Card--checked,.np-Card--link{transition:none}}.np-Card--checked:hover:not(.is-disabled,:disabled,.is-checked,:focus-within),.np-Card--link:hover:not(.is-disabled,:disabled,.is-checked,:focus-within){--Card-image-scale:1.1;box-shadow:var(--Card-box-shadow)}.np-Card--checked:active:not(.is-disabled,:disabled,.is-checked),.np-Card--link:active:not(.is-disabled,:disabled,.is-checked){--Card-background-color:var(--color-background-neutral-active);--Card-image-scale:1.1;--Card-image-translate:var(--size-8);box-shadow:var(--Card-box-shadow);transform:scale(98%)}.np-theme-personal--bright-green .np-Card--checked:active:not(.is-disabled,:disabled,.is-checked),.np-theme-personal--bright-green .np-Card--link:active:not(.is-disabled,:disabled,.is-checked){--Card-background-color:var(--color-background-neutral)}.np-Card--checked:focus-visible:not(.is-disabled,:disabled),.np-Card--checked:has(:focus-visible):not(.np-Card--checked),.np-Card--link:focus-visible:not(.is-disabled,:disabled),.np-Card--link:has(:focus-visible):not(.np-Card--checked){--Card-image-scale:1.1;box-shadow:var(--Card-box-shadow);outline:var(--ring-outline-color) solid 4px;outline:var(--ring-outline-color) solid var(--size-4);outline-offset:4px;outline-offset:var(--size-4)}.np-Card--checked:has(.np-Card-closeButton:focus-visible),.np-Card--link:has(.np-Card-closeButton:focus-visible){outline:none}.np-Card--link .np-Card-titleLink{color:#37517e;color:var(--color-content-primary);text-decoration:none}.np-Card--link .np-Card-titleLink:focus-visible{outline:none}.np-Card--link .np-Card-titleLink:after{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.np-Card--checked.is-checked{box-shadow:0 0 0 4px var(--color-interactive-primary);box-shadow:0 0 0 var(--size-4) var(--color-interactive-primary)}.np-Card--checked.is-checked .np-Card-check{align-items:center;background:var(--Card-check-background-color);border-radius:9999px;border-radius:var(--radius-full);color:var(--Card-check-color);display:flex;height:40px;height:var(--size-40);justify-content:center;position:absolute;right:8px;right:var(--size-8);top:8px;top:var(--size-8);width:40px;width:var(--size-40)}[dir=rtl] .np-Card--checked.is-checked .np-Card-check{left:8px;left:var(--size-8);right:auto}.np-Card--checked.is-checked:focus-visible:not(.is-disabled,:disabled){box-shadow:none}.np-CardGroup{display:flex;flex-direction:column;gap:24px;gap:var(--size-24);width:100%}@media (min-width:768px){.np-CardGroup{flex-direction:row}}.np-CardGroup .np-Card.np-Card--promoCard{max-width:100%}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/alert/Alert.js"],"names":[],"mappings":";AA8BA,
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/alert/Alert.js"],"names":[],"mappings":";AA8BA,gEA2FC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/common/card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAU,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/common/card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAU,MAAM,OAAO,CAAC;AAKtD,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,QAAQ,EAAE,SAAS,CAAC;IAEpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA0C7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,cAAc,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/inputs/_BottomSheet.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"_BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/inputs/_BottomSheet.tsx"],"names":[],"mappings":";AAiBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,KAAK,EACL,eAAe,EACf,OAAc,EACd,QAAQ,EACR,OAAO,GACR,EAAE,gBAAgB,+BA4FlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Popover.d.ts","sourceRoot":"","sources":["../../../src/inputs/_Popover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAOL,KAAK,IAAI,EAMV,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"_Popover.d.ts","sourceRoot":"","sources":["../../../src/inputs/_Popover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAOL,KAAK,IAAI,EAMV,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,OAAc,EACd,QAAQ,EACR,OAAO,GACR,EAAE,YAAY,+BA8Ed"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CardProps } from '../common/card';
|
|
3
|
+
import { PromoCardIndicatorProps } from './PromoCardIndicator';
|
|
2
4
|
export type ReferenceType = React.Ref<HTMLInputElement>;
|
|
3
5
|
export type LinkTarget = '_blank' | '_parent' | '_self' | '_top';
|
|
4
6
|
export type RelatedTypes = '' | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'next' | 'nofollow' | 'noreferrer' | 'noopener' | 'prev' | 'search' | 'tag';
|
|
@@ -17,12 +19,14 @@ export interface PromoCardCommonProps {
|
|
|
17
19
|
headingLevel?: 'h3' | 'h4' | 'h5' | 'h6';
|
|
18
20
|
/** Optional prop to specify text for the indicator label of the PromoCard */
|
|
19
21
|
indicatorLabel?: string;
|
|
22
|
+
/** Optional prop to specify the icon for the indicator icon of the PromoCard */
|
|
23
|
+
indicatorIcon?: PromoCardIndicatorProps['icon'];
|
|
20
24
|
/** Optional prop to specify an image alt text */
|
|
21
25
|
imageAlt?: string;
|
|
22
26
|
/** Optional prop to specify an image class */
|
|
23
27
|
imageClass?: string;
|
|
24
28
|
/** Optional prop to specify an image source url */
|
|
25
|
-
imageSource
|
|
29
|
+
imageSource?: string;
|
|
26
30
|
/** Specify whether the PromoCard is disabled, or not */
|
|
27
31
|
isDisabled?: boolean;
|
|
28
32
|
/** Specify an onClick event handler */
|
|
@@ -31,8 +35,10 @@ export interface PromoCardCommonProps {
|
|
|
31
35
|
testId?: string;
|
|
32
36
|
/** Required prop to specify the title text of the PromoCard */
|
|
33
37
|
title: string;
|
|
38
|
+
/** Set to false to use body font style for the title */
|
|
39
|
+
useDisplayFont?: boolean;
|
|
34
40
|
}
|
|
35
|
-
export interface PromoCardLinkProps extends PromoCardCommonProps {
|
|
41
|
+
export interface PromoCardLinkProps extends PromoCardCommonProps, Omit<CardProps, 'children'> {
|
|
36
42
|
/**
|
|
37
43
|
* Optional prop to prompts a user to save the linked URL instead of
|
|
38
44
|
* navigating to it
|
|
@@ -57,7 +63,7 @@ export interface PromoCardLinkProps extends PromoCardCommonProps {
|
|
|
57
63
|
reference?: never;
|
|
58
64
|
value?: never;
|
|
59
65
|
}
|
|
60
|
-
export interface PromoCardCheckedProps extends PromoCardCommonProps {
|
|
66
|
+
export interface PromoCardCheckedProps extends PromoCardCommonProps, Omit<CardProps, 'children'> {
|
|
61
67
|
/** Specify the initial checked attribute of the PromoCard */
|
|
62
68
|
defaultChecked?: boolean;
|
|
63
69
|
/** Specify whether the PromoCard is checked, or not */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromoCard.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCard.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"PromoCard.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
2
|
export type PromoCardIndicatorProps = {
|
|
3
3
|
/** Optional class name(s) to add to the indicator container. */
|
|
4
4
|
className?: string;
|
|
5
5
|
/** Optional label to display next to the indicator. */
|
|
6
6
|
label?: string;
|
|
7
7
|
/** Optional icon to display in the indicator. */
|
|
8
|
-
icon?: 'check' | 'arrow' | 'download';
|
|
8
|
+
icon?: 'check' | 'arrow' | 'download' | ReactElement;
|
|
9
|
+
/** Optional prop to specify whether the indicator is sized small or not. */
|
|
10
|
+
isSmall?: boolean;
|
|
9
11
|
/** Optional ID to add to the indicator container for testing purposes. */
|
|
10
12
|
testid?: string;
|
|
11
13
|
/** Optional children to display inside the indicator. */
|
|
@@ -20,7 +22,7 @@ export type PromoCardIndicatorProps = {
|
|
|
20
22
|
*
|
|
21
23
|
* @param {string} className - Optional class name(s) to add to the indicator container.
|
|
22
24
|
* @param {string} label - Optional label to display next to the indicator.
|
|
23
|
-
* @param {string} icon - Optional icon to display in the indicator.
|
|
25
|
+
* @param {string | ReactElement} icon - Optional icon to display in the indicator.
|
|
24
26
|
* @param {string} testid - Optional ID to add to the indicator container for testing purposes.
|
|
25
27
|
* @param {ReactNode} children - Optional children to display inside the indicator.
|
|
26
28
|
* @returns {JSX.Element} - The PromoCardIndicator component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromoCardIndicator.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCardIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PromoCardIndicator.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCardIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMhD,MAAM,MAAM,uBAAuB,GAAG;IACpC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IAErD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuCzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@transferwise/components",
|
|
3
|
-
"version": "45.
|
|
3
|
+
"version": "45.17.0",
|
|
4
4
|
"description": "Neptune React components",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -78,12 +78,12 @@
|
|
|
78
78
|
"rollup": "^3.28.1",
|
|
79
79
|
"storybook": "^7.4.5",
|
|
80
80
|
"@transferwise/less-config": "3.0.6",
|
|
81
|
-
"@transferwise/neptune-css": "14.6.
|
|
81
|
+
"@transferwise/neptune-css": "14.6.1",
|
|
82
82
|
"@wise/components-theming": "0.8.4"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"@transferwise/icons": "^3.7.0",
|
|
86
|
-
"@transferwise/neptune-css": "^14.
|
|
86
|
+
"@transferwise/neptune-css": "^14.6.1",
|
|
87
87
|
"@wise/art": "^2.7.0",
|
|
88
88
|
"@wise/components-theming": "^0.8.4",
|
|
89
89
|
"currency-flags": "^4.0.2",
|
package/src/alert/Alert.js
CHANGED
|
@@ -79,8 +79,8 @@ const Alert = (props) => {
|
|
|
79
79
|
};
|
|
80
80
|
return (
|
|
81
81
|
<div
|
|
82
|
-
role="alert"
|
|
83
82
|
className={classNames('alert d-flex', `alert-${mappedType}`, className)}
|
|
83
|
+
data-testid="alert"
|
|
84
84
|
onTouchStart={handleTouchStart}
|
|
85
85
|
onTouchEnd={handleTouchEnd}
|
|
86
86
|
onTouchMove={handleTouchMove}
|
|
@@ -91,14 +91,16 @@ const Alert = (props) => {
|
|
|
91
91
|
>
|
|
92
92
|
{generateIcon()}
|
|
93
93
|
<div className="alert__message">
|
|
94
|
-
{
|
|
95
|
-
|
|
96
|
-
{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
94
|
+
<div role={Sentiment.NEGATIVE === mappedType ? 'alert' : 'status'}>
|
|
95
|
+
{title && (
|
|
96
|
+
<Title className="m-b-1" type={Typography.TITLE_BODY}>
|
|
97
|
+
{title}
|
|
98
|
+
</Title>
|
|
99
|
+
)}
|
|
100
|
+
<Body as="span" className="d-block" type={Typography.BODY_LARGE}>
|
|
101
|
+
{children || <InlineMarkdown>{message}</InlineMarkdown>}
|
|
102
|
+
</Body>
|
|
103
|
+
</div>
|
|
102
104
|
{action && (
|
|
103
105
|
<Link
|
|
104
106
|
href={action.href}
|
package/src/alert/Alert.spec.js
CHANGED
|
@@ -61,7 +61,7 @@ describe('Alert', () => {
|
|
|
61
61
|
<Alert message={message} />
|
|
62
62
|
</ThemeProvider>,
|
|
63
63
|
));
|
|
64
|
-
component = screen.
|
|
64
|
+
component = screen.getByTestId('alert');
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
it('the message is rendered', () => {
|
|
@@ -85,7 +85,7 @@ describe('Alert', () => {
|
|
|
85
85
|
describe('deprecated props', () => {
|
|
86
86
|
it('renders arrows but logs a warning', () => {
|
|
87
87
|
render(<Alert arrow={AlertArrowPosition.BOTTOM} message={message} />);
|
|
88
|
-
component = screen.
|
|
88
|
+
component = screen.getByTestId('alert');
|
|
89
89
|
|
|
90
90
|
expect(component).toHaveClass('arrow');
|
|
91
91
|
expect(component).toHaveClass('arrow-bottom');
|
|
@@ -125,7 +125,7 @@ describe('Alert', () => {
|
|
|
125
125
|
it('maps type SUCCESS to type POSITIVE and logs a warning', () => {
|
|
126
126
|
render(<Alert type={Sentiment.SUCCESS} message={message} />);
|
|
127
127
|
|
|
128
|
-
const success = screen.
|
|
128
|
+
const success = screen.getByTestId('alert');
|
|
129
129
|
|
|
130
130
|
expect(success).toHaveClass(classForType(Sentiment.POSITIVE));
|
|
131
131
|
expect(screen.getByTestId('check-circle-icon')).toBeInTheDocument();
|
|
@@ -137,7 +137,7 @@ describe('Alert', () => {
|
|
|
137
137
|
it('maps type INFO to type NEUTRAL and logs a warning', () => {
|
|
138
138
|
render(<Alert type={Sentiment.INFO} message={message} />);
|
|
139
139
|
|
|
140
|
-
const info = screen.
|
|
140
|
+
const info = screen.getByTestId('alert');
|
|
141
141
|
|
|
142
142
|
expect(info).toHaveClass(classForType(Sentiment.NEUTRAL));
|
|
143
143
|
expect(screen.getByTestId('info-circle-icon')).toBeInTheDocument();
|
|
@@ -150,7 +150,7 @@ describe('Alert', () => {
|
|
|
150
150
|
it('maps type ERROR to type NEGATIVE and logs a warning', () => {
|
|
151
151
|
render(<Alert type={Sentiment.ERROR} message={message} />);
|
|
152
152
|
|
|
153
|
-
const error = screen.
|
|
153
|
+
const error = screen.getByTestId('alert');
|
|
154
154
|
|
|
155
155
|
expect(error).toHaveClass(classForType(Sentiment.NEGATIVE));
|
|
156
156
|
expect(screen.getByTestId('cross-circle-icon')).toBeInTheDocument();
|
|
@@ -197,14 +197,14 @@ describe('Alert', () => {
|
|
|
197
197
|
it('converts message to markdown', () => {
|
|
198
198
|
render(<Alert message={input} />);
|
|
199
199
|
|
|
200
|
-
expect(screen.
|
|
200
|
+
expect(screen.getByTestId('alert')).toContainHTML(output);
|
|
201
201
|
});
|
|
202
202
|
|
|
203
203
|
it('does not convert children to markdown', () => {
|
|
204
204
|
render(<Alert>{input}</Alert>);
|
|
205
205
|
|
|
206
206
|
expect(screen.getByText(input)).toBeInTheDocument();
|
|
207
|
-
expect(screen.
|
|
207
|
+
expect(screen.getByTestId('alert')).not.toContainHTML(output);
|
|
208
208
|
});
|
|
209
209
|
});
|
|
210
210
|
|
|
@@ -212,7 +212,7 @@ describe('Alert', () => {
|
|
|
212
212
|
it('applies provided classes', () => {
|
|
213
213
|
render(<Alert className="cats" message={message} />);
|
|
214
214
|
|
|
215
|
-
expect(screen.
|
|
215
|
+
expect(screen.getByTestId('alert')).toHaveClass('cats');
|
|
216
216
|
});
|
|
217
217
|
});
|
|
218
218
|
|
|
@@ -221,7 +221,7 @@ describe('Alert', () => {
|
|
|
221
221
|
const icon = <HappyEmoji />;
|
|
222
222
|
|
|
223
223
|
render(<Alert icon={icon} message={message} />);
|
|
224
|
-
component = screen.
|
|
224
|
+
component = screen.getByTestId('alert');
|
|
225
225
|
expect(screen.getByTestId('happy-emoji-icon')).toBeInTheDocument();
|
|
226
226
|
});
|
|
227
227
|
});
|
|
@@ -247,7 +247,7 @@ describe('Alert', () => {
|
|
|
247
247
|
describe('types', () => {
|
|
248
248
|
const getComponentWithType = (type) => {
|
|
249
249
|
render(<Alert type={type} message={message} />);
|
|
250
|
-
return screen.
|
|
250
|
+
return screen.getByTestId('alert');
|
|
251
251
|
};
|
|
252
252
|
|
|
253
253
|
it('renders neutral', () => {
|
|
@@ -277,6 +277,15 @@ describe('Alert', () => {
|
|
|
277
277
|
expect(component).toHaveClass(classForType(Sentiment.WARNING));
|
|
278
278
|
expect(screen.getByTestId('warning-icon')).toBeInTheDocument();
|
|
279
279
|
});
|
|
280
|
+
|
|
281
|
+
it('renders error alerts with aria-role alert', () => {
|
|
282
|
+
component = getComponentWithType(Sentiment.NEGATIVE);
|
|
283
|
+
expect(screen.getByRole('alert')).toBeInTheDocument();
|
|
284
|
+
});
|
|
285
|
+
it('renders neutral alerts with aria-role status', () => {
|
|
286
|
+
component = getComponentWithType(Sentiment.NEUTRAL);
|
|
287
|
+
expect(screen.getByRole('status')).toBeInTheDocument();
|
|
288
|
+
});
|
|
280
289
|
});
|
|
281
290
|
|
|
282
291
|
describe('on touch devices', () => {
|
|
@@ -304,7 +313,7 @@ describe('Alert', () => {
|
|
|
304
313
|
|
|
305
314
|
render(<Alert action={action} message={message} onDismiss={jest.fn()} />);
|
|
306
315
|
|
|
307
|
-
alert = screen.
|
|
316
|
+
alert = screen.getByTestId('alert');
|
|
308
317
|
closeButton = screen.getByLabelText('Close');
|
|
309
318
|
|
|
310
319
|
jest.spyOn(React, 'useRef').mockReturnValue({
|
|
@@ -344,7 +353,7 @@ describe('Alert', () => {
|
|
|
344
353
|
|
|
345
354
|
render(<Alert action={action} message={message} onDismiss={jest.fn()} />);
|
|
346
355
|
|
|
347
|
-
alert = screen.
|
|
356
|
+
alert = screen.getByTestId('alert');
|
|
348
357
|
closeButton = screen.getByLabelText('Close');
|
|
349
358
|
|
|
350
359
|
jest.spyOn(React, 'useRef').mockReturnValue({
|
|
@@ -368,7 +377,7 @@ describe('Alert', () => {
|
|
|
368
377
|
beforeEach(() => {
|
|
369
378
|
render(<Alert message={message} onDismiss={jest.fn()} />);
|
|
370
379
|
|
|
371
|
-
alert = screen.
|
|
380
|
+
alert = screen.getByTestId('alert');
|
|
372
381
|
closeButton = screen.getByLabelText('Close');
|
|
373
382
|
|
|
374
383
|
jest.spyOn(React, 'useRef').mockReturnValue({
|
|
@@ -12,7 +12,7 @@ describe('withArrow', () => {
|
|
|
12
12
|
const ArrowLessAlert = withArrow(Alert);
|
|
13
13
|
|
|
14
14
|
render(<ArrowLessAlert message={message} />);
|
|
15
|
-
const component = screen.
|
|
15
|
+
const component = screen.getByTestId('alert');
|
|
16
16
|
|
|
17
17
|
expect(component).not.toHaveClass('arrow');
|
|
18
18
|
});
|
|
@@ -21,7 +21,7 @@ describe('withArrow', () => {
|
|
|
21
21
|
const AlertTopArrow = withArrow(Alert, ArrowPosition.TOP_LEFT);
|
|
22
22
|
|
|
23
23
|
render(<AlertTopArrow message={message} arrow={ArrowPosition.BOTTOM_LEFT} />);
|
|
24
|
-
const component = screen.
|
|
24
|
+
const component = screen.getByTestId('alert');
|
|
25
25
|
expect(component).toHaveClass('arrow');
|
|
26
26
|
expect(component).not.toHaveClass('arrow-bottom');
|
|
27
27
|
});
|
|
@@ -33,7 +33,7 @@ describe('withArrow', () => {
|
|
|
33
33
|
it(`returns an bottom arrowed alert if you pass a bottom arrow`, () => {
|
|
34
34
|
const BottomArrowAlert = getPointyAlert(ArrowPosition.BOTTOM);
|
|
35
35
|
render(<BottomArrowAlert message={message} />);
|
|
36
|
-
const component = screen.
|
|
36
|
+
const component = screen.getByTestId('alert');
|
|
37
37
|
|
|
38
38
|
expect(component).toHaveClass('arrow');
|
|
39
39
|
expect(component).toHaveClass('arrow-bottom');
|
|
@@ -42,7 +42,7 @@ describe('withArrow', () => {
|
|
|
42
42
|
it(`returns an top-right arrowed alert if you pass a top right arrow`, () => {
|
|
43
43
|
const BottomArrowAlert = getPointyAlert(ArrowPosition.TOP_RIGHT);
|
|
44
44
|
render(<BottomArrowAlert message={message} />);
|
|
45
|
-
const component = screen.
|
|
45
|
+
const component = screen.getByTestId('alert');
|
|
46
46
|
|
|
47
47
|
expect(component).toHaveClass('arrow');
|
|
48
48
|
expect(component).toHaveClass('arrow-right');
|
package/src/common/card/Card.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import classNames from 'classnames';
|
|
|
2
2
|
import { MouseEvent, ReactNode, useRef } from 'react';
|
|
3
3
|
|
|
4
4
|
import { CloseButton } from '../closeButton';
|
|
5
|
+
import { stopPropagation } from '../domHelpers';
|
|
5
6
|
|
|
6
7
|
export interface CardProps {
|
|
7
8
|
/** Content to display inside Card. */
|
|
@@ -49,7 +50,7 @@ export interface CardProps {
|
|
|
49
50
|
*/
|
|
50
51
|
const Card: React.FC<CardProps> = ({
|
|
51
52
|
className,
|
|
52
|
-
children,
|
|
53
|
+
children = null,
|
|
53
54
|
id,
|
|
54
55
|
isDisabled = false,
|
|
55
56
|
isSmall = false,
|
|
@@ -80,7 +81,10 @@ const Card: React.FC<CardProps> = ({
|
|
|
80
81
|
size={isSmall ? 'sm' : 'md'}
|
|
81
82
|
isDisabled={isDisabled}
|
|
82
83
|
testId="close-button"
|
|
83
|
-
onClick={
|
|
84
|
+
onClick={(e) => {
|
|
85
|
+
stopPropagation(e);
|
|
86
|
+
onDismiss();
|
|
87
|
+
}}
|
|
84
88
|
/>
|
|
85
89
|
)}
|
|
86
90
|
{children}
|
package/src/common/card/index.ts
CHANGED
|
@@ -94,6 +94,12 @@ describe('TableLink', () => {
|
|
|
94
94
|
expect(button().prop('aria-label')).toBe('12/12/1212, selected day');
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
+
it('adds aria pressed to selected day', () => {
|
|
98
|
+
expect(button().hasClass('active')).toBe(false);
|
|
99
|
+
component.setProps({ active: true });
|
|
100
|
+
expect(button().prop('aria-pressed')).toBe(true);
|
|
101
|
+
});
|
|
102
|
+
|
|
97
103
|
it('adds aria label to selected month', () => {
|
|
98
104
|
component.setProps({ type: 'month' });
|
|
99
105
|
expect(button().hasClass('active')).toBe(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.np-select-input-placeholder{color:#768e9c;color:var(--color-content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-select-input-options-container{display:flex;flex-direction:column;height:100%}.np-select-input-options-container:focus{outline:none}@media (min-width:576px){.np-select-input-options-container{max-height:28rem}}.np-select-input-query-container{display:flex;flex-direction:column;padding:8px;padding:var(--size-8);padding-top:0}@media (min-width:576px){.np-select-input-query-container{padding-top:8px;padding-top:var(--size-8)}}.np-select-input-listbox-container{height:var(--initial-height);overflow-y:auto;position:relative;scroll-padding-bottom:8px;scroll-padding-bottom:var(--size-8);scroll-padding-top:8px;scroll-padding-top:var(--size-8)}@media (min-width:576px){.np-select-input-listbox-container{height:auto}}.np-select-input-listbox-container--has-group{scroll-padding-top:32px;scroll-padding-top:var(--size-32)}.np-select-input-listbox{padding:8px;padding:var(--size-8)}.np-select-input-listbox:focus{outline:none}.np-select-input-separator-item{border-top-width:1px;margin:8px;margin:var(--size-8)}.np-select-input-group-item--without-needle:first-child{margin-top:-8px;margin-top:calc(var(--size-8)*-1)}.np-select-input-group-item-header{background-color:#fff;background-color:var(--color-background-elevated);color:#5d7079;color:var(--color-content-secondary);padding:8px 16px 4px;padding:var(--size-8) var(--size-16) var(--size-4);position:sticky;top:0;z-index:10}.np-select-input-option-container{align-items:center;border-radius:10px;border-radius:var(--radius-small);color:#37517e;color:var(--color-content-primary);-moz-column-gap:8px;column-gap:8px;-moz-column-gap:var(--size-8);column-gap:var(--size-8);display:flex;padding:12px 16px;padding:var(--size-12) var(--size-16)}.np-select-input-option-container--active{background-color:var(--color-background-screen-hover)}.np-select-input-option-container--disabled{opacity:.45}.np-select-input-option-check--not-selected{visibility:hidden}.np-select-input-option{flex:1}.np-select-input-option-content-container{align-items:center;color:#37517e;color:var(--color-content-primary);-moz-column-gap:8px;column-gap:8px;-moz-column-gap:var(--size-8);column-gap:var(--size-8);display:flex}.np-select-input-option-content-icon{display:flex}.np-select-input-option-content-icon--not-compact{align-self:flex-start}.np-select-input-option-content-text{display:flex;flex:1;flex-direction:column;overflow:hidden}.np-select-input-option-content-text-secondary{color:#5d7079;color:var(--color-content-secondary)}.np-select-input-option-content-text-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-select-input-option-content-text-line-1>:not([hidden])~:not([hidden]){margin-left:8px;margin-left:var(--size-8);margin-right:8px;margin-right:var(--size-8)}.np-select-input-addon-container{align-items:center;display:inline-flex;pointer-events:none}.np-select-input-addon{align-items:center;background:none;border-radius:.125rem;border-width:0;display:inline-flex;height:32px;height:var(--size-32);justify-content:center;width:32px;width:var(--size-32)}.np-select-input-addon--interactive{color:#c9cbce;color:var(--color-interactive-secondary);pointer-events:auto}.np-select-input-addon--interactive:hover{color:#b5b7ba;color:var(--color-interactive-secondary-hover)}.np-select-input-addon--interactive:focus{outline:none}.np-select-input-addon--interactive:focus-visible{outline:var(--ring-outline-color) solid var(--ring-outline-width);outline-offset:var(--ring-outline-offset)}.np-select-input-addon-separator{border-inline-start-width:1px;height:24px;height:var(--size-24)}
|
|
1
|
+
.np-bottom-sheet-v2-container{position:relative;z-index:1060}.np-bottom-sheet-v2-backdrop-container--enter,.np-bottom-sheet-v2-backdrop-container--leave{transition-duration:.15s;transition-property:opacity;transition-timing-function:ease-out}.np-bottom-sheet-v2-backdrop-container--enter-from,.np-bottom-sheet-v2-backdrop-container--leave-to{opacity:0}.np-bottom-sheet-v2-backdrop{background-color:#37517e;background-color:var(--color-content-primary);inset:0;opacity:.4;position:fixed}.np-bottom-sheet-v2{display:flex;flex-direction:column;inset:0;justify-content:flex-end;padding-left:8px;padding-left:var(--size-8);padding-right:8px;padding-right:var(--size-8);padding-top:64px;padding-top:var(--size-64);position:fixed}.np-bottom-sheet-v2-content{max-height:100%}.np-bottom-sheet-v2-content--enter,.np-bottom-sheet-v2-content--leave{transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}@media (prefers-reduced-motion:reduce){.np-bottom-sheet-v2-content--enter,.np-bottom-sheet-v2-content--leave{transition-property:opacity}}@media (prefers-reduced-motion:no-preference){.np-bottom-sheet-v2-content--enter-from,.np-bottom-sheet-v2-content--leave-to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.np-bottom-sheet-v2-content--enter-from,.np-bottom-sheet-v2-content--leave-to{opacity:0}}.np-bottom-sheet-v2-content-inner-container{background-color:#fff;background-color:var(--color-background-elevated);border-top-left-radius:32px;border-top-right-radius:32px;box-shadow:0 0 40px rgba(69,71,69,.2);display:flex;flex-direction:column;height:100%}.np-bottom-sheet-v2-content-inner-container:focus{outline:none}.np-bottom-sheet-v2-header{align-self:flex-end;padding:16px;padding:var(--size-16)}.np-bottom-sheet-v2-content-inner{display:grid;grid-template-rows:repeat(1,minmax(0,1fr));overflow-y:auto;padding-top:0;row-gap:8px;row-gap:var(--size-8)}.np-bottom-sheet-v2-content-inner--has-title{grid-template-rows:auto 1fr}.np-bottom-sheet-v2-content-inner--padding-md{padding:16px;padding:var(--size-16)}.np-bottom-sheet-v2-title{color:#37517e;color:var(--color-content-primary)}.np-bottom-sheet-v2-body{color:#5d7079;color:var(--color-content-secondary)}.np-button-input{align-content:center;border-radius:10px;border-radius:var(--size-10);display:inline-grid;grid-auto-columns:minmax(0,1fr);text-align:start}.np-popover-v2-container{background-color:#fff;background-color:var(--color-background-elevated);border-radius:10px;border-radius:var(--radius-small);box-shadow:0 0 40px rgba(69,71,69,.2);display:flex;flex-direction:column;max-height:var(--max-height);min-width:-moz-min-content;min-width:min-content;width:var(--width);z-index:1060}.np-popover-v2-container:focus{outline:none}.np-popover-v2{display:grid;grid-template-rows:repeat(1,minmax(0,1fr));overflow-y:auto;row-gap:8px;row-gap:var(--size-8)}.np-popover-v2--has-title{grid-template-rows:auto 1fr}.np-popover-v2--padding-md{padding:16px;padding:var(--size-16)}.np-popover-v2-title{color:#37517e;color:var(--color-content-primary)}.np-popover-v2-content{color:#5d7079;color:var(--color-content-secondary)}.np-select-input-placeholder{color:#768e9c;color:var(--color-content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-select-input-options-container{display:flex;flex-direction:column;height:100%}.np-select-input-options-container:focus{outline:none}@media (min-width:576px){.np-select-input-options-container{max-height:28rem}}.np-select-input-query-container{display:flex;flex-direction:column;padding:8px;padding:var(--size-8);padding-top:0}@media (min-width:576px){.np-select-input-query-container{padding-top:8px;padding-top:var(--size-8)}}.np-select-input-listbox-container{height:var(--initial-height);overflow-y:auto;position:relative;scroll-padding-bottom:8px;scroll-padding-bottom:var(--size-8);scroll-padding-top:8px;scroll-padding-top:var(--size-8)}@media (min-width:576px){.np-select-input-listbox-container{height:auto}}.np-select-input-listbox-container--has-group{scroll-padding-top:32px;scroll-padding-top:var(--size-32)}.np-select-input-listbox{padding:8px;padding:var(--size-8)}.np-select-input-listbox:focus{outline:none}.np-select-input-separator-item{border-top-width:1px;margin:8px;margin:var(--size-8)}.np-select-input-group-item--without-needle:first-child{margin-top:-8px;margin-top:calc(var(--size-8)*-1)}.np-select-input-group-item-header{background-color:#fff;background-color:var(--color-background-elevated);color:#5d7079;color:var(--color-content-secondary);padding:8px 16px 4px;padding:var(--size-8) var(--size-16) var(--size-4);position:sticky;top:0;z-index:10}.np-select-input-option-container{align-items:center;border-radius:10px;border-radius:var(--radius-small);color:#37517e;color:var(--color-content-primary);-moz-column-gap:8px;column-gap:8px;-moz-column-gap:var(--size-8);column-gap:var(--size-8);display:flex;padding:12px 16px;padding:var(--size-12) var(--size-16)}.np-select-input-option-container--active{background-color:var(--color-background-screen-hover)}.np-select-input-option-container--disabled{opacity:.45}.np-select-input-option-check--not-selected{visibility:hidden}.np-select-input-option{flex:1}.np-select-input-option-content-container{align-items:center;color:#37517e;color:var(--color-content-primary);-moz-column-gap:8px;column-gap:8px;-moz-column-gap:var(--size-8);column-gap:var(--size-8);display:flex}.np-select-input-option-content-icon{display:flex}.np-select-input-option-content-icon--not-compact{align-self:flex-start}.np-select-input-option-content-text{display:flex;flex:1;flex-direction:column;overflow:hidden}.np-select-input-option-content-text-secondary{color:#5d7079;color:var(--color-content-secondary)}.np-select-input-option-content-text-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-select-input-option-content-text-line-1>:not([hidden])~:not([hidden]){margin-left:8px;margin-left:var(--size-8);margin-right:8px;margin-right:var(--size-8)}.np-select-input-addon-container{align-items:center;display:inline-flex;pointer-events:none}.np-select-input-addon{align-items:center;background:none;border-radius:.125rem;border-width:0;display:inline-flex;height:32px;height:var(--size-32);justify-content:center;width:32px;width:var(--size-32)}.np-select-input-addon--interactive{color:#c9cbce;color:var(--color-interactive-secondary);pointer-events:auto}.np-select-input-addon--interactive:hover{color:#b5b7ba;color:var(--color-interactive-secondary-hover)}.np-select-input-addon--interactive:focus{outline:none}.np-select-input-addon--interactive:focus-visible{outline:var(--ring-outline-color) solid var(--ring-outline-width);outline-offset:var(--ring-outline-offset)}.np-select-input-addon-separator{border-inline-start-width:1px;height:24px;height:var(--size-24)}
|
|
@@ -4,6 +4,8 @@ import { Flag } from '@wise/art';
|
|
|
4
4
|
import { useState } from 'react';
|
|
5
5
|
|
|
6
6
|
import { getMonthNames } from '../common/dateUtils';
|
|
7
|
+
import Drawer from '../drawer';
|
|
8
|
+
import Modal from '../modal';
|
|
7
9
|
|
|
8
10
|
import { SelectInput, type SelectInputItem, SelectInputOptionContent } from './SelectInput';
|
|
9
11
|
|
|
@@ -262,3 +264,23 @@ export const Currencies: StoryObj<{
|
|
|
262
264
|
},
|
|
263
265
|
},
|
|
264
266
|
};
|
|
267
|
+
|
|
268
|
+
export const WithinDrawer: StoryObj<{
|
|
269
|
+
onChange: (value: Currency) => void;
|
|
270
|
+
}> = {
|
|
271
|
+
...Currencies,
|
|
272
|
+
decorators: [
|
|
273
|
+
(Story) => (
|
|
274
|
+
<Drawer open headerTitle="This is the title of the drawer">
|
|
275
|
+
<Story />
|
|
276
|
+
</Drawer>
|
|
277
|
+
),
|
|
278
|
+
],
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
export const WithinModal: StoryObj<{
|
|
282
|
+
onChange: (value: Currency) => void;
|
|
283
|
+
}> = {
|
|
284
|
+
...Currencies,
|
|
285
|
+
decorators: [(Story) => <Modal open body={<Story />} onClose={() => {}} />],
|
|
286
|
+
};
|