@transferwise/components 0.0.0-experimental-15914a5 → 0.0.0-experimental-e1870f3
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/flowNavigation/animatedLabel/AnimatedLabel.js +2 -2
- package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs +2 -2
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
- package/build/index.js +2 -2
- package/build/index.mjs +1 -1
- package/build/listItem/AvatarLayout/ListItemAvatarLayout.js +0 -2
- package/build/listItem/AvatarLayout/ListItemAvatarLayout.js.map +1 -1
- package/build/listItem/AvatarLayout/ListItemAvatarLayout.mjs +0 -2
- package/build/listItem/AvatarLayout/ListItemAvatarLayout.mjs.map +1 -1
- package/build/listItem/AvatarView/ListItemAvatarView.js +0 -2
- package/build/listItem/AvatarView/ListItemAvatarView.js.map +1 -1
- package/build/listItem/AvatarView/ListItemAvatarView.mjs +0 -2
- package/build/listItem/AvatarView/ListItemAvatarView.mjs.map +1 -1
- package/build/listItem/Image/ListItemImage.js +1 -3
- package/build/listItem/Image/ListItemImage.js.map +1 -1
- package/build/listItem/Image/ListItemImage.mjs +1 -3
- package/build/listItem/Image/ListItemImage.mjs.map +1 -1
- package/build/{legacylistItem → listItem}/List.js +3 -2
- package/build/listItem/List.js.map +1 -0
- package/build/{legacylistItem → listItem}/List.mjs +3 -2
- package/build/listItem/List.mjs.map +1 -0
- package/build/listItem/ListItem.js +14 -16
- package/build/listItem/ListItem.js.map +1 -1
- package/build/listItem/ListItem.mjs +14 -16
- package/build/listItem/ListItem.mjs.map +1 -1
- package/build/listItem/ListItemContext.js.map +1 -1
- package/build/listItem/ListItemContext.mjs.map +1 -1
- package/build/listItem/Navigation/ListItemNavigation.js +1 -1
- package/build/listItem/Navigation/ListItemNavigation.js.map +1 -1
- package/build/listItem/Navigation/ListItemNavigation.mjs +1 -1
- package/build/listItem/Navigation/ListItemNavigation.mjs.map +1 -1
- package/build/main.css +99 -51
- package/build/styles/avatarView/AvatarView.css +3 -1
- package/build/styles/listItem/ListItem.css +96 -50
- package/build/styles/listItem/ListItem.grid.css +9 -15
- package/build/styles/main.css +99 -51
- package/build/types/index.d.ts +4 -4
- package/build/types/index.d.ts.map +1 -1
- package/build/types/legacylistItem/index.d.ts +0 -2
- package/build/types/legacylistItem/index.d.ts.map +1 -1
- package/build/types/listItem/AvatarLayout/ListItemAvatarLayout.d.ts.map +1 -1
- package/build/types/listItem/AvatarView/ListItemAvatarView.d.ts.map +1 -1
- package/build/types/listItem/Image/ListItemImage.d.ts.map +1 -1
- package/build/types/listItem/List.d.ts +7 -0
- package/build/types/listItem/List.d.ts.map +1 -0
- package/build/types/listItem/ListItem.d.ts.map +1 -1
- package/build/types/listItem/ListItemContext.d.ts +0 -4
- package/build/types/listItem/ListItemContext.d.ts.map +1 -1
- package/build/types/listItem/index.d.ts +2 -0
- package/build/types/listItem/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/avatarView/AvatarView.css +3 -1
- package/src/avatarView/AvatarView.less +2 -1
- package/src/flowNavigation/animatedLabel/AnimatedLabel.tsx +1 -1
- package/src/index.ts +9 -4
- package/src/legacylistItem/LegacyListItem.story.tsx +2 -2
- package/src/legacylistItem/LegacyListItem.tests.story.tsx +2 -1
- package/src/legacylistItem/index.ts +0 -2
- package/src/listItem/AvatarLayout/ListItemAvatarLayout.story.tsx +5 -4
- package/src/listItem/AvatarLayout/ListItemAvatarLayout.tsx +0 -3
- package/src/listItem/AvatarView/ListItemAvatarView.story.tsx +5 -4
- package/src/listItem/AvatarView/ListItemAvatarView.tsx +0 -3
- package/src/listItem/Button/ListItemButton.spec.tsx +35 -10
- package/src/listItem/Button/ListItemButton.story.tsx +9 -8
- package/src/listItem/IconButton/ListItemIconButton.story.tsx +8 -8
- package/src/listItem/Image/ListItemImage.spec.tsx +5 -8
- package/src/listItem/Image/ListItemImage.story.tsx +6 -23
- package/src/listItem/Image/ListItemImage.tsx +1 -4
- package/src/listItem/List.tsx +11 -0
- package/src/listItem/ListItem.css +96 -50
- package/src/listItem/ListItem.grid.css +9 -15
- package/src/listItem/ListItem.grid.less +14 -22
- package/src/listItem/ListItem.less +111 -46
- package/src/listItem/ListItem.tsx +18 -24
- package/src/listItem/ListItemContext.tsx +0 -5
- package/src/listItem/Navigation/ListItemNavigation.tsx +1 -1
- package/src/listItem/Prompt/ListItemPrompt.story.tsx +7 -7
- package/src/listItem/Switch/ListItemSwitch.story.tsx +3 -2
- package/src/listItem/_stories/ListItem.scenarios.story.tsx +226 -0
- package/src/listItem/_stories/ListItem.story.tsx +45 -7
- package/src/listItem/_stories/ListItem.variants.test.story.tsx +7 -11
- package/src/listItem/index.ts +3 -0
- package/src/main.css +99 -51
- package/build/legacylistItem/List.js.map +0 -1
- package/build/legacylistItem/List.mjs.map +0 -1
- package/build/listItem/useListItemMedia.js +0 -21
- package/build/listItem/useListItemMedia.js.map +0 -1
- package/build/listItem/useListItemMedia.mjs +0 -19
- package/build/listItem/useListItemMedia.mjs.map +0 -1
- package/build/types/legacylistItem/List.d.ts +0 -6
- package/build/types/legacylistItem/List.d.ts.map +0 -1
- package/build/types/listItem/test-utils.d.ts +0 -7
- package/build/types/listItem/test-utils.d.ts.map +0 -1
- package/build/types/listItem/useListItemMedia.d.ts +0 -6
- package/build/types/listItem/useListItemMedia.d.ts.map +0 -1
- package/src/legacylistItem/List.tsx +0 -10
- package/src/listItem/test-utils.tsx +0 -33
- package/src/listItem/useListItemMedia.tsx +0 -13
|
@@ -8,8 +8,8 @@ var BottomSheet = require('../../common/bottomSheet/BottomSheet.js');
|
|
|
8
8
|
var Option = require('../../common/Option/Option.js');
|
|
9
9
|
var icons = require('@transferwise/icons');
|
|
10
10
|
var OverlayIdProvider = require('../../provider/overlay/OverlayIdProvider.js');
|
|
11
|
-
|
|
12
|
-
require('../../
|
|
11
|
+
require('../../listItem/ListItem.js');
|
|
12
|
+
var List = require('../../listItem/List.js');
|
|
13
13
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
14
|
|
|
15
15
|
const AnimatedLabel = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedLabel.js","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../
|
|
1
|
+
{"version":3,"file":"AnimatedLabel.js","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../listItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import BottomSheet from '../../common/bottomSheet/BottomSheet.mjs';
|
|
|
4
4
|
import Option from '../../common/Option/Option.mjs';
|
|
5
5
|
import { ChevronDown, Check } from '@transferwise/icons';
|
|
6
6
|
import { OverlayIdProvider, OverlayIdContext } from '../../provider/overlay/OverlayIdProvider.mjs';
|
|
7
|
-
import
|
|
8
|
-
import '../../
|
|
7
|
+
import '../../listItem/ListItem.mjs';
|
|
8
|
+
import { List } from '../../listItem/List.mjs';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
11
|
const AnimatedLabel = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedLabel.mjs","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../
|
|
1
|
+
{"version":3,"file":"AnimatedLabel.mjs","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../listItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -60,7 +60,6 @@ var TextArea = require('./inputs/TextArea.js');
|
|
|
60
60
|
var InstructionsList = require('./instructionsList/InstructionsList.js');
|
|
61
61
|
var Label = require('./label/Label.js');
|
|
62
62
|
var Link = require('./link/Link.js');
|
|
63
|
-
var List = require('./legacylistItem/List.js');
|
|
64
63
|
var LegacyListItem = require('./legacylistItem/LegacyListItem.js');
|
|
65
64
|
var Loader = require('./loader/Loader.js');
|
|
66
65
|
var Logo = require('./logo/Logo.js');
|
|
@@ -108,6 +107,7 @@ var Upload = require('./upload/Upload.js');
|
|
|
108
107
|
var UploadInput = require('./uploadInput/UploadInput.js');
|
|
109
108
|
var Table = require('./table/Table.js');
|
|
110
109
|
var ListItem = require('./listItem/ListItem.js');
|
|
110
|
+
var List = require('./listItem/List.js');
|
|
111
111
|
require('@transferwise/neptune-validation');
|
|
112
112
|
var useDirection = require('./common/hooks/useDirection/useDirection.js');
|
|
113
113
|
var useLayout = require('./common/hooks/useLayout/useLayout.js');
|
|
@@ -218,7 +218,6 @@ exports.TextArea = TextArea.TextArea;
|
|
|
218
218
|
exports.InstructionsList = InstructionsList.default;
|
|
219
219
|
exports.Label = Label.Label;
|
|
220
220
|
exports.Link = Link.default;
|
|
221
|
-
exports.List = List.List;
|
|
222
221
|
exports.LegacyListItem = LegacyListItem.default;
|
|
223
222
|
exports.Loader = Loader.default;
|
|
224
223
|
exports.Logo = Logo.default;
|
|
@@ -275,6 +274,7 @@ Object.defineProperty(exports, "UploadStep", {
|
|
|
275
274
|
exports.UploadInput = UploadInput.default;
|
|
276
275
|
exports.Table = Table.default;
|
|
277
276
|
exports.ListItem = ListItem.ListItem;
|
|
277
|
+
exports.List = List.List;
|
|
278
278
|
exports.useDirection = useDirection.useDirection;
|
|
279
279
|
exports.useLayout = useLayout.useLayout;
|
|
280
280
|
exports.useScreenSize = useScreenSize.useScreenSize;
|
package/build/index.mjs
CHANGED
|
@@ -58,7 +58,6 @@ export { TextArea } from './inputs/TextArea.mjs';
|
|
|
58
58
|
export { default as InstructionsList } from './instructionsList/InstructionsList.mjs';
|
|
59
59
|
export { Label } from './label/Label.mjs';
|
|
60
60
|
export { default as Link } from './link/Link.mjs';
|
|
61
|
-
export { List } from './legacylistItem/List.mjs';
|
|
62
61
|
export { default as LegacyListItem } from './legacylistItem/LegacyListItem.mjs';
|
|
63
62
|
export { default as Loader } from './loader/Loader.mjs';
|
|
64
63
|
export { default as Logo, LogoType } from './logo/Logo.mjs';
|
|
@@ -106,6 +105,7 @@ export { default as Upload, UploadStep } from './upload/Upload.mjs';
|
|
|
106
105
|
export { default as UploadInput } from './uploadInput/UploadInput.mjs';
|
|
107
106
|
export { default as Table } from './table/Table.mjs';
|
|
108
107
|
export { ListItem } from './listItem/ListItem.mjs';
|
|
108
|
+
export { List } from './listItem/List.mjs';
|
|
109
109
|
import '@transferwise/neptune-validation';
|
|
110
110
|
export { useDirection } from './common/hooks/useDirection/useDirection.mjs';
|
|
111
111
|
export { useLayout } from './common/hooks/useLayout/useLayout.mjs';
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var AvatarLayout$1 = require('../../avatarLayout/AvatarLayout.js');
|
|
4
4
|
var clsx = require('clsx');
|
|
5
|
-
var useListItemMedia = require('../useListItemMedia.js');
|
|
6
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
6
|
|
|
8
7
|
const AvatarLayout = ({
|
|
@@ -10,7 +9,6 @@ const AvatarLayout = ({
|
|
|
10
9
|
size = 48,
|
|
11
10
|
...props
|
|
12
11
|
}) => {
|
|
13
|
-
useListItemMedia.useListItemMedia(size);
|
|
14
12
|
return /*#__PURE__*/jsxRuntime.jsx(AvatarLayout$1.default, {
|
|
15
13
|
...props,
|
|
16
14
|
size: size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemAvatarLayout.js","sources":["../../../src/listItem/AvatarLayout/ListItemAvatarLayout.tsx"],"sourcesContent":["import AvatarLayoutComp, { type AvatarLayoutProps } from '../../avatarLayout';\nimport { clsx } from 'clsx';\
|
|
1
|
+
{"version":3,"file":"ListItemAvatarLayout.js","sources":["../../../src/listItem/AvatarLayout/ListItemAvatarLayout.tsx"],"sourcesContent":["import AvatarLayoutComp, { type AvatarLayoutProps } from '../../avatarLayout';\nimport { clsx } from 'clsx';\n\ntype SizeProp = { size?: 32 | 40 | 48 | 56 | 72 };\n\nexport type ListItemAvatarLayoutProps = Omit<AvatarLayoutProps, 'size' | 'interactive'> & SizeProp;\n\n/**\n * This component allows for rendering 2 avatars. It's a thin wrapper around the\n * [AvatarLayout component](https://storybook.wise.design/?path=/docs/content-avatarlayout--docs), but offers only\n * a subset of its sizes, and disallows interactive mode, in line with the ListItem's constraints. <br />\n * <br />\n * Please refer to the [Design documentation](https://wise.design/components/list-item#avatar) for details.\n */\nexport const AvatarLayout = ({ className, size = 48, ...props }: ListItemAvatarLayoutProps) => {\n return (\n <AvatarLayoutComp\n {...props}\n size={size}\n className={clsx('wds-list-item-media-avatar-layout', className)}\n />\n );\n};\nAvatarLayout.displayName = 'ListItem.AvatarLayout';\n"],"names":["AvatarLayout","className","size","props","_jsx","AvatarLayoutComp","clsx","displayName"],"mappings":";;;;;;AAcO,MAAMA,YAAY,GAAGA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAA6B,KAAI;EAC5F,oBACEC,cAAA,CAACC,sBAAgB,EAAA;AAAA,IAAA,GACXF,KAAK;AACTD,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,SAAS,EAAEK,SAAI,CAAC,mCAAmC,EAAEL,SAAS;AAAE,GAAA,CAChE;AAEN;AACAD,YAAY,CAACO,WAAW,GAAG,uBAAuB;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import AvatarLayout$1 from '../../avatarLayout/AvatarLayout.mjs';
|
|
2
2
|
import { clsx } from 'clsx';
|
|
3
|
-
import { useListItemMedia } from '../useListItemMedia.mjs';
|
|
4
3
|
import { jsx } from 'react/jsx-runtime';
|
|
5
4
|
|
|
6
5
|
const AvatarLayout = ({
|
|
@@ -8,7 +7,6 @@ const AvatarLayout = ({
|
|
|
8
7
|
size = 48,
|
|
9
8
|
...props
|
|
10
9
|
}) => {
|
|
11
|
-
useListItemMedia(size);
|
|
12
10
|
return /*#__PURE__*/jsx(AvatarLayout$1, {
|
|
13
11
|
...props,
|
|
14
12
|
size: size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemAvatarLayout.mjs","sources":["../../../src/listItem/AvatarLayout/ListItemAvatarLayout.tsx"],"sourcesContent":["import AvatarLayoutComp, { type AvatarLayoutProps } from '../../avatarLayout';\nimport { clsx } from 'clsx';\
|
|
1
|
+
{"version":3,"file":"ListItemAvatarLayout.mjs","sources":["../../../src/listItem/AvatarLayout/ListItemAvatarLayout.tsx"],"sourcesContent":["import AvatarLayoutComp, { type AvatarLayoutProps } from '../../avatarLayout';\nimport { clsx } from 'clsx';\n\ntype SizeProp = { size?: 32 | 40 | 48 | 56 | 72 };\n\nexport type ListItemAvatarLayoutProps = Omit<AvatarLayoutProps, 'size' | 'interactive'> & SizeProp;\n\n/**\n * This component allows for rendering 2 avatars. It's a thin wrapper around the\n * [AvatarLayout component](https://storybook.wise.design/?path=/docs/content-avatarlayout--docs), but offers only\n * a subset of its sizes, and disallows interactive mode, in line with the ListItem's constraints. <br />\n * <br />\n * Please refer to the [Design documentation](https://wise.design/components/list-item#avatar) for details.\n */\nexport const AvatarLayout = ({ className, size = 48, ...props }: ListItemAvatarLayoutProps) => {\n return (\n <AvatarLayoutComp\n {...props}\n size={size}\n className={clsx('wds-list-item-media-avatar-layout', className)}\n />\n );\n};\nAvatarLayout.displayName = 'ListItem.AvatarLayout';\n"],"names":["AvatarLayout","className","size","props","_jsx","AvatarLayoutComp","clsx","displayName"],"mappings":";;;;AAcO,MAAMA,YAAY,GAAGA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAA6B,KAAI;EAC5F,oBACEC,GAAA,CAACC,cAAgB,EAAA;AAAA,IAAA,GACXF,KAAK;AACTD,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,SAAS,EAAEK,IAAI,CAAC,mCAAmC,EAAEL,SAAS;AAAE,GAAA,CAChE;AAEN;AACAD,YAAY,CAACO,WAAW,GAAG,uBAAuB;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
4
|
var AvatarView$1 = require('../../avatarView/AvatarView.js');
|
|
5
|
-
var useListItemMedia = require('../useListItemMedia.js');
|
|
6
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
6
|
|
|
8
7
|
const AvatarView = ({
|
|
@@ -10,7 +9,6 @@ const AvatarView = ({
|
|
|
10
9
|
size = 48,
|
|
11
10
|
...props
|
|
12
11
|
}) => {
|
|
13
|
-
useListItemMedia.useListItemMedia(size);
|
|
14
12
|
return /*#__PURE__*/jsxRuntime.jsx(AvatarView$1.default, {
|
|
15
13
|
...props,
|
|
16
14
|
size: size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemAvatarView.js","sources":["../../../src/listItem/AvatarView/ListItemAvatarView.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport AvatarViewComp, { AvatarViewProps } from '../../avatarView';\
|
|
1
|
+
{"version":3,"file":"ListItemAvatarView.js","sources":["../../../src/listItem/AvatarView/ListItemAvatarView.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport AvatarViewComp, { AvatarViewProps } from '../../avatarView';\n\nexport type ListItemAvatarViewProps = Omit<AvatarViewProps, 'size' | 'interactive'> & {\n size?: 32 | 40 | 48 | 56 | 72;\n};\n\n/**\n * This component renders a single avatar. It's a thin wrapper around the\n * [AvatarView component](https://storybook.wise.design/?path=/docs/content-avatarview--docs), but offers only\n * a subset of its sizes, in line with the ListItem's constraints. <br />\n * <br />\n * Please refer to the [Design documentation](https://wise.design/components/list-item#avatar) for details.\n */\nexport const AvatarView = ({ className, size = 48, ...props }: ListItemAvatarViewProps) => {\n return (\n <AvatarViewComp\n {...props}\n size={size}\n className={clsx('wds-list-item-media-avatar-view', className)}\n />\n );\n};\nAvatarView.displayName = 'ListItem.AvatarView';\n"],"names":["AvatarView","className","size","props","_jsx","AvatarViewComp","clsx","displayName"],"mappings":";;;;;;AAcO,MAAMA,UAAU,GAAGA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAA2B,KAAI;EACxF,oBACEC,cAAA,CAACC,oBAAc,EAAA;AAAA,IAAA,GACTF,KAAK;AACTD,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,SAAS,EAAEK,SAAI,CAAC,iCAAiC,EAAEL,SAAS;AAAE,GAAA,CAC9D;AAEN;AACAD,UAAU,CAACO,WAAW,GAAG,qBAAqB;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import AvatarView$1 from '../../avatarView/AvatarView.mjs';
|
|
3
|
-
import { useListItemMedia } from '../useListItemMedia.mjs';
|
|
4
3
|
import { jsx } from 'react/jsx-runtime';
|
|
5
4
|
|
|
6
5
|
const AvatarView = ({
|
|
@@ -8,7 +7,6 @@ const AvatarView = ({
|
|
|
8
7
|
size = 48,
|
|
9
8
|
...props
|
|
10
9
|
}) => {
|
|
11
|
-
useListItemMedia(size);
|
|
12
10
|
return /*#__PURE__*/jsx(AvatarView$1, {
|
|
13
11
|
...props,
|
|
14
12
|
size: size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemAvatarView.mjs","sources":["../../../src/listItem/AvatarView/ListItemAvatarView.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport AvatarViewComp, { AvatarViewProps } from '../../avatarView';\
|
|
1
|
+
{"version":3,"file":"ListItemAvatarView.mjs","sources":["../../../src/listItem/AvatarView/ListItemAvatarView.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport AvatarViewComp, { AvatarViewProps } from '../../avatarView';\n\nexport type ListItemAvatarViewProps = Omit<AvatarViewProps, 'size' | 'interactive'> & {\n size?: 32 | 40 | 48 | 56 | 72;\n};\n\n/**\n * This component renders a single avatar. It's a thin wrapper around the\n * [AvatarView component](https://storybook.wise.design/?path=/docs/content-avatarview--docs), but offers only\n * a subset of its sizes, in line with the ListItem's constraints. <br />\n * <br />\n * Please refer to the [Design documentation](https://wise.design/components/list-item#avatar) for details.\n */\nexport const AvatarView = ({ className, size = 48, ...props }: ListItemAvatarViewProps) => {\n return (\n <AvatarViewComp\n {...props}\n size={size}\n className={clsx('wds-list-item-media-avatar-view', className)}\n />\n );\n};\nAvatarView.displayName = 'ListItem.AvatarView';\n"],"names":["AvatarView","className","size","props","_jsx","AvatarViewComp","clsx","displayName"],"mappings":";;;;AAcO,MAAMA,UAAU,GAAGA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAA2B,KAAI;EACxF,oBACEC,GAAA,CAACC,YAAc,EAAA;AAAA,IAAA,GACTF,KAAK;AACTD,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,SAAS,EAAEK,IAAI,CAAC,iCAAiC,EAAEL,SAAS;AAAE,GAAA,CAC9D;AAEN;AACAD,UAAU,CAACO,WAAW,GAAG,qBAAqB;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var Image$1 = require('../../image/Image.js');
|
|
4
4
|
var clsx = require('clsx');
|
|
5
|
-
var useListItemMedia = require('../useListItemMedia.js');
|
|
6
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
6
|
|
|
8
7
|
const Image = ({
|
|
@@ -10,11 +9,10 @@ const Image = ({
|
|
|
10
9
|
size = 48,
|
|
11
10
|
...props
|
|
12
11
|
}) => {
|
|
13
|
-
useListItemMedia.useListItemMedia(size);
|
|
14
12
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
15
13
|
className: clsx.clsx('wds-list-item-media-image'),
|
|
16
14
|
style: {
|
|
17
|
-
'--
|
|
15
|
+
'--item-media-image-size': `${size}px`
|
|
18
16
|
},
|
|
19
17
|
children: /*#__PURE__*/jsxRuntime.jsx(Image$1.default, {
|
|
20
18
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.js","sources":["../../../src/listItem/Image/ListItemImage.tsx"],"sourcesContent":["import ImageComp, { type ImageProps } from '../../image';\nimport { clsx } from 'clsx';\
|
|
1
|
+
{"version":3,"file":"ListItemImage.js","sources":["../../../src/listItem/Image/ListItemImage.tsx"],"sourcesContent":["import ImageComp, { type ImageProps } from '../../image';\nimport { clsx } from 'clsx';\n\ntype SizeProp = {};\n\nexport type ListItemImageProps = Omit<ImageProps, 'stretch' | 'shrink' | 'id' | 'alt' | 'role'> & {\n /**\n * The size of square container for the image, matching available avatar sizes.\n */\n size?: 32 | 40 | 48 | 56 | 72;\n /**\n * When unset, it will force `role=\"presentation\"` on the image. Otherwise, it will set `role=\"graphics-symbol\"`.\n */\n alt?: string;\n};\n\n/**\n * This component should be used as a last resort, for rare cases when `<ListItem.AvatarView />`\n * or `<ListItem.AvatarLayout />` are insufficient.\n * It's a wrapper around the\n * [Image component](https://storybook.wise.design/?path=/docs/content-image--docs), but offers only\n * a subset of its props, in line with the ListItem's constraints.\n *\n * > **NB**: This component is [not intended for use with illustrations](https://wise.design/foundations/illustration#scale).\n */\nexport const Image = ({ alt = '', size = 48, ...props }: ListItemImageProps) => {\n return (\n <div\n className={clsx('wds-list-item-media-image')}\n style={\n {\n '--item-media-image-size': `${size}px`,\n } as React.CSSProperties\n }\n >\n <ImageComp {...props} alt={alt} role={alt ? 'graphics-symbol' : 'presentation'} />\n </div>\n );\n};\nImage.displayName = 'ListItem.Image';\n"],"names":["Image","alt","size","props","_jsx","className","clsx","style","children","ImageComp","role","displayName"],"mappings":";;;;;;AAyBO,MAAMA,KAAK,GAAGA,CAAC;AAAEC,EAAAA,GAAG,GAAG,EAAE;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAAsB,KAAI;AAC7E,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,SAAI,CAAC,2BAA2B,CAAE;AAC7CC,IAAAA,KAAK,EACH;MACE,yBAAyB,EAAE,GAAGL,IAAI,CAAA,EAAA;KAErC;IAAAM,QAAA,eAEDJ,cAAA,CAACK,eAAS,EAAA;AAAA,MAAA,GAAKN,KAAK;AAAEF,MAAAA,GAAG,EAAEA,GAAI;AAACS,MAAAA,IAAI,EAAET,GAAG,GAAG,iBAAiB,GAAG;KAAe;AACjF,GAAK,CAAC;AAEV;AACAD,KAAK,CAACW,WAAW,GAAG,gBAAgB;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Image$1 from '../../image/Image.mjs';
|
|
2
2
|
import { clsx } from 'clsx';
|
|
3
|
-
import { useListItemMedia } from '../useListItemMedia.mjs';
|
|
4
3
|
import { jsx } from 'react/jsx-runtime';
|
|
5
4
|
|
|
6
5
|
const Image = ({
|
|
@@ -8,11 +7,10 @@ const Image = ({
|
|
|
8
7
|
size = 48,
|
|
9
8
|
...props
|
|
10
9
|
}) => {
|
|
11
|
-
useListItemMedia(size);
|
|
12
10
|
return /*#__PURE__*/jsx("div", {
|
|
13
11
|
className: clsx('wds-list-item-media-image'),
|
|
14
12
|
style: {
|
|
15
|
-
'--
|
|
13
|
+
'--item-media-image-size': `${size}px`
|
|
16
14
|
},
|
|
17
15
|
children: /*#__PURE__*/jsx(Image$1, {
|
|
18
16
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.mjs","sources":["../../../src/listItem/Image/ListItemImage.tsx"],"sourcesContent":["import ImageComp, { type ImageProps } from '../../image';\nimport { clsx } from 'clsx';\
|
|
1
|
+
{"version":3,"file":"ListItemImage.mjs","sources":["../../../src/listItem/Image/ListItemImage.tsx"],"sourcesContent":["import ImageComp, { type ImageProps } from '../../image';\nimport { clsx } from 'clsx';\n\ntype SizeProp = {};\n\nexport type ListItemImageProps = Omit<ImageProps, 'stretch' | 'shrink' | 'id' | 'alt' | 'role'> & {\n /**\n * The size of square container for the image, matching available avatar sizes.\n */\n size?: 32 | 40 | 48 | 56 | 72;\n /**\n * When unset, it will force `role=\"presentation\"` on the image. Otherwise, it will set `role=\"graphics-symbol\"`.\n */\n alt?: string;\n};\n\n/**\n * This component should be used as a last resort, for rare cases when `<ListItem.AvatarView />`\n * or `<ListItem.AvatarLayout />` are insufficient.\n * It's a wrapper around the\n * [Image component](https://storybook.wise.design/?path=/docs/content-image--docs), but offers only\n * a subset of its props, in line with the ListItem's constraints.\n *\n * > **NB**: This component is [not intended for use with illustrations](https://wise.design/foundations/illustration#scale).\n */\nexport const Image = ({ alt = '', size = 48, ...props }: ListItemImageProps) => {\n return (\n <div\n className={clsx('wds-list-item-media-image')}\n style={\n {\n '--item-media-image-size': `${size}px`,\n } as React.CSSProperties\n }\n >\n <ImageComp {...props} alt={alt} role={alt ? 'graphics-symbol' : 'presentation'} />\n </div>\n );\n};\nImage.displayName = 'ListItem.Image';\n"],"names":["Image","alt","size","props","_jsx","className","clsx","style","children","ImageComp","role","displayName"],"mappings":";;;;AAyBO,MAAMA,KAAK,GAAGA,CAAC;AAAEC,EAAAA,GAAG,GAAG,EAAE;AAAEC,EAAAA,IAAI,GAAG,EAAE;EAAE,GAAGC;AAAK,CAAsB,KAAI;AAC7E,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,IAAI,CAAC,2BAA2B,CAAE;AAC7CC,IAAAA,KAAK,EACH;MACE,yBAAyB,EAAE,GAAGL,IAAI,CAAA,EAAA;KAErC;IAAAM,QAAA,eAEDJ,GAAA,CAACK,OAAS,EAAA;AAAA,MAAA,GAAKN,KAAK;AAAEF,MAAAA,GAAG,EAAEA,GAAI;AAACS,MAAAA,IAAI,EAAET,GAAG,GAAG,iBAAiB,GAAG;KAAe;AACjF,GAAK,CAAC;AAEV;AACAD,KAAK,CAACW,WAAW,GAAG,gBAAgB;;;;"}
|
|
@@ -4,11 +4,12 @@ var clsx = require('clsx');
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
|
|
6
6
|
function List({
|
|
7
|
+
as: Element = 'ul',
|
|
7
8
|
className,
|
|
8
9
|
children
|
|
9
10
|
}) {
|
|
10
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
11
|
-
className: clsx.clsx(
|
|
11
|
+
return /*#__PURE__*/jsxRuntime.jsx(Element, {
|
|
12
|
+
className: clsx.clsx('wds-list', 'list-unstyled', className),
|
|
12
13
|
children: children
|
|
13
14
|
});
|
|
14
15
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../src/listItem/List.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport interface ListProps {\n as?: 'ul' | 'ol' | 'div';\n className?: string;\n children?: React.ReactNode;\n}\n\nexport function List({ as: Element = 'ul', className, children }: ListProps) {\n return <Element className={clsx('wds-list', 'list-unstyled', className)}>{children}</Element>;\n}\n"],"names":["List","as","Element","className","children","_jsx","clsx"],"mappings":";;;;;AAQM,SAAUA,IAAIA,CAAC;EAAEC,EAAE,EAAEC,OAAO,GAAG,IAAI;EAAEC,SAAS;AAAEC,EAAAA;AAAQ,CAAa,EAAA;EACzE,oBAAOC,cAAA,CAACH,OAAO,EAAA;IAACC,SAAS,EAAEG,SAAI,CAAC,UAAU,EAAE,eAAe,EAAEH,SAAS,CAAE;AAAAC,IAAAA,QAAA,EAAEA;AAAQ,GAAU,CAAC;AAC/F;;;;"}
|
|
@@ -2,11 +2,12 @@ import { clsx } from 'clsx';
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
function List({
|
|
5
|
+
as: Element = 'ul',
|
|
5
6
|
className,
|
|
6
7
|
children
|
|
7
8
|
}) {
|
|
8
|
-
return /*#__PURE__*/jsx(
|
|
9
|
-
className: clsx(
|
|
9
|
+
return /*#__PURE__*/jsx(Element, {
|
|
10
|
+
className: clsx('wds-list', 'list-unstyled', className),
|
|
10
11
|
children: children
|
|
11
12
|
});
|
|
12
13
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.mjs","sources":["../../src/listItem/List.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport interface ListProps {\n as?: 'ul' | 'ol' | 'div';\n className?: string;\n children?: React.ReactNode;\n}\n\nexport function List({ as: Element = 'ul', className, children }: ListProps) {\n return <Element className={clsx('wds-list', 'list-unstyled', className)}>{children}</Element>;\n}\n"],"names":["List","as","Element","className","children","_jsx","clsx"],"mappings":";;;AAQM,SAAUA,IAAIA,CAAC;EAAEC,EAAE,EAAEC,OAAO,GAAG,IAAI;EAAEC,SAAS;AAAEC,EAAAA;AAAQ,CAAa,EAAA;EACzE,oBAAOC,GAAA,CAACH,OAAO,EAAA;IAACC,SAAS,EAAEG,IAAI,CAAC,UAAU,EAAE,eAAe,EAAEH,SAAS,CAAE;AAAAC,IAAAA,QAAA,EAAEA;AAAQ,GAAU,CAAC;AAC/F;;;;"}
|
|
@@ -66,7 +66,6 @@ const ListItem = ({
|
|
|
66
66
|
const idPrefix = React.useId();
|
|
67
67
|
const [controlProps, setControlProps] = React.useState({});
|
|
68
68
|
const [controlType, setControlType] = React.useState('non-interactive');
|
|
69
|
-
const [mediaSize, setMediaSize] = React.useState();
|
|
70
69
|
const ids = {
|
|
71
70
|
title: `${idPrefix}_title`,
|
|
72
71
|
...(subtitle ? {
|
|
@@ -97,15 +96,13 @@ const ListItem = ({
|
|
|
97
96
|
const listItemContext = React.useMemo(() => ({
|
|
98
97
|
setControlType,
|
|
99
98
|
setControlProps,
|
|
100
|
-
setMediaSize,
|
|
101
99
|
ids,
|
|
102
100
|
props: {
|
|
103
101
|
disabled,
|
|
104
102
|
inverted
|
|
105
103
|
},
|
|
106
|
-
mediaSize,
|
|
107
104
|
describedByIds
|
|
108
|
-
}), [describedByIds
|
|
105
|
+
}), [describedByIds]);
|
|
109
106
|
const gridColumnsStyle = {
|
|
110
107
|
'--wds-list-item-body-left': valueColumnWidth ? `${100 - valueColumnWidth}fr` : '50fr',
|
|
111
108
|
'--wds-list-item-body-right': valueColumnWidth ? `${valueColumnWidth}fr` : '50fr'
|
|
@@ -144,7 +141,7 @@ const ListItem = ({
|
|
|
144
141
|
};
|
|
145
142
|
return /*#__PURE__*/jsxRuntime.jsx(ListItemContext.ListItemContext.Provider, {
|
|
146
143
|
value: listItemContext,
|
|
147
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
144
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(ListItemElement, {
|
|
148
145
|
className: clsx.clsx('wds-list-item', `wds-list-item-${controlType}`, getFeatureClassName(), {
|
|
149
146
|
'wds-list-item-interactive': isFullyInteractive,
|
|
150
147
|
'wds-list-item-partially-interactive': isPartiallyInteractive,
|
|
@@ -155,7 +152,11 @@ const ListItem = ({
|
|
|
155
152
|
role: role,
|
|
156
153
|
"aria-disabled": disabled,
|
|
157
154
|
"aria-labelledby": ariaLabelledby,
|
|
158
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
155
|
+
children: [spotlight === 'inactive' && /*#__PURE__*/jsxRuntime.jsx("svg", {
|
|
156
|
+
"aria-hidden": "true",
|
|
157
|
+
className: "wds-list-item-spotlight__border",
|
|
158
|
+
children: /*#__PURE__*/jsxRuntime.jsx("rect", {})
|
|
159
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(View, {
|
|
159
160
|
isPartiallyInteractive,
|
|
160
161
|
subtitle,
|
|
161
162
|
additionalInfo,
|
|
@@ -171,9 +172,6 @@ const ListItem = ({
|
|
|
171
172
|
className: "wds-list-item-body",
|
|
172
173
|
style: valueColumnWidth ? gridColumnsStyle : undefined,
|
|
173
174
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
174
|
-
className: clsx.clsx({
|
|
175
|
-
'wds-list-item-body-center': title && !subtitle
|
|
176
|
-
}),
|
|
177
175
|
children: (() => {
|
|
178
176
|
const titles = [/*#__PURE__*/jsxRuntime.jsx(Body.default, {
|
|
179
177
|
id: ids.title,
|
|
@@ -192,8 +190,7 @@ const ListItem = ({
|
|
|
192
190
|
})()
|
|
193
191
|
}), (valueTitle || valueSubtitle) && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
194
192
|
className: clsx.clsx('wds-list-item-value', {
|
|
195
|
-
'flex-column': valueTitle !== undefined || valueSubtitle !== undefined
|
|
196
|
-
'wds-list-item-body-center': valueTitle && !valueSubtitle || !valueTitle && valueSubtitle
|
|
193
|
+
'flex-column': valueTitle !== undefined || valueSubtitle !== undefined
|
|
197
194
|
}),
|
|
198
195
|
children: (() => {
|
|
199
196
|
const values = [];
|
|
@@ -219,12 +216,9 @@ const ListItem = ({
|
|
|
219
216
|
className: clsx.clsx('wds-list-item-control-wrapper', {
|
|
220
217
|
'wds-list-item-button-control': controlType === 'button'
|
|
221
218
|
}),
|
|
222
|
-
style: {
|
|
223
|
-
'--wds-list-item-control-wrapper-height': mediaSize ? `${mediaSize}px` : 'auto'
|
|
224
|
-
},
|
|
225
219
|
children: control
|
|
226
220
|
})]
|
|
227
|
-
})
|
|
221
|
+
})]
|
|
228
222
|
})
|
|
229
223
|
});
|
|
230
224
|
};
|
|
@@ -259,6 +253,7 @@ function View({
|
|
|
259
253
|
href: controlProps?.href,
|
|
260
254
|
target: controlProps?.target,
|
|
261
255
|
className: clsx.clsx('wds-list-item-view d-flex flex-row', {
|
|
256
|
+
'align-items-center': !subtitle,
|
|
262
257
|
'wds-list-item-control': controlType === 'navigation'
|
|
263
258
|
}),
|
|
264
259
|
disabled: disabled,
|
|
@@ -271,7 +266,9 @@ function View({
|
|
|
271
266
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
272
267
|
className: clsx.clsx('wds-list-item-gridWrapper', className),
|
|
273
268
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
274
|
-
className: clsx.clsx('wds-list-item-view d-flex flex-row'
|
|
269
|
+
className: clsx.clsx('wds-list-item-view d-flex flex-row', {
|
|
270
|
+
'align-items-center': !subtitle
|
|
271
|
+
}),
|
|
275
272
|
children: children
|
|
276
273
|
}), renderExtras()]
|
|
277
274
|
});
|
|
@@ -284,6 +281,7 @@ function View({
|
|
|
284
281
|
children: [/*#__PURE__*/jsxRuntime.jsx("label", {
|
|
285
282
|
htmlFor: ids.control,
|
|
286
283
|
className: clsx.clsx('wds-list-item-view', {
|
|
284
|
+
'align-items-center': !subtitle,
|
|
287
285
|
clickable: !disabled,
|
|
288
286
|
fullyInteractive: !isPartiallyInteractive
|
|
289
287
|
}),
|