mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 13:47:06 +01:00
4e1a96b4ef
* add popover component popperjs init popperjs hook init popper arrow styles fix popover story add popover positions constant story testing popover structure popper placement make forwardref fix popover with TS updates modifiers createPortal add useClickAway hook newer popover component build simplifed popperjs with toggle to show/hide toggle popover modal version popover progress 65% add hover functionality hide folder storybook demo add close button props working popover with arrow title prop breaking popover TS conversion TS updates update test add test add arrow test add stories remove unused hook fix docs add popoverheader types fix Fix typo: detetcted-tokens-link -> detected-tokens-link (#18408) Typography to text (#18382) * Typography to text * Update README.md * Update README.md * minor changes in custom file * minor change * Resolved Conflict issues --------- Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net> fix: Pass correct optimism chain id to gas estimation (#18478) removes unnecessary images (#18484) Fix firsttimeloaded logic (#18344) * use session storage, instead of chrome.runtime.onStartup and globalThis, for firstTimeLoaded architecture * Ensure account tracker accounts remain defined upon service worker restart * lint fix * Simplify code * Only call browser.storage.session in mv3 * Only call browser.storage.session.set after resetStates in mv3 * fix metamask controller reset states unit tests * fix test * fix test * Actually fix tests * lint fix [FLASK] More Snaps E2E Optimization and Delay Reductions (#18245) * bip32 delay reduction * asserts changed to waitFors in 32/44 * scrollTo change * replaced delay for firefox flake * more reduced delays * more delay reductions and changes * raise paralellism to 4 for snaps tests * additional delay changes * fixed update code * removed comment * removed another comment Fix switch-ethereum-chain handler by passing configuration id to setA… (#18483) * Fix switch-ethereum-chain handler by passing configuration id to setActiveNetwork * fix e2e test * Fix e2e tests * Update test/e2e/tests/switch-custom-network.spec.js Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> * Revert "Update test/e2e/tests/switch-custom-network.spec.js" This reverts commit be533ff7f25e1fd42e951d9b817b8438035ae256. --------- Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Bumping notification id's to 18 & 19 (#18460) * Popover header update with TS ButtonIcon * update PopoverHeader types * update using new Text enums * readme fix * direct file import * remove forwardRef and add action argtypes * remove console.logs * add arg types and fix TS on HeaderBase * george nits * popover header snapshot update --------- Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
295 lines
7.5 KiB
TypeScript
295 lines
7.5 KiB
TypeScript
import React from 'react';
|
|
import { ComponentStory, ComponentMeta } from '@storybook/react';
|
|
import Box from '../../ui/box';
|
|
import {
|
|
IconName,
|
|
Button,
|
|
BUTTON_SIZES,
|
|
ButtonIcon,
|
|
ButtonIconSize,
|
|
Text,
|
|
} from '..';
|
|
|
|
import {
|
|
AlignItems,
|
|
BackgroundColor,
|
|
TextVariant,
|
|
TextAlign,
|
|
} from '../../../helpers/constants/design-system';
|
|
import { HeaderBase } from './header-base';
|
|
import README from './README.mdx';
|
|
|
|
export default {
|
|
title: 'Components/ComponentLibrary/HeaderBase',
|
|
component: HeaderBase,
|
|
parameters: {
|
|
docs: {
|
|
page: README,
|
|
},
|
|
},
|
|
} as ComponentMeta<typeof HeaderBase>;
|
|
|
|
const Template: ComponentStory<typeof HeaderBase> = (args) => (
|
|
<HeaderBase {...args} />
|
|
);
|
|
|
|
export const DefaultStory = Template.bind({});
|
|
|
|
DefaultStory.args = {
|
|
children: (
|
|
<Text variant={TextVariant.headingSm} textAlign={TextAlign.Center}>
|
|
Title is sentence case no period
|
|
</Text>
|
|
),
|
|
startAccessory: (
|
|
<ButtonIcon
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.ArrowLeft}
|
|
ariaLabel="back"
|
|
/>
|
|
),
|
|
endAccessory: (
|
|
<ButtonIcon
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
),
|
|
};
|
|
|
|
DefaultStory.storyName = 'Default';
|
|
|
|
export const Children = (args) => {
|
|
return (
|
|
<HeaderBase {...args}>
|
|
<Text variant={TextVariant.headingSm} textAlign={TextAlign.Center}>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
);
|
|
};
|
|
|
|
export const StartAccessory = (args) => {
|
|
return (
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
startAccessory={
|
|
<ButtonIcon
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.ArrowLeft}
|
|
ariaLabel="back"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text variant={TextVariant.headingSm} textAlign={TextAlign.Center}>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
);
|
|
};
|
|
|
|
export const EndAccessory = (args) => {
|
|
return (
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
endAccessory={
|
|
<ButtonIcon
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text variant={TextVariant.headingSm} textAlign={TextAlign.Center}>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
);
|
|
};
|
|
|
|
export const UseCaseDemos = (args) => (
|
|
<>
|
|
<Text>children only assigned</Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase marginBottom={4} {...args}>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>children and endAccessory assigned </Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
endAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.goerli}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>children and startAccessory assigned </Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
startAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.successAlternative}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.ArrowLeft}
|
|
ariaLabel="back"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>children, startAccessory, and endAccessory assigned </Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
startAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.successAlternative}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.ArrowLeft}
|
|
ariaLabel="back"
|
|
/>
|
|
}
|
|
endAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.goerli}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>children, startAccessory, and endAccessory assigned </Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
startAccessory={
|
|
<Button
|
|
backgroundColor={BackgroundColor.successAlternative}
|
|
style={{ whiteSpace: 'nowrap' }}
|
|
size={BUTTON_SIZES.SM}
|
|
>
|
|
Unlock Now
|
|
</Button>
|
|
}
|
|
endAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.goerli}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>
|
|
children, startAccessory, and endAccessory assigned with prop alignItems=
|
|
{AlignItems.center} passed at HeaderBase
|
|
</Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
alignItems={AlignItems.center}
|
|
startAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.successAlternative}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
endAccessory={
|
|
<Button
|
|
backgroundColor={BackgroundColor.goerli}
|
|
size={BUTTON_SIZES.SM}
|
|
>
|
|
Download
|
|
</Button>
|
|
}
|
|
{...args}
|
|
>
|
|
<Text
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
backgroundColor={BackgroundColor.primaryAlternative}
|
|
>
|
|
Title is sentence case no period
|
|
</Text>
|
|
</HeaderBase>
|
|
</Box>
|
|
<Text>startAccessory and endAccessory assigned </Text>
|
|
<Box backgroundColor={BackgroundColor.warningAlternative}>
|
|
<HeaderBase
|
|
marginBottom={4}
|
|
startAccessory={
|
|
<Button
|
|
backgroundColor={BackgroundColor.successAlternative}
|
|
size={BUTTON_SIZES.SM}
|
|
>
|
|
Unlock
|
|
</Button>
|
|
}
|
|
endAccessory={
|
|
<ButtonIcon
|
|
backgroundColor={BackgroundColor.goerli}
|
|
size={ButtonIconSize.Sm}
|
|
iconName={IconName.Close}
|
|
ariaLabel="close"
|
|
/>
|
|
}
|
|
{...args}
|
|
></HeaderBase>
|
|
</Box>
|
|
</>
|
|
);
|