@transferwise/components 46.105.4 → 46.105.5
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/dateInput/DateInput.js.map +1 -1
- package/build/dateInput/DateInput.mjs.map +1 -1
- package/build/main.css +23 -11
- package/build/styles/listItem/ListItem.css +23 -11
- package/build/styles/listItem/ListItem.grid.css +23 -9
- package/build/styles/main.css +23 -11
- package/build/types/dateInput/DateInput.d.ts.map +1 -1
- package/build/types/listItem/_stories/helpers.d.ts +1 -0
- package/build/types/listItem/_stories/helpers.d.ts.map +1 -1
- package/build/types/listItem/_stories/subcomponents.d.ts +6 -0
- package/build/types/listItem/_stories/subcomponents.d.ts.map +1 -1
- package/build/types/listItem/_stories/variants/helpers.d.ts +8 -0
- package/build/types/listItem/_stories/variants/helpers.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/dateInput/DateInput.tsx +1 -3
- package/src/listItem/ListItem.css +23 -11
- package/src/listItem/ListItem.grid.css +23 -9
- package/src/listItem/ListItem.grid.less +31 -9
- package/src/listItem/ListItem.less +0 -2
- package/src/listItem/_stories/helpers.tsx +8 -0
- package/src/listItem/_stories/subcomponents.tsx +7 -0
- package/src/listItem/_stories/variants/ListItem.brightGreen.test.story.tsx +49 -0
- package/src/listItem/_stories/variants/ListItem.dark.test.story.tsx +43 -0
- package/src/listItem/_stories/variants/ListItem.forestGreen.test.story.tsx +49 -0
- package/src/listItem/_stories/variants/ListItem.medium.test.story.tsx +34 -0
- package/src/listItem/_stories/variants/ListItem.personal.test.story.tsx +130 -0
- package/src/listItem/_stories/variants/ListItem.rtl.test.story.tsx +43 -0
- package/src/listItem/_stories/variants/ListItem.small.test.story.tsx +34 -0
- package/src/listItem/_stories/variants/helpers.tsx +127 -0
- package/src/main.css +23 -11
- package/src/listItem/_stories/ListItem.variants.test.story.tsx +0 -274
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/dateInput/DateInput.tsx"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,WAAW,EAEX,SAAS,EACT,UAAU,EACV,SAAS,EAEV,MAAM,WAAW,CAAC;AAMnB,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACxD;AAED,QAAA,MAAM,SAAS,GAAI,qPAmBhB,cAAc,
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/dateInput/DateInput.tsx"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,WAAW,EAEX,SAAS,EACT,UAAU,EACV,SAAS,EAEV,MAAM,WAAW,CAAC;AAMnB,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACxD;AAED,QAAA,MAAM,SAAS,GAAI,qPAmBhB,cAAc,gCAmShB,CAAC;AA8BF,eAAe,SAAS,CAAC"}
|
|
@@ -13,6 +13,7 @@ export declare const storySourceWithoutNoise: (config: Story) => Story;
|
|
|
13
13
|
* by swapping the `key`. This is a workaround for the Storybook's limitation.
|
|
14
14
|
*/
|
|
15
15
|
export declare const withoutKey: Decorator;
|
|
16
|
+
export declare const withSizedContainer: (width: number) => Decorator;
|
|
16
17
|
/**
|
|
17
18
|
* Not all stories need access to all controls as it causes unnecessary UI noise.
|
|
18
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/listItem/_stories/helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,KAAK,KAAG,KAuBvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAQxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GACzB,kBAAiB,MAAM,EAAO,MAC9B,iBAAgB,MAAM,EAAO;;;;;;CAG7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/listItem/_stories/helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,KAAK,KAAG,KAuBvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAQxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC5B,OAAO,MAAM,KAAG,SAKhB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe,GACzB,kBAAiB,MAAM,EAAO,MAC9B,iBAAgB,MAAM,EAAO;;;;;;CAG7B,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export type SB_ListItem_ControlType = 'non-interactive' | 'button' | 'buttonAsLink' | 'partialButton' | 'partialButtonAsLink' | 'iconButton' | 'iconButtonAsLink' | 'iconButtonWithLabel' | 'iconButtonAsLinkWithLabel' | 'partialIconButton' | 'partialIconButtonAsLink' | 'partialIconButtonWithLabel' | 'partialIconButtonAsLinkWithLabel' | 'navigation' | 'navigationAsButton' | 'checkbox' | 'radio' | 'switch';
|
|
3
|
+
export declare const SB_LIST_ITEM_TEXT: {
|
|
4
|
+
title: string;
|
|
5
|
+
subtitle: string;
|
|
6
|
+
valueTitle: string;
|
|
7
|
+
valueSubtitle: string;
|
|
8
|
+
};
|
|
3
9
|
export declare const SB_LIST_ITEM_CONTROLS: Record<SB_ListItem_ControlType, ReactNode>;
|
|
4
10
|
export declare const SB_LIST_ITEM_ADDITIONAL_INFO: {
|
|
5
11
|
readonly interactive: import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcomponents.d.ts","sourceRoot":"","sources":["../../../../src/listItem/_stories/subcomponents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOlC,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,eAAe,GACf,qBAAqB,GACrB,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,2BAA2B,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,kCAAkC,GAClC,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,OAAO,GACP,QAAQ,CAAC;AAEb,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,EAAE,SAAS,CA2DnE,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;CAe/B,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;CAavB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;CAoBrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"subcomponents.d.ts","sourceRoot":"","sources":["../../../../src/listItem/_stories/subcomponents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOlC,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,eAAe,GACf,qBAAqB,GACrB,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,2BAA2B,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,kCAAkC,GAClC,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,OAAO,GACP,QAAQ,CAAC;AAEb,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,EAAE,SAAS,CA2DnE,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;CAe/B,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;CAavB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;CAoBrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { StoryConfig } from '../../../test-utils';
|
|
3
|
+
import { type ListItemProps } from '../../ListItem';
|
|
4
|
+
import { SB_ListItem_ControlType as ControlType } from '../subcomponents';
|
|
5
|
+
type Story = StoryObj<ListItemProps>;
|
|
6
|
+
export declare const generateVariantsForControl: (controlType: ControlType, variant?: NonNullable<StoryConfig["variants"]>[number]) => Story;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/listItem/_stories/variants/helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAML,uBAAuB,IAAI,WAAW,EACvC,MAAM,kBAAkB,CAAC;AAE1B,KAAK,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAOrC,eAAO,MAAM,0BAA0B,GACrC,aAAa,WAAW,EACxB,UAAS,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAa,KAChE,KAuGF,CAAC"}
|
package/package.json
CHANGED
|
@@ -317,9 +317,7 @@ const DateInput = ({
|
|
|
317
317
|
onFocus={(event) =>
|
|
318
318
|
shouldPropagateOnFocus(event) ? onFocus?.(event) : event.stopPropagation()
|
|
319
319
|
}
|
|
320
|
-
onBlur={(event) =>
|
|
321
|
-
shouldPropagateOnBlur(event) ? onBlur?.(event) : event.stopPropagation()
|
|
322
|
-
}
|
|
320
|
+
onBlur={(event) => (shouldPropagateOnBlur(event) ? onBlur?.(event) : event.stopPropagation())}
|
|
323
321
|
>
|
|
324
322
|
<div className="row">
|
|
325
323
|
{(() => {
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
gap: 4px 16px;
|
|
6
6
|
gap: var(--size-4) var(--size-16);
|
|
7
7
|
}
|
|
8
|
+
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-hasPrompt:not(:has(.wds-list-item-subtitle-value, .wds-list-item-subtitle)) .wds-list-item-prompt,
|
|
9
|
+
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-noInfo-hasPrompt:not(:has(.wds-list-item-subtitle-value, .wds-list-item-subtitle)) .wds-list-item-prompt {
|
|
10
|
+
margin-top: -2px;
|
|
11
|
+
}
|
|
8
12
|
@container (min-width: 375px) {
|
|
13
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
14
|
+
height: var(--wds-list-item-control-wrapper-height);
|
|
15
|
+
align-content: center;
|
|
16
|
+
}
|
|
9
17
|
.wds-list-item-gridWrapper .wds-list-item-media-image {
|
|
10
18
|
-o-object-position: center;
|
|
11
19
|
object-position: center;
|
|
@@ -102,6 +110,9 @@
|
|
|
102
110
|
-o-object-position: bottom left;
|
|
103
111
|
object-position: bottom left;
|
|
104
112
|
}
|
|
113
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
114
|
+
align-content: start;
|
|
115
|
+
}
|
|
105
116
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-hasPrompt {
|
|
106
117
|
grid-template-columns: 1fr auto;
|
|
107
118
|
grid-template-rows: auto auto auto auto;
|
|
@@ -222,8 +233,11 @@
|
|
|
222
233
|
}
|
|
223
234
|
}
|
|
224
235
|
@container (max-width: 297px) {
|
|
236
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
237
|
+
align-content: start;
|
|
238
|
+
}
|
|
225
239
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-hasPrompt {
|
|
226
|
-
grid-template-columns: auto
|
|
240
|
+
grid-template-columns: 1fr auto;
|
|
227
241
|
grid-template-rows: auto auto auto;
|
|
228
242
|
grid-template-areas: "body control" "info control" "prompt prompt";
|
|
229
243
|
}
|
|
@@ -233,7 +247,7 @@
|
|
|
233
247
|
grid-template-areas: "body" "info" "prompt" "control";
|
|
234
248
|
}
|
|
235
249
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-noPrompt {
|
|
236
|
-
grid-template-columns: auto
|
|
250
|
+
grid-template-columns: 1fr auto;
|
|
237
251
|
grid-template-rows: auto auto;
|
|
238
252
|
grid-template-areas: "body control" "info control";
|
|
239
253
|
}
|
|
@@ -242,7 +256,7 @@
|
|
|
242
256
|
grid-template-areas: "body" "info" "control";
|
|
243
257
|
}
|
|
244
258
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-hasPrompt {
|
|
245
|
-
grid-template-columns: auto
|
|
259
|
+
grid-template-columns: 1fr auto;
|
|
246
260
|
grid-template-rows: auto auto;
|
|
247
261
|
grid-template-areas: "body control" "prompt prompt";
|
|
248
262
|
}
|
|
@@ -251,7 +265,7 @@
|
|
|
251
265
|
grid-template-areas: "body" "prompt" "control";
|
|
252
266
|
}
|
|
253
267
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-noPrompt {
|
|
254
|
-
grid-template-columns: auto
|
|
268
|
+
grid-template-columns: 1fr auto;
|
|
255
269
|
grid-template-rows: auto;
|
|
256
270
|
grid-template-areas: "body control";
|
|
257
271
|
}
|
|
@@ -260,17 +274,17 @@
|
|
|
260
274
|
grid-template-areas: "body" "control";
|
|
261
275
|
}
|
|
262
276
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-hasInfo-hasPrompt {
|
|
263
|
-
grid-template-columns:
|
|
264
|
-
grid-template-rows: auto auto;
|
|
277
|
+
grid-template-columns: 1fr;
|
|
278
|
+
grid-template-rows: auto auto auto;
|
|
265
279
|
grid-template-areas: "body" "info" "prompt";
|
|
266
280
|
}
|
|
267
281
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-hasInfo-noPrompt {
|
|
268
|
-
grid-template-columns:
|
|
269
|
-
grid-template-rows: auto auto
|
|
282
|
+
grid-template-columns: 1fr;
|
|
283
|
+
grid-template-rows: auto auto;
|
|
270
284
|
grid-template-areas: "body" "info";
|
|
271
285
|
}
|
|
272
286
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-noInfo-hasPrompt {
|
|
273
|
-
grid-template-columns:
|
|
287
|
+
grid-template-columns: 1fr;
|
|
274
288
|
grid-template-rows: auto auto;
|
|
275
289
|
grid-template-areas: "body" "prompt";
|
|
276
290
|
}
|
|
@@ -676,8 +690,6 @@
|
|
|
676
690
|
}
|
|
677
691
|
.wds-list-item-control-wrapper {
|
|
678
692
|
grid-area: control;
|
|
679
|
-
align-content: center;
|
|
680
|
-
height: var(--wds-list-item-control-wrapper-height);
|
|
681
693
|
}
|
|
682
694
|
.wds-list-item-navigation .tw-icon-chevron-right {
|
|
683
695
|
color: #c9cbce;
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
gap: 4px 16px;
|
|
6
6
|
gap: var(--size-4) var(--size-16);
|
|
7
7
|
}
|
|
8
|
+
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-hasPrompt:not(:has(.wds-list-item-subtitle-value, .wds-list-item-subtitle)) .wds-list-item-prompt,
|
|
9
|
+
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-noInfo-hasPrompt:not(:has(.wds-list-item-subtitle-value, .wds-list-item-subtitle)) .wds-list-item-prompt {
|
|
10
|
+
margin-top: -2px;
|
|
11
|
+
}
|
|
8
12
|
@container (min-width: 375px) {
|
|
13
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
14
|
+
height: var(--wds-list-item-control-wrapper-height);
|
|
15
|
+
align-content: center;
|
|
16
|
+
}
|
|
9
17
|
.wds-list-item-gridWrapper .wds-list-item-media-image {
|
|
10
18
|
-o-object-position: center;
|
|
11
19
|
object-position: center;
|
|
@@ -102,6 +110,9 @@
|
|
|
102
110
|
-o-object-position: bottom left;
|
|
103
111
|
object-position: bottom left;
|
|
104
112
|
}
|
|
113
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
114
|
+
align-content: start;
|
|
115
|
+
}
|
|
105
116
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-hasPrompt {
|
|
106
117
|
grid-template-columns: 1fr auto;
|
|
107
118
|
grid-template-rows: auto auto auto auto;
|
|
@@ -222,8 +233,11 @@
|
|
|
222
233
|
}
|
|
223
234
|
}
|
|
224
235
|
@container (max-width: 297px) {
|
|
236
|
+
.wds-list-item-gridWrapper .wds-list-item-control-wrapper {
|
|
237
|
+
align-content: start;
|
|
238
|
+
}
|
|
225
239
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-hasPrompt {
|
|
226
|
-
grid-template-columns: auto
|
|
240
|
+
grid-template-columns: 1fr auto;
|
|
227
241
|
grid-template-rows: auto auto auto;
|
|
228
242
|
grid-template-areas: "body control" "info control" "prompt prompt";
|
|
229
243
|
}
|
|
@@ -233,7 +247,7 @@
|
|
|
233
247
|
grid-template-areas: "body" "info" "prompt" "control";
|
|
234
248
|
}
|
|
235
249
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-hasInfo-noPrompt {
|
|
236
|
-
grid-template-columns: auto
|
|
250
|
+
grid-template-columns: 1fr auto;
|
|
237
251
|
grid-template-rows: auto auto;
|
|
238
252
|
grid-template-areas: "body control" "info control";
|
|
239
253
|
}
|
|
@@ -242,7 +256,7 @@
|
|
|
242
256
|
grid-template-areas: "body" "info" "control";
|
|
243
257
|
}
|
|
244
258
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-hasPrompt {
|
|
245
|
-
grid-template-columns: auto
|
|
259
|
+
grid-template-columns: 1fr auto;
|
|
246
260
|
grid-template-rows: auto auto;
|
|
247
261
|
grid-template-areas: "body control" "prompt prompt";
|
|
248
262
|
}
|
|
@@ -251,7 +265,7 @@
|
|
|
251
265
|
grid-template-areas: "body" "prompt" "control";
|
|
252
266
|
}
|
|
253
267
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-hasControl.wds-list-item-noInfo-noPrompt {
|
|
254
|
-
grid-template-columns: auto
|
|
268
|
+
grid-template-columns: 1fr auto;
|
|
255
269
|
grid-template-rows: auto;
|
|
256
270
|
grid-template-areas: "body control";
|
|
257
271
|
}
|
|
@@ -260,17 +274,17 @@
|
|
|
260
274
|
grid-template-areas: "body" "control";
|
|
261
275
|
}
|
|
262
276
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-hasInfo-hasPrompt {
|
|
263
|
-
grid-template-columns:
|
|
264
|
-
grid-template-rows: auto auto;
|
|
277
|
+
grid-template-columns: 1fr;
|
|
278
|
+
grid-template-rows: auto auto auto;
|
|
265
279
|
grid-template-areas: "body" "info" "prompt";
|
|
266
280
|
}
|
|
267
281
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-hasInfo-noPrompt {
|
|
268
|
-
grid-template-columns:
|
|
269
|
-
grid-template-rows: auto auto
|
|
282
|
+
grid-template-columns: 1fr;
|
|
283
|
+
grid-template-rows: auto auto;
|
|
270
284
|
grid-template-areas: "body" "info";
|
|
271
285
|
}
|
|
272
286
|
.wds-list-item-gridWrapper.wds-list-item-hasMedia-noControl.wds-list-item-noInfo-hasPrompt {
|
|
273
|
-
grid-template-columns:
|
|
287
|
+
grid-template-columns: 1fr;
|
|
274
288
|
grid-template-rows: auto auto;
|
|
275
289
|
grid-template-areas: "body" "prompt";
|
|
276
290
|
}
|
|
@@ -3,7 +3,21 @@
|
|
|
3
3
|
display: grid;
|
|
4
4
|
gap: var(--size-4) var(--size-16);
|
|
5
5
|
|
|
6
|
+
&.wds-list-item-hasMedia-hasControl,
|
|
7
|
+
&.wds-list-item-hasMedia-noControl {
|
|
8
|
+
&.wds-list-item-noInfo-hasPrompt:not(:has(.wds-list-item-subtitle-value, .wds-list-item-subtitle)) {
|
|
9
|
+
.wds-list-item-prompt {
|
|
10
|
+
margin-top: -2px;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
6
15
|
@container (min-width: 375px) {
|
|
16
|
+
.wds-list-item-control-wrapper {
|
|
17
|
+
height: var(--wds-list-item-control-wrapper-height);
|
|
18
|
+
align-content: center;
|
|
19
|
+
}
|
|
20
|
+
|
|
7
21
|
.wds-list-item-media-image{
|
|
8
22
|
object-position: center;
|
|
9
23
|
}
|
|
@@ -158,6 +172,10 @@
|
|
|
158
172
|
object-position: bottom left;
|
|
159
173
|
}
|
|
160
174
|
|
|
175
|
+
.wds-list-item-control-wrapper {
|
|
176
|
+
align-content: start;
|
|
177
|
+
}
|
|
178
|
+
|
|
161
179
|
&.wds-list-item-hasMedia-hasControl {
|
|
162
180
|
&.wds-list-item-hasInfo-hasPrompt {
|
|
163
181
|
grid-template-columns: 1fr auto;
|
|
@@ -381,9 +399,12 @@
|
|
|
381
399
|
}
|
|
382
400
|
|
|
383
401
|
@container (max-width: 297px) {
|
|
402
|
+
.wds-list-item-control-wrapper {
|
|
403
|
+
align-content: start;
|
|
404
|
+
}
|
|
384
405
|
&.wds-list-item-hasMedia-hasControl {
|
|
385
406
|
&.wds-list-item-hasInfo-hasPrompt {
|
|
386
|
-
grid-template-columns: auto
|
|
407
|
+
grid-template-columns: 1fr auto;
|
|
387
408
|
grid-template-rows: auto auto auto;
|
|
388
409
|
grid-template-areas:
|
|
389
410
|
"body control"
|
|
@@ -402,7 +423,7 @@
|
|
|
402
423
|
}
|
|
403
424
|
|
|
404
425
|
&.wds-list-item-hasInfo-noPrompt {
|
|
405
|
-
grid-template-columns: auto
|
|
426
|
+
grid-template-columns: 1fr auto;
|
|
406
427
|
grid-template-rows: auto auto;
|
|
407
428
|
grid-template-areas:
|
|
408
429
|
"body control"
|
|
@@ -418,7 +439,7 @@
|
|
|
418
439
|
}
|
|
419
440
|
|
|
420
441
|
&.wds-list-item-noInfo-hasPrompt {
|
|
421
|
-
grid-template-columns: auto
|
|
442
|
+
grid-template-columns: 1fr auto;
|
|
422
443
|
grid-template-rows: auto auto;
|
|
423
444
|
grid-template-areas:
|
|
424
445
|
"body control"
|
|
@@ -434,7 +455,7 @@
|
|
|
434
455
|
}
|
|
435
456
|
|
|
436
457
|
&.wds-list-item-noInfo-noPrompt {
|
|
437
|
-
grid-template-columns: auto
|
|
458
|
+
grid-template-columns: 1fr auto;
|
|
438
459
|
grid-template-rows: auto;
|
|
439
460
|
grid-template-areas:
|
|
440
461
|
"body control";
|
|
@@ -450,8 +471,8 @@
|
|
|
450
471
|
|
|
451
472
|
&.wds-list-item-hasMedia-noControl {
|
|
452
473
|
&.wds-list-item-hasInfo-hasPrompt {
|
|
453
|
-
grid-template-columns:
|
|
454
|
-
grid-template-rows: auto auto;
|
|
474
|
+
grid-template-columns: 1fr;
|
|
475
|
+
grid-template-rows: auto auto auto;
|
|
455
476
|
grid-template-areas:
|
|
456
477
|
"body"
|
|
457
478
|
"info"
|
|
@@ -459,15 +480,15 @@
|
|
|
459
480
|
}
|
|
460
481
|
|
|
461
482
|
&.wds-list-item-hasInfo-noPrompt {
|
|
462
|
-
grid-template-columns:
|
|
463
|
-
grid-template-rows: auto auto
|
|
483
|
+
grid-template-columns: 1fr;
|
|
484
|
+
grid-template-rows: auto auto;
|
|
464
485
|
grid-template-areas:
|
|
465
486
|
"body"
|
|
466
487
|
"info"
|
|
467
488
|
}
|
|
468
489
|
|
|
469
490
|
&.wds-list-item-noInfo-hasPrompt {
|
|
470
|
-
grid-template-columns:
|
|
491
|
+
grid-template-columns: 1fr;
|
|
471
492
|
grid-template-rows: auto auto;
|
|
472
493
|
grid-template-areas:
|
|
473
494
|
"body"
|
|
@@ -495,6 +516,7 @@
|
|
|
495
516
|
"info control"
|
|
496
517
|
"prompt prompt";
|
|
497
518
|
|
|
519
|
+
|
|
498
520
|
&:has(.wds-list-item-button-control) {
|
|
499
521
|
grid-template-columns: 1fr;
|
|
500
522
|
grid-template-rows: auto;
|
|
@@ -48,6 +48,14 @@ export const withoutKey: Decorator = (Story, { args }) => {
|
|
|
48
48
|
return <Story key={key} />;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
+
export const withSizedContainer =
|
|
52
|
+
(width: number): Decorator =>
|
|
53
|
+
(Story, { args }) => (
|
|
54
|
+
<div style={{ width, border: '1px dashed #ccc', padding: '8px' }}>
|
|
55
|
+
<Story />
|
|
56
|
+
</div>
|
|
57
|
+
);
|
|
58
|
+
|
|
51
59
|
/**
|
|
52
60
|
* Not all stories need access to all controls as it causes unnecessary UI noise.
|
|
53
61
|
*/
|
|
@@ -25,6 +25,13 @@ export type SB_ListItem_ControlType =
|
|
|
25
25
|
| 'radio'
|
|
26
26
|
| 'switch';
|
|
27
27
|
|
|
28
|
+
export const SB_LIST_ITEM_TEXT = {
|
|
29
|
+
title: 'This is a title',
|
|
30
|
+
subtitle: 'And it also has a subtitle',
|
|
31
|
+
valueTitle: '100 GBP',
|
|
32
|
+
valueSubtitle: '200 USD',
|
|
33
|
+
};
|
|
34
|
+
|
|
28
35
|
export const SB_LIST_ITEM_CONTROLS: Record<SB_ListItem_ControlType, ReactNode> = {
|
|
29
36
|
'non-interactive': null,
|
|
30
37
|
button: <ListItem.Button onClick={() => {}}>Click me</ListItem.Button>,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react-webpack5';
|
|
2
|
+
import { ListItem, type ListItemProps } from '../../ListItem';
|
|
3
|
+
import { generateVariantsForControl } from './helpers';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
component: ListItem,
|
|
7
|
+
title: 'Content/ListItem/tests/variants/theme: bright-green',
|
|
8
|
+
tags: ['!autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
controls: { disable: true },
|
|
11
|
+
actions: { disable: true },
|
|
12
|
+
knobs: { disable: true },
|
|
13
|
+
},
|
|
14
|
+
} satisfies Meta<ListItemProps>;
|
|
15
|
+
|
|
16
|
+
export const Button = generateVariantsForControl('button', 'bright-green');
|
|
17
|
+
export const ButtonAsLink = generateVariantsForControl('buttonAsLink', 'bright-green');
|
|
18
|
+
export const ButtonPartiallyInteractive = generateVariantsForControl(
|
|
19
|
+
'partialButton',
|
|
20
|
+
'bright-green',
|
|
21
|
+
);
|
|
22
|
+
export const ButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
23
|
+
'partialButtonAsLink',
|
|
24
|
+
'bright-green',
|
|
25
|
+
);
|
|
26
|
+
export const IconButton = generateVariantsForControl('iconButton', 'bright-green');
|
|
27
|
+
export const IconButtonAsLink = generateVariantsForControl('iconButtonAsLink', 'bright-green');
|
|
28
|
+
export const IconButtonWithLabel = generateVariantsForControl(
|
|
29
|
+
'iconButtonWithLabel',
|
|
30
|
+
'bright-green',
|
|
31
|
+
);
|
|
32
|
+
export const IconButtonAsLinkWithLabel = generateVariantsForControl(
|
|
33
|
+
'iconButtonAsLinkWithLabel',
|
|
34
|
+
'bright-green',
|
|
35
|
+
);
|
|
36
|
+
export const IconButtonPartiallyInteractive = generateVariantsForControl(
|
|
37
|
+
'partialIconButton',
|
|
38
|
+
'bright-green',
|
|
39
|
+
);
|
|
40
|
+
export const IconButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
41
|
+
'partialIconButtonAsLink',
|
|
42
|
+
'bright-green',
|
|
43
|
+
);
|
|
44
|
+
export const Navigation = generateVariantsForControl('navigation', 'bright-green');
|
|
45
|
+
export const NavigationAsButton = generateVariantsForControl('navigationAsButton', 'bright-green');
|
|
46
|
+
export const Checkbox = generateVariantsForControl('checkbox', 'bright-green');
|
|
47
|
+
export const Radio = generateVariantsForControl('radio', 'bright-green');
|
|
48
|
+
export const Switch = generateVariantsForControl('switch', 'bright-green');
|
|
49
|
+
export const NonInteractive = generateVariantsForControl('non-interactive', 'bright-green');
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react-webpack5';
|
|
2
|
+
import { ListItem, type ListItemProps } from '../../ListItem';
|
|
3
|
+
import { generateVariantsForControl } from './helpers';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
component: ListItem,
|
|
7
|
+
title: 'Content/ListItem/tests/variants/theme: dark',
|
|
8
|
+
tags: ['!autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
controls: { disable: true },
|
|
11
|
+
actions: { disable: true },
|
|
12
|
+
knobs: { disable: true },
|
|
13
|
+
},
|
|
14
|
+
} satisfies Meta<ListItemProps>;
|
|
15
|
+
|
|
16
|
+
export const Button = generateVariantsForControl('button', 'dark');
|
|
17
|
+
export const ButtonAsLink = generateVariantsForControl('buttonAsLink', 'dark');
|
|
18
|
+
export const ButtonPartiallyInteractive = generateVariantsForControl('partialButton', 'dark');
|
|
19
|
+
export const ButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
20
|
+
'partialButtonAsLink',
|
|
21
|
+
'dark',
|
|
22
|
+
);
|
|
23
|
+
export const IconButton = generateVariantsForControl('iconButton', 'dark');
|
|
24
|
+
export const IconButtonAsLink = generateVariantsForControl('iconButtonAsLink', 'dark');
|
|
25
|
+
export const IconButtonWithLabel = generateVariantsForControl('iconButtonWithLabel', 'dark');
|
|
26
|
+
export const IconButtonAsLinkWithLabel = generateVariantsForControl(
|
|
27
|
+
'iconButtonAsLinkWithLabel',
|
|
28
|
+
'dark',
|
|
29
|
+
);
|
|
30
|
+
export const IconButtonPartiallyInteractive = generateVariantsForControl(
|
|
31
|
+
'partialIconButton',
|
|
32
|
+
'dark',
|
|
33
|
+
);
|
|
34
|
+
export const IconButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
35
|
+
'partialIconButtonAsLink',
|
|
36
|
+
'dark',
|
|
37
|
+
);
|
|
38
|
+
export const Navigation = generateVariantsForControl('navigation', 'dark');
|
|
39
|
+
export const NavigationAsButton = generateVariantsForControl('navigationAsButton', 'dark');
|
|
40
|
+
export const Checkbox = generateVariantsForControl('checkbox', 'dark');
|
|
41
|
+
export const Radio = generateVariantsForControl('radio', 'dark');
|
|
42
|
+
export const Switch = generateVariantsForControl('switch', 'dark');
|
|
43
|
+
export const NonInteractive = generateVariantsForControl('non-interactive', 'dark');
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react-webpack5';
|
|
2
|
+
import { ListItem, type ListItemProps } from '../../ListItem';
|
|
3
|
+
import { generateVariantsForControl } from './helpers';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
component: ListItem,
|
|
7
|
+
title: 'Content/ListItem/tests/variants/theme: forest-green',
|
|
8
|
+
tags: ['!autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
controls: { disable: true },
|
|
11
|
+
actions: { disable: true },
|
|
12
|
+
knobs: { disable: true },
|
|
13
|
+
},
|
|
14
|
+
} satisfies Meta<ListItemProps>;
|
|
15
|
+
|
|
16
|
+
export const Button = generateVariantsForControl('button', 'forest-green');
|
|
17
|
+
export const ButtonAsLink = generateVariantsForControl('buttonAsLink', 'forest-green');
|
|
18
|
+
export const ButtonPartiallyInteractive = generateVariantsForControl(
|
|
19
|
+
'partialButton',
|
|
20
|
+
'forest-green',
|
|
21
|
+
);
|
|
22
|
+
export const ButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
23
|
+
'partialButtonAsLink',
|
|
24
|
+
'forest-green',
|
|
25
|
+
);
|
|
26
|
+
export const IconButton = generateVariantsForControl('iconButton', 'forest-green');
|
|
27
|
+
export const IconButtonAsLink = generateVariantsForControl('iconButtonAsLink', 'forest-green');
|
|
28
|
+
export const IconButtonWithLabel = generateVariantsForControl(
|
|
29
|
+
'iconButtonWithLabel',
|
|
30
|
+
'forest-green',
|
|
31
|
+
);
|
|
32
|
+
export const IconButtonAsLinkWithLabel = generateVariantsForControl(
|
|
33
|
+
'iconButtonAsLinkWithLabel',
|
|
34
|
+
'forest-green',
|
|
35
|
+
);
|
|
36
|
+
export const IconButtonPartiallyInteractive = generateVariantsForControl(
|
|
37
|
+
'partialIconButton',
|
|
38
|
+
'forest-green',
|
|
39
|
+
);
|
|
40
|
+
export const IconButtonAsLinkPartiallyInteractive = generateVariantsForControl(
|
|
41
|
+
'partialIconButtonAsLink',
|
|
42
|
+
'forest-green',
|
|
43
|
+
);
|
|
44
|
+
export const Navigation = generateVariantsForControl('navigation', 'forest-green');
|
|
45
|
+
export const NavigationAsButton = generateVariantsForControl('navigationAsButton', 'forest-green');
|
|
46
|
+
export const Checkbox = generateVariantsForControl('checkbox', 'forest-green');
|
|
47
|
+
export const Radio = generateVariantsForControl('radio', 'forest-green');
|
|
48
|
+
export const Switch = generateVariantsForControl('switch', 'forest-green');
|
|
49
|
+
export const NonInteractive = generateVariantsForControl('non-interactive', 'forest-green');
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Meta } from '@storybook/react-webpack5';
|
|
2
|
+
import { ListItem, type ListItemProps } from '../../ListItem';
|
|
3
|
+
import { generateVariantsForControl } from './helpers';
|
|
4
|
+
import { withSizedContainer } from '../helpers';
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
component: ListItem,
|
|
8
|
+
title: 'Content/ListItem/tests/variants/cq: medium',
|
|
9
|
+
tags: ['!autodocs'],
|
|
10
|
+
parameters: {
|
|
11
|
+
controls: { disable: true },
|
|
12
|
+
actions: { disable: true },
|
|
13
|
+
knobs: { disable: true },
|
|
14
|
+
},
|
|
15
|
+
decorators: [withSizedContainer(350)],
|
|
16
|
+
} satisfies Meta<ListItemProps>;
|
|
17
|
+
|
|
18
|
+
export const Button = generateVariantsForControl('button');
|
|
19
|
+
export const ButtonAsLink = generateVariantsForControl('buttonAsLink');
|
|
20
|
+
export const ButtonPartiallyInteractive = generateVariantsForControl('partialButton');
|
|
21
|
+
export const ButtonAsLinkPartiallyInteractive = generateVariantsForControl('partialButtonAsLink');
|
|
22
|
+
export const IconButton = generateVariantsForControl('iconButton');
|
|
23
|
+
export const IconButtonAsLink = generateVariantsForControl('iconButtonAsLink');
|
|
24
|
+
export const IconButtonWithLabel = generateVariantsForControl('iconButtonWithLabel');
|
|
25
|
+
export const IconButtonAsLinkWithLabel = generateVariantsForControl('iconButtonAsLinkWithLabel');
|
|
26
|
+
export const IconButtonPartiallyInteractive = generateVariantsForControl('partialIconButton');
|
|
27
|
+
export const IconButtonAsLinkPartiallyInteractive =
|
|
28
|
+
generateVariantsForControl('partialIconButtonAsLink');
|
|
29
|
+
export const Navigation = generateVariantsForControl('navigation');
|
|
30
|
+
export const NavigationAsButton = generateVariantsForControl('navigationAsButton');
|
|
31
|
+
export const Checkbox = generateVariantsForControl('checkbox');
|
|
32
|
+
export const Radio = generateVariantsForControl('radio');
|
|
33
|
+
export const Switch = generateVariantsForControl('switch');
|
|
34
|
+
export const NonInteractive = generateVariantsForControl('non-interactive');
|