@mrshmllw/smores-react 2.19.3 → 3.0.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/dist/Accordion/Accordion.d.ts +1 -0
- package/dist/Accordion/Accordion.js +16 -12
- package/dist/Accordion/Accordion.js.map +1 -1
- package/dist/Accordion/Accordion.stories.d.ts +1 -2
- package/dist/Accordion/Accordion.stories.js +2 -8
- package/dist/Accordion/Accordion.stories.js.map +1 -1
- package/dist/Accordion/Collection.d.ts +2 -0
- package/dist/Accordion/Collection.js +52 -0
- package/dist/Accordion/Collection.js.map +1 -0
- package/dist/Accordion/__tests__/Accordion.js +9 -0
- package/dist/Accordion/__tests__/Accordion.js.map +1 -0
- package/dist/ActionDropdown/ActionDropdown.js +7 -7
- package/dist/ActionDropdown/ActionDropdown.js.map +1 -1
- package/dist/ActionDropdown/ActionDropdown.stories.js +1 -1
- package/dist/ActionDropdown/Container.js +16 -10
- package/dist/ActionDropdown/Container.js.map +1 -1
- package/dist/ActionDropdown/List.js +3 -3
- package/dist/ActionDropdown/List.js.map +1 -1
- package/dist/ActionDropdown/__tests__/ActionDropdown.js +3 -3
- package/dist/ActionDropdown/__tests__/ActionDropdown.js.map +1 -1
- package/dist/Banner/Banner.stories.d.ts +9 -0
- package/dist/Banner/Banner.stories.js +86 -0
- package/dist/Banner/Banner.stories.js.map +1 -0
- package/dist/Banner/BannerContainer.d.ts +7 -0
- package/dist/Banner/BannerContainer.js +40 -0
- package/dist/Banner/BannerContainer.js.map +1 -0
- package/dist/Banner/BannerItem.d.ts +7 -0
- package/dist/Banner/BannerItem.js +64 -0
- package/dist/Banner/BannerItem.js.map +1 -0
- package/dist/Banner/hooks.d.ts +3 -0
- package/dist/Banner/hooks.js +6 -0
- package/dist/Banner/hooks.js.map +1 -0
- package/dist/Banner/index.d.ts +2 -0
- package/dist/Banner/index.js +3 -0
- package/dist/Banner/index.js.map +1 -0
- package/dist/Banner/types.d.ts +18 -0
- package/dist/Banner/types.js +2 -0
- package/dist/Banner/types.js.map +1 -0
- package/dist/Box/Box.stories.js +2 -2
- package/dist/Box/Box.stories.js.map +1 -1
- package/dist/BrandCard/BrandCard.d.ts +27 -0
- package/dist/BrandCard/BrandCard.js +60 -0
- package/dist/BrandCard/BrandCard.js.map +1 -0
- package/dist/BrandCard/BrandCard.stories.d.ts +11 -0
- package/dist/BrandCard/BrandCard.stories.js +54 -0
- package/dist/BrandCard/BrandCard.stories.js.map +1 -0
- package/dist/BrandCard/__tests__/BrandCard.js +9 -0
- package/dist/BrandCard/__tests__/BrandCard.js.map +1 -0
- package/dist/BrandCard/index.d.ts +1 -0
- package/dist/BrandCard/index.js +2 -0
- package/dist/BrandCard/index.js.map +1 -0
- package/dist/Button/Button.d.ts +4 -6
- package/dist/Button/Button.js +52 -54
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Button.stories.js +1 -1
- package/dist/Button/Collection.d.ts +2 -0
- package/dist/Button/Collection.js +4 -2
- package/dist/Button/Collection.js.map +1 -1
- package/dist/Button/LegacyButton.js +6 -6
- package/dist/Button/LegacyButton.js.map +1 -1
- package/dist/Button/__tests__/Button.js.map +1 -1
- package/dist/Card/Card.d.ts +19 -1
- package/dist/Card/Card.js +42 -10
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Card.stories.d.ts +8 -4
- package/dist/Card/Card.stories.js +74 -18
- package/dist/Card/Card.stories.js.map +1 -1
- package/dist/CheckBox/CheckBox.js +39 -16
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/Chip/Chip.js +15 -9
- package/dist/Chip/Chip.js.map +1 -1
- package/dist/Datepicker/Datepicker.js +23 -15
- package/dist/Datepicker/Datepicker.js.map +1 -1
- package/dist/Datepicker/DatesList.js +18 -10
- package/dist/Datepicker/DatesList.js.map +1 -1
- package/dist/Divider/Divider.js +1 -1
- package/dist/Divider/Divider.js.map +1 -1
- package/dist/Dropdown/Collection.d.ts +2 -0
- package/dist/Dropdown/Collection.js +91 -0
- package/dist/Dropdown/Collection.js.map +1 -0
- package/dist/Dropdown/Dropdown.d.ts +2 -1
- package/dist/Dropdown/Dropdown.js +24 -30
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/Dropdown.stories.d.ts +2 -16
- package/dist/Dropdown/Dropdown.stories.js +7 -156
- package/dist/Dropdown/Dropdown.stories.js.map +1 -1
- package/dist/Icon/Icon.js +1 -1
- package/dist/Icon/Icon.stories.js +2 -2
- package/dist/IconStrict/IconStrict.d.ts +20 -0
- package/dist/IconStrict/IconStrict.js +50 -0
- package/dist/IconStrict/IconStrict.js.map +1 -0
- package/dist/IconStrict/IconStrict.stories.d.ts +11 -0
- package/dist/IconStrict/IconStrict.stories.js +33 -0
- package/dist/IconStrict/IconStrict.stories.js.map +1 -0
- package/dist/IconStrict/__tests__/IconStrict.js +9 -0
- package/dist/IconStrict/__tests__/IconStrict.js.map +1 -0
- package/dist/IconStrict/index.d.ts +1 -0
- package/dist/IconStrict/index.js +2 -0
- package/dist/IconStrict/index.js.map +1 -0
- package/dist/IconWrapper/IconWrapper.js +2 -2
- package/dist/IconWrapper/IconWrapper.js.map +1 -1
- package/dist/LabelledText/LabelledText.js +1 -1
- package/dist/LabelledText/LabelledText.js.map +1 -1
- package/dist/Link/Link.d.ts +3 -0
- package/dist/Link/Link.js +10 -13
- package/dist/Link/Link.js.map +1 -1
- package/dist/Link/Link.stories.d.ts +2 -0
- package/dist/Link/Link.stories.js +5 -1
- package/dist/Link/Link.stories.js.map +1 -1
- package/dist/Loader/Loader.js +1 -1
- package/dist/Loader/Loader.js.map +1 -1
- package/dist/Loader/Loader.stories.d.ts +1 -1
- package/dist/Loader/Loader.stories.js +3 -3
- package/dist/Loader/Loader.stories.js.map +1 -1
- package/dist/Loader/__tests__/Loader.js +1 -1
- package/dist/Loader/__tests__/Loader.js.map +1 -1
- package/dist/Modal/Modal.js +6 -23
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/NumberInput/Collection.d.ts +2 -0
- package/dist/NumberInput/Collection.js +97 -0
- package/dist/NumberInput/Collection.js.map +1 -0
- package/dist/NumberInput/NumberInput.d.ts +1 -6
- package/dist/NumberInput/NumberInput.js +13 -89
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.stories.d.ts +2 -7
- package/dist/NumberInput/NumberInput.stories.js +5 -73
- package/dist/NumberInput/NumberInput.stories.js.map +1 -1
- package/dist/Pagination/Pagination.js +43 -12
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.stories.js +8 -1
- package/dist/Pagination/Pagination.stories.js.map +1 -1
- package/dist/RadioGroup/RadioElement.js +4 -4
- package/dist/RadioGroup/RadioElement.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.d.ts +4 -0
- package/dist/RadioGroup/RadioGroup.js +2 -2
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.stories.d.ts +3 -0
- package/dist/RadioGroup/RadioGroup.stories.js +2 -0
- package/dist/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/RadioGroup/RadioItem.d.ts +2 -0
- package/dist/RadioGroup/RadioItem.js +25 -9
- package/dist/RadioGroup/RadioItem.js.map +1 -1
- package/dist/Row/Row.js +14 -8
- package/dist/Row/Row.js.map +1 -1
- package/dist/Row/Row.stories.js +1 -1
- package/dist/SearchInput/Container.js +2 -2
- package/dist/SearchInput/Container.js.map +1 -1
- package/dist/SearchInput/SearchInput.d.ts +0 -2
- package/dist/SearchInput/SearchInput.js +8 -55
- package/dist/SearchInput/SearchInput.js.map +1 -1
- package/dist/SearchInput/SearchInput.stories.d.ts +0 -1
- package/dist/SearchInput/SearchInput.stories.js +0 -5
- package/dist/SearchInput/SearchInput.stories.js.map +1 -1
- package/dist/SearchInput/SearchOptions.d.ts +0 -2
- package/dist/SearchInput/SearchOptions.js +12 -16
- package/dist/SearchInput/SearchOptions.js.map +1 -1
- package/dist/Snackbar/SnackbarItem.js +5 -5
- package/dist/Snackbar/SnackbarItem.js.map +1 -1
- package/dist/SupportMessage/Collection.js +6 -1
- package/dist/SupportMessage/Collection.js.map +1 -1
- package/dist/SupportMessage/SupportMessage.d.ts +1 -1
- package/dist/SupportMessage/SupportMessage.js +27 -26
- package/dist/SupportMessage/SupportMessage.js.map +1 -1
- package/dist/Tag/Collection.d.ts +2 -0
- package/dist/Tag/Collection.js +77 -0
- package/dist/Tag/Collection.js.map +1 -0
- package/dist/Tag/Tag.d.ts +3 -13
- package/dist/Tag/Tag.js +7 -8
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/Tag.stories.d.ts +1 -1
- package/dist/Tag/Tag.stories.js +5 -9
- package/dist/Tag/Tag.stories.js.map +1 -1
- package/dist/Tag/__tests__/Tag.js +1 -1
- package/dist/Tag/__tests__/Tag.js.map +1 -1
- package/dist/Text/Text.js +1 -1
- package/dist/Text/Text.stories.js +4 -4
- package/dist/Text/Text.stories.js.map +1 -1
- package/dist/Text/fontMapping.js +1 -1
- package/dist/TextInput/Collection.d.ts +2 -0
- package/dist/TextInput/Collection.js +69 -0
- package/dist/TextInput/Collection.js.map +1 -0
- package/dist/TextInput/TextInput.d.ts +0 -3
- package/dist/TextInput/TextInput.js +7 -60
- package/dist/TextInput/TextInput.js.map +1 -1
- package/dist/TextInput/TextInput.stories.d.ts +2 -10
- package/dist/TextInput/TextInput.stories.js +5 -111
- package/dist/TextInput/TextInput.stories.js.map +1 -1
- package/dist/Textarea/Container.js +1 -1
- package/dist/Textarea/Container.js.map +1 -1
- package/dist/Textarea/Textarea.d.ts +1 -0
- package/dist/Textarea/Textarea.js +10 -16
- package/dist/Textarea/Textarea.js.map +1 -1
- package/dist/Textarea/Textarea.stories.js +2 -0
- package/dist/Textarea/Textarea.stories.js.map +1 -1
- package/dist/Toggle/Toggle.js +19 -13
- package/dist/Toggle/Toggle.js.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +3 -3
- package/dist/Tooltip/Tooltip.js +16 -13
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Tooltip/Tooltip.stories.d.ts +1 -0
- package/dist/Tooltip/Tooltip.stories.js +15 -4
- package/dist/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/colors.stories.js +37 -11
- package/dist/colors.stories.js.map +1 -1
- package/dist/fields/Field/Field.d.ts +0 -1
- package/dist/fields/Field/Field.js.map +1 -1
- package/dist/fields/Fieldset/Fieldset.js +1 -1
- package/dist/fields/Fieldset/Fieldset.js.map +1 -1
- package/dist/fields/commonFieldTypes.d.ts +4 -3
- package/dist/fields/components/CommonInput.d.ts +18 -0
- package/dist/fields/components/CommonInput.js +64 -0
- package/dist/fields/components/CommonInput.js.map +1 -0
- package/dist/fields/components/InternalField.d.ts +3 -3
- package/dist/fields/components/InternalField.js +7 -7
- package/dist/fields/components/InternalField.js.map +1 -1
- package/dist/fields/components/Placeholder.js +3 -3
- package/dist/fields/components/Placeholder.js.map +1 -1
- package/dist/fontStyle.js +2 -2
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/theme.d.ts +58 -28
- package/dist/theme.js +34 -18
- package/dist/theme.js.map +1 -1
- package/dist/utils/focusOutline.d.ts +1 -0
- package/dist/utils/focusOutline.js +7 -1
- package/dist/utils/focusOutline.js.map +1 -1
- package/package.json +2 -1
- package/dist/ConfirmationRadioButtons/Confirmation.d.ts +0 -17
- package/dist/ConfirmationRadioButtons/Confirmation.js +0 -100
- package/dist/ConfirmationRadioButtons/Confirmation.js.map +0 -1
- package/dist/ConfirmationRadioButtons/Confirmation.stories.d.ts +0 -21
- package/dist/ConfirmationRadioButtons/Confirmation.stories.js +0 -76
- package/dist/ConfirmationRadioButtons/Confirmation.stories.js.map +0 -1
- package/dist/ConfirmationRadioButtons/Container.d.ts +0 -2
- package/dist/ConfirmationRadioButtons/Container.js +0 -8
- package/dist/ConfirmationRadioButtons/Container.js.map +0 -1
- package/dist/ConfirmationRadioButtons/RadioButtonStyled.d.ts +0 -17
- package/dist/ConfirmationRadioButtons/RadioButtonStyled.js +0 -41
- package/dist/ConfirmationRadioButtons/RadioButtonStyled.js.map +0 -1
- package/dist/ConfirmationRadioButtons/__tests__/Confirmation.js +0 -8
- package/dist/ConfirmationRadioButtons/__tests__/Confirmation.js.map +0 -1
- package/dist/ConfirmationRadioButtons/index.d.ts +0 -1
- package/dist/ConfirmationRadioButtons/index.js +0 -2
- package/dist/ConfirmationRadioButtons/index.js.map +0 -1
- package/dist/Dropdown/__tests__/Dropdown.js +0 -80
- package/dist/Dropdown/__tests__/Dropdown.js.map +0 -1
- package/dist/Message/Message.d.ts +0 -21
- package/dist/Message/Message.js +0 -45
- package/dist/Message/Message.js.map +0 -1
- package/dist/Message/Message.stories.d.ts +0 -13
- package/dist/Message/Message.stories.js +0 -38
- package/dist/Message/Message.stories.js.map +0 -1
- package/dist/Message/__tests__/Message.js +0 -26
- package/dist/Message/__tests__/Message.js.map +0 -1
- package/dist/Message/index.d.ts +0 -1
- package/dist/Message/index.js +0 -2
- package/dist/Message/index.js.map +0 -1
- package/dist/RadioButton/Container.d.ts +0 -2
- package/dist/RadioButton/Container.js +0 -9
- package/dist/RadioButton/Container.js.map +0 -1
- package/dist/RadioButton/RadioButton.d.ts +0 -10
- package/dist/RadioButton/RadioButton.js +0 -68
- package/dist/RadioButton/RadioButton.js.map +0 -1
- package/dist/RadioButton/RadioButton.stories.d.ts +0 -15
- package/dist/RadioButton/RadioButton.stories.js +0 -29
- package/dist/RadioButton/RadioButton.stories.js.map +0 -1
- package/dist/RadioButton/__tests__/RadioButton.d.ts +0 -1
- package/dist/RadioButton/__tests__/RadioButton.js +0 -13
- package/dist/RadioButton/__tests__/RadioButton.js.map +0 -1
- package/dist/RadioButton/index.d.ts +0 -1
- package/dist/RadioButton/index.js +0 -2
- package/dist/RadioButton/index.js.map +0 -1
- /package/dist/{ConfirmationRadioButtons/__tests__/Confirmation.d.ts → Accordion/__tests__/Accordion.d.ts} +0 -0
- /package/dist/{Dropdown/__tests__/Dropdown.d.ts → BrandCard/__tests__/BrandCard.d.ts} +0 -0
- /package/dist/{Message/__tests__/Message.d.ts → IconStrict/__tests__/IconStrict.d.ts} +0 -0
@@ -16,7 +16,7 @@ import { Icon } from '../Icon';
|
|
16
16
|
import { theme } from '../theme';
|
17
17
|
import { Text } from '../Text';
|
18
18
|
export const Accordion = (_a) => {
|
19
|
-
var { title, children, onToggle, defaultIsOpen = false, borderTop = false, subTitle, fullBorder = false } = _a, marginProps = __rest(_a, ["title", "children", "onToggle", "defaultIsOpen", "borderTop", "subTitle", "fullBorder"]);
|
19
|
+
var { title, children, onToggle, filledBackground, defaultIsOpen = false, borderTop = false, subTitle, fullBorder = false } = _a, marginProps = __rest(_a, ["title", "children", "onToggle", "filledBackground", "defaultIsOpen", "borderTop", "subTitle", "fullBorder"]);
|
20
20
|
const [isOpen, setIsOpen] = useState(defaultIsOpen);
|
21
21
|
const px = fullBorder ? '16px' : '0';
|
22
22
|
const handleToggle = () => {
|
@@ -24,23 +24,27 @@ export const Accordion = (_a) => {
|
|
24
24
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(nextOpenState);
|
25
25
|
setIsOpen(nextOpenState);
|
26
26
|
};
|
27
|
-
return (React.createElement(Wrapper, Object.assign({ borderTop: borderTop, fullBorder: fullBorder }, marginProps),
|
28
|
-
React.createElement(TopContainer, { flex: true, alignItems: "center", justifyContent: "space-between", onClick: handleToggle, py:
|
27
|
+
return (React.createElement(Wrapper, Object.assign({ borderTop: borderTop, fullBorder: fullBorder }, marginProps, { filledBackground: filledBackground }),
|
28
|
+
React.createElement(TopContainer, { flex: true, alignItems: "center", justifyContent: "space-between", onClick: handleToggle, py: "16px", pr: "16px", pl: px },
|
29
29
|
React.createElement(TitleContainer, null,
|
30
|
-
React.createElement(Text, { tag: "h2", typo: "headline-regular" }, title),
|
31
|
-
subTitle && (React.createElement(Text, { tag: "label", color: "
|
32
|
-
React.createElement(CaretIcon, { render: "caret", size: 24, color: "
|
30
|
+
React.createElement(Text, { tag: "h2", typo: "headline-regular", color: "liquorice" }, title),
|
31
|
+
subTitle && (React.createElement(Text, { tag: "label", color: "liquorice", typo: "label", mt: { custom: 4 } }, subTitle))),
|
32
|
+
React.createElement(CaretIcon, { render: "caret", size: 24, color: "marzipan", isOpen: isOpen, borderTop: borderTop })),
|
33
33
|
isOpen && (React.createElement(Box, { pt: "12px", pb: "16px", px: px }, children))));
|
34
34
|
};
|
35
|
-
const Wrapper = styled(Box)(({ borderTop, fullBorder }) => css `
|
36
|
-
border-bottom: 1px solid ${theme.colors.
|
37
|
-
${borderTop && `border-top: 1px solid ${theme.colors.
|
35
|
+
const Wrapper = styled(Box)(({ borderTop, fullBorder, filledBackground }) => css `
|
36
|
+
border-bottom: 1px solid ${theme.colors.oatmeal};
|
37
|
+
${borderTop && `border-top: 1px solid ${theme.colors.oatmeal};`}
|
38
38
|
|
39
39
|
${fullBorder &&
|
40
40
|
css `
|
41
|
-
border: 1px solid ${theme.colors.
|
42
|
-
border-radius:
|
43
|
-
|
41
|
+
border: 1px solid ${theme.colors.oatmeal};
|
42
|
+
border-radius: 16px;
|
43
|
+
`}
|
44
|
+
|
45
|
+
${filledBackground &&
|
46
|
+
css `
|
47
|
+
background: ${theme.colors.custard};
|
44
48
|
`}
|
45
49
|
`);
|
46
50
|
const TitleContainer = styled.div `
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAc9B,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAU7C,EAAE,EAAE;QAVyC,EAC5C,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,aAAa,GAAG,KAAK,EACrB,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,UAAU,GAAG,KAAK,OAEnB,EADI,WAAW,cAT8B,6GAU7C,CADe;IAEd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;IACnD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;IAEpC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,aAAa,GAAG,CAAC,MAAM,CAAA;QAC7B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,aAAa,CAAC,CAAA;QACzB,SAAS,CAAC,aAAa,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,OAAO,kBACN,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,IAClB,WAAW,IACf,gBAAgB,EAAE,gBAAgB;QAElC,oBAAC,YAAY,IACX,IAAI,QACJ,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,OAAO,EAAE,YAAY,EACrB,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,EAAE;YAEN,oBAAC,cAAc;gBACb,oBAAC,IAAI,IAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,kBAAkB,EAAC,KAAK,EAAC,WAAW,IACrD,KAAK,CACD;gBACN,QAAQ,IAAI,CACX,oBAAC,IAAI,IAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAC/D,QAAQ,CACJ,CACR,CACc;YAEjB,oBAAC,SAAS,IACR,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,EAAE,EACR,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACW;QACd,MAAM,IAAI,CACT,oBAAC,GAAG,IAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAE,EAAE,IAC5B,QAAQ,CACL,CACP,CACO,CACX,CAAA;AACH,CAAC,CAAA;AASD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CACzB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;+BACvB,KAAK,CAAC,MAAM,CAAC,OAAO;MAC7C,SAAS,IAAI,yBAAyB,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG;;MAE7D,UAAU;IACZ,GAAG,CAAA;0BACmB,KAAK,CAAC,MAAM,CAAC,OAAO;;KAEzC;;MAEC,gBAAgB;IAClB,GAAG,CAAA;oBACa,KAAK,CAAC,MAAM,CAAC,OAAO;KACnC;GACF,CACF,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGhC,CAAA;AACD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;CAE/B,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAC5B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;iBACJ,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;;GAExD,CACF,CAAA"}
|
@@ -1,17 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Accordion } from './Accordion';
|
3
|
+
import { CollectionPage } from './Collection';
|
3
4
|
export default {
|
4
5
|
title: 'Accordion',
|
5
6
|
component: Accordion,
|
6
7
|
};
|
7
8
|
const Template = (props) => (React.createElement(Accordion, Object.assign({}, props, { title: "How it works" }), "Lots of brilliant information about this beautiful component"));
|
8
9
|
export const Default = Template.bind({});
|
9
|
-
export const
|
10
|
-
SubTitle.args = {
|
11
|
-
subTitle: 'subTitle',
|
12
|
-
};
|
13
|
-
export const FullBorder = Template.bind({});
|
14
|
-
FullBorder.args = {
|
15
|
-
fullBorder: true,
|
16
|
-
};
|
10
|
+
export const Collection = CollectionPage.bind({});
|
17
11
|
//# sourceMappingURL=Accordion.stories.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Accordion.stories.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"Accordion.stories.js","sourceRoot":"","sources":["../../src/Accordion/Accordion.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAe;IACb,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,CAC1C,oBAAC,SAAS,oBAAK,KAAK,IAAE,KAAK,EAAC,cAAc,oEAE9B,CACb,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import { Text } from '../Text';
|
4
|
+
import { Box } from '../Box';
|
5
|
+
import { Accordion } from './Accordion';
|
6
|
+
const accordionList = [
|
7
|
+
{
|
8
|
+
children: 'Lots of brilliant information about this beautiful component',
|
9
|
+
title: 'How it works',
|
10
|
+
},
|
11
|
+
{
|
12
|
+
children: 'Lots of brilliant information about this beautiful component',
|
13
|
+
title: 'How it works',
|
14
|
+
subTitle: 'subtitle',
|
15
|
+
},
|
16
|
+
{
|
17
|
+
children: 'Lots of brilliant information about this beautiful component',
|
18
|
+
title: 'How it works',
|
19
|
+
filledBackground: true,
|
20
|
+
},
|
21
|
+
{
|
22
|
+
children: 'Lots of brilliant information about this beautiful component',
|
23
|
+
title: 'How it works',
|
24
|
+
subTitle: 'subtitle',
|
25
|
+
filledBackground: true,
|
26
|
+
},
|
27
|
+
];
|
28
|
+
export const CollectionPage = () => {
|
29
|
+
return (React.createElement(Wrapper, null,
|
30
|
+
React.createElement(Section, { label: "Default" }, accordionList.map((props, index) => (React.createElement(Accordion, Object.assign({ key: index }, props))))),
|
31
|
+
React.createElement(Section, { label: "Border Top" }, accordionList.map((props, index) => (React.createElement(Accordion, Object.assign({ key: index }, props, { borderTop: true }))))),
|
32
|
+
React.createElement(Section, { label: "Full Border" }, accordionList.map((props, index) => (React.createElement(Accordion, Object.assign({ key: index }, props, { fullBorder: true })))))));
|
33
|
+
};
|
34
|
+
const Wrapper = styled(Box) `
|
35
|
+
display: flex;
|
36
|
+
flex-direction: column;
|
37
|
+
align-items: flex-start;
|
38
|
+
gap: 40px;
|
39
|
+
width: 100%;
|
40
|
+
`;
|
41
|
+
const Section = ({ label, children, }) => {
|
42
|
+
return (React.createElement(Box, { width: "100%", mb: "16px" },
|
43
|
+
React.createElement(Box, { mb: "16px" },
|
44
|
+
React.createElement(Text, { tag: "span", typo: "header-small" }, label)),
|
45
|
+
React.createElement(Column, null, children)));
|
46
|
+
};
|
47
|
+
const Column = styled(Box) `
|
48
|
+
display: flex;
|
49
|
+
flex-direction: column;
|
50
|
+
gap: 16px;
|
51
|
+
`;
|
52
|
+
//# sourceMappingURL=Collection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/Accordion/Collection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AAEvD,MAAM,aAAa,GAA0B;IAC3C;QACE,QAAQ,EAAE,8DAA8D;QACxE,KAAK,EAAE,cAAc;KACtB;IACD;QACE,QAAQ,EAAE,8DAA8D;QACxE,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,QAAQ,EAAE,8DAA8D;QACxE,KAAK,EAAE,cAAc;QACrB,gBAAgB,EAAE,IAAI;KACvB;IACD;QACE,QAAQ,EAAE,8DAA8D;QACxE,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAO,GAAG,EAAE;IACrC,OAAO,CACL,oBAAC,OAAO;QACN,oBAAC,OAAO,IAAC,KAAK,EAAC,SAAS,IACrB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,oBAAC,SAAS,kBAAC,GAAG,EAAE,KAAK,IAAM,KAAK,EAAI,CACrC,CAAC,CACM;QACV,oBAAC,OAAO,IAAC,KAAK,EAAC,YAAY,IACxB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,oBAAC,SAAS,kBAAC,GAAG,EAAE,KAAK,IAAM,KAAK,IAAE,SAAS,EAAE,IAAI,IAAI,CACtD,CAAC,CACM;QACV,oBAAC,OAAO,IAAC,KAAK,EAAC,aAAa,IACzB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,oBAAC,SAAS,kBAAC,GAAG,EAAE,KAAK,IAAM,KAAK,IAAE,UAAU,EAAE,IAAI,IAAI,CACvD,CAAC,CACM,CACF,CACX,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;CAM1B,CAAA;AAED,MAAM,OAAO,GAAgD,CAAC,EAC5D,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM;QACzB,oBAAC,GAAG,IAAC,EAAE,EAAC,MAAM;YACZ,oBAAC,IAAI,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,IACjC,KAAK,CACD,CACH;QACN,oBAAC,MAAM,QAAE,QAAQ,CAAU,CACvB,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;;CAIzB,CAAA"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { render } from '@testing-library/react';
|
3
|
+
import 'jest-styled-components';
|
4
|
+
import { Accordion } from '../Accordion';
|
5
|
+
test('renders', () => {
|
6
|
+
const { container } = render(React.createElement(Accordion, { title: "How it works" }, "Lots of brilliant information about this beautiful component"));
|
7
|
+
expect(container.firstChild).toMatchSnapshot();
|
8
|
+
});
|
9
|
+
//# sourceMappingURL=Accordion.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/Accordion/__tests__/Accordion.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,oBAAC,SAAS,IAAC,KAAK,EAAC,cAAc,mEAEnB,CACb,CAAA;IACD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA"}
|
@@ -21,10 +21,10 @@ export const ActionDropdown = (_a) => {
|
|
21
21
|
var { id, className = '', label, value, list, onSelect } = _a, marginProps = __rest(_a, ["id", "className", "label", "value", "list", "onSelect"]);
|
22
22
|
const [open, setOpen] = useState(false);
|
23
23
|
return (React.createElement(Container, Object.assign({ id: id, className: className, onClick: () => setOpen((currentOpen) => !currentOpen) }, marginProps),
|
24
|
-
label && (React.createElement(Text, { tag: "label", color: "
|
25
|
-
React.createElement(Label, { text: (_b = value.textColor) !== null && _b !== void 0 ? _b : '
|
24
|
+
label && (React.createElement(Text, { tag: "label", color: "sesame", typo: "label" }, label)),
|
25
|
+
React.createElement(Label, { text: (_b = value.textColor) !== null && _b !== void 0 ? _b : 'liquorice', bg: (_c = value.bgColor) !== null && _c !== void 0 ? _c : 'sesame' },
|
26
26
|
React.createElement(SelectedOption, null, value.label),
|
27
|
-
React.createElement(Icon, { render: "caret", color: (_d = value.textColor) !== null && _d !== void 0 ? _d : '
|
27
|
+
React.createElement(Icon, { render: "caret", color: (_d = value.textColor) !== null && _d !== void 0 ? _d : 'sesame', size: 24, rotate: open ? 180 : 0 })),
|
28
28
|
React.createElement(OuterContainer, { open: open },
|
29
29
|
React.createElement(List, { options: list, selectOption: onSelect }))));
|
30
30
|
};
|
@@ -38,13 +38,14 @@ const Label = styled.div(({ text, bg }) => css `
|
|
38
38
|
align-items: center;
|
39
39
|
justify-content: space-between;
|
40
40
|
text-align: center;
|
41
|
-
border-radius:
|
41
|
+
border-radius: 64px;
|
42
42
|
padding: 16px 16px 14px;
|
43
43
|
box-sizing: border-box;
|
44
44
|
user-select: none;
|
45
45
|
`);
|
46
46
|
const SelectedOption = styled.span `
|
47
47
|
font-size: 14px;
|
48
|
+
font-weight: bold;
|
48
49
|
white-space: nowrap;
|
49
50
|
overflow: hidden;
|
50
51
|
text-overflow: ellipsis;
|
@@ -62,12 +63,11 @@ const Container = styled(Box) `
|
|
62
63
|
const OuterContainer = styled.div(({ open }) => css `
|
63
64
|
position: absolute;
|
64
65
|
width: 100%;
|
65
|
-
border-radius:
|
66
|
+
border-radius: 12px;
|
66
67
|
margin-top: 8px;
|
67
68
|
display: ${open ? 'block' : 'none'};
|
68
69
|
max-height: ${open ? '235px' : '48px'};
|
69
|
-
background-color: ${theme.colors.
|
70
|
-
border: 1px solid ${theme.colors.outline};
|
70
|
+
background-color: ${theme.colors.custard};
|
71
71
|
overflow-y: ${open ? 'auto' : 'hidden'};
|
72
72
|
z-index: 2;
|
73
73
|
transition: all 0.2s ease-in-out;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionDropdown.js","sourceRoot":"","sources":["../../src/ActionDropdown/ActionDropdown.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAS,KAAK,EAAE,MAAM,UAAU,CAAA;AAgBvC,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EAQvD,EAAE,EAAE;;QARmD,EACtD,EAAE,EACF,SAAS,GAAG,EAAE,EACd,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,OAET,EADI,WAAW,cAPwC,yDAQvD,CADe;IAEd,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,CACL,oBAAC,SAAS,kBACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IACjD,WAAW;QAEd,KAAK,IAAI,CACR,oBAAC,IAAI,IAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,
|
1
|
+
{"version":3,"file":"ActionDropdown.js","sourceRoot":"","sources":["../../src/ActionDropdown/ActionDropdown.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAS,KAAK,EAAE,MAAM,UAAU,CAAA;AAgBvC,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EAQvD,EAAE,EAAE;;QARmD,EACtD,EAAE,EACF,SAAS,GAAG,EAAE,EACd,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,OAET,EADI,WAAW,cAPwC,yDAQvD,CADe;IAEd,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,CACL,oBAAC,SAAS,kBACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IACjD,WAAW;QAEd,KAAK,IAAI,CACR,oBAAC,IAAI,IAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,IAC1C,KAAK,CACD,CACR;QAED,oBAAC,KAAK,IACJ,IAAI,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,WAAW,EACpC,EAAE,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,QAAQ;YAE7B,oBAAC,cAAc,QAAE,KAAK,CAAC,KAAK,CAAkB;YAC9C,oBAAC,IAAI,IACH,MAAM,EAAC,OAAO,EACd,KAAK,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,QAAQ,EAClC,IAAI,EAAE,EAAE,EACR,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACtB,CACI;QACR,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI;YACxB,oBAAC,IAAI,IAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,GAAI,CAChC,CACP,CACb,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CACtB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;aACV,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;wBACP,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;GAYrC,CACF,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;CAMjC,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;;;;CAS5B,CAAA;AAMD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAC/B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;eAKJ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;kBACpB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBACjB,KAAK,CAAC,MAAM,CAAC,OAAO;kBAC1B,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;;;GAGvC,CACF,CAAA"}
|
@@ -8,6 +8,6 @@ export default {
|
|
8
8
|
const Template = () => React.createElement(ActionDropdownContainer, null);
|
9
9
|
export const Default = Template.bind({});
|
10
10
|
Default.args = {
|
11
|
-
textColor: '
|
11
|
+
textColor: 'liquorice',
|
12
12
|
};
|
13
13
|
//# sourceMappingURL=ActionDropdown.stories.js.map
|
@@ -6,32 +6,38 @@ const actions = [
|
|
6
6
|
{
|
7
7
|
label: 'Default grey',
|
8
8
|
value: 'DEFAULT',
|
9
|
-
bgColor: '
|
10
|
-
textColor: '
|
9
|
+
bgColor: 'coconut',
|
10
|
+
textColor: 'liquorice',
|
11
|
+
},
|
12
|
+
{
|
13
|
+
label: 'Brand',
|
14
|
+
value: 'ACTION',
|
15
|
+
bgColor: 'marshmallowPink',
|
16
|
+
textColor: 'liquorice',
|
11
17
|
},
|
12
18
|
{
|
13
19
|
label: 'Medium',
|
14
20
|
value: 'MEDIUM',
|
15
|
-
bgColor: '
|
16
|
-
textColor: '
|
21
|
+
bgColor: 'lemon',
|
22
|
+
textColor: 'liquorice',
|
17
23
|
},
|
18
24
|
{
|
19
25
|
label: 'High alert',
|
20
26
|
value: 'HIGH_ALERT',
|
21
|
-
bgColor: '
|
22
|
-
textColor: '
|
27
|
+
bgColor: 'tangerine',
|
28
|
+
textColor: 'cream',
|
23
29
|
},
|
24
30
|
{
|
25
31
|
label: 'Good zone',
|
26
32
|
value: 'GOOD_ZONE',
|
27
|
-
bgColor: '
|
28
|
-
textColor: '
|
33
|
+
bgColor: 'apple',
|
34
|
+
textColor: 'cream',
|
29
35
|
},
|
30
36
|
{
|
31
37
|
label: 'DANGER zone',
|
32
38
|
value: 'DANGER_ZONE',
|
33
|
-
bgColor: '
|
34
|
-
textColor: '
|
39
|
+
bgColor: 'strawberry',
|
40
|
+
textColor: 'cream',
|
35
41
|
},
|
36
42
|
];
|
37
43
|
export const Container = () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/ActionDropdown/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,OAAO,GAAgC;IAC3C;QACE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/ActionDropdown/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,OAAO,GAAgC;IAC3C;QACE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;KACvB;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,WAAW;KACvB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,WAAW;KACvB;IACD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,OAAO;KACnB;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,OAAO;KACnB;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,OAAO;KACnB;CACF,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhE,OAAO,CACL,oBAAC,GAAG,IAAC,IAAI,QAAC,UAAU,EAAC,QAAQ;QAC3B,oBAAC,cAAc,IACb,EAAE,EAAC,eAAe,EAClB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,iBAAiB,GAC3B;QAEF,oBAAC,GAAG,IAAC,EAAE,EAAC,MAAM,GAAG;QAEjB,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,YAAY,IAC5B,cAAc,CAAC,KAAK,CAChB,CACH,CACF,CACP,CAAA;AACH,CAAC,CAAA"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import styled from 'styled-components';
|
3
3
|
import { theme } from '../theme';
|
4
|
+
import { darken } from 'polished';
|
4
5
|
export const List = ({ options, selectOption }) => (React.createElement(Container, null, options.map((option) => (React.createElement(ListItem, { key: option.value, onClick: () => selectOption(option) }, option.label)))));
|
5
6
|
const Container = styled.ul `
|
6
7
|
padding: 0;
|
@@ -16,11 +17,10 @@ const ListItem = styled.li `
|
|
16
17
|
box-sizing: border-box;
|
17
18
|
font-size: 14px;
|
18
19
|
cursor: pointer;
|
19
|
-
color: ${theme.colors.
|
20
|
-
border-bottom: 1px solid ${theme.colors.outline};
|
20
|
+
color: ${theme.colors.liquorice};
|
21
21
|
|
22
22
|
&:hover {
|
23
|
-
background-color: ${theme.colors.
|
23
|
+
background-color: ${darken(0.1, theme.colors.custard)};
|
24
24
|
}
|
25
25
|
|
26
26
|
&:last-child {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/ActionDropdown/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAS,KAAK,EAAE,MAAM,UAAU,CAAA;
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/ActionDropdown/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAS,KAAK,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAcjC,MAAM,CAAC,MAAM,IAAI,GAAc,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAC5D,oBAAC,SAAS,QACP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAC7D,MAAM,CAAC,KAAK,CACJ,CACZ,CAAC,CACQ,CACb,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAA;;;;CAI1B,CAAA;AAED,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;WASf,KAAK,CAAC,MAAM,CAAC,SAAS;;;wBAGT,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;CAMxD,CAAA"}
|
@@ -6,14 +6,14 @@ const actions = [
|
|
6
6
|
{
|
7
7
|
label: 'High alert',
|
8
8
|
value: 'HIGH_ALERT',
|
9
|
-
bgColor: '
|
10
|
-
textColor: '
|
9
|
+
bgColor: 'tangerine',
|
10
|
+
textColor: 'cream',
|
11
11
|
},
|
12
12
|
{
|
13
13
|
label: 'Good zone',
|
14
14
|
value: 'GOOD_ZONE',
|
15
15
|
bgColor: 'success',
|
16
|
-
textColor: '
|
16
|
+
textColor: 'cream',
|
17
17
|
},
|
18
18
|
];
|
19
19
|
test('renders', () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionDropdown.js","sourceRoot":"","sources":["../../../src/ActionDropdown/__tests__/ActionDropdown.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,OAAO,GAAG;IACd;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"ActionDropdown.js","sourceRoot":"","sources":["../../../src/ActionDropdown/__tests__/ActionDropdown.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,OAAO,GAAG;IACd;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,OAAO;KACnB;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,OAAO;KACnB;CACF,CAAA;AAED,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,oBAAC,cAAc,IACb,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAC/B,CACH,CAAA;IACD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { BannerContainer } from './BannerContainer';
|
3
|
+
import { useBanner } from './hooks';
|
4
|
+
import { Button } from '../Button';
|
5
|
+
import { Box } from '../Box';
|
6
|
+
import { Text } from '../Text';
|
7
|
+
import styled from 'styled-components';
|
8
|
+
export default {
|
9
|
+
title: 'BannerContainer',
|
10
|
+
component: BannerContainer,
|
11
|
+
};
|
12
|
+
const ChildComponent = () => {
|
13
|
+
const { addBanner } = useBanner();
|
14
|
+
return (React.createElement(Box, null,
|
15
|
+
React.createElement(Row, { label: "Generic" },
|
16
|
+
React.createElement(Button, { primary: true, onClick: () => {
|
17
|
+
addBanner({
|
18
|
+
type: 'general',
|
19
|
+
topOffset: '64px',
|
20
|
+
leadingIcon: 'wellbeing',
|
21
|
+
message: 'Free insurance for 1 month for all our customers',
|
22
|
+
exploreAction: () => undefined,
|
23
|
+
showExploreText: true,
|
24
|
+
canManuallyClose: true,
|
25
|
+
});
|
26
|
+
} }, "General banner")),
|
27
|
+
React.createElement(Row, { label: "Upsell" },
|
28
|
+
React.createElement(Button, { primary: true, onClick: () => {
|
29
|
+
addBanner({
|
30
|
+
type: 'upsell',
|
31
|
+
topOffset: '64px',
|
32
|
+
leadingIcon: 'circle-tick',
|
33
|
+
message: 'Get up to £19.34 off your plan today',
|
34
|
+
exploreAction: () => undefined,
|
35
|
+
showExploreIcon: true,
|
36
|
+
});
|
37
|
+
} }, "Upsell banner")),
|
38
|
+
React.createElement(Row, { label: "Success" },
|
39
|
+
React.createElement(Button, { primary: true, onClick: () => {
|
40
|
+
addBanner({
|
41
|
+
type: 'success',
|
42
|
+
topOffset: '64px',
|
43
|
+
leadingIcon: 'circle-tick',
|
44
|
+
message: 'Marshmallow Miles discount applied',
|
45
|
+
});
|
46
|
+
} }, "Success banner")),
|
47
|
+
React.createElement(Row, { label: "Critical" },
|
48
|
+
React.createElement(Button, { primary: true, onClick: () => {
|
49
|
+
addBanner({
|
50
|
+
type: 'critical',
|
51
|
+
topOffset: '64px',
|
52
|
+
leadingIcon: 'card',
|
53
|
+
message: 'Your card needs to be updated',
|
54
|
+
canManuallyClose: true,
|
55
|
+
});
|
56
|
+
} }, "Critical banner")),
|
57
|
+
React.createElement(Row, { label: "Success (do not auto close)" },
|
58
|
+
React.createElement(Button, { primary: true, onClick: () => {
|
59
|
+
addBanner({
|
60
|
+
type: 'success',
|
61
|
+
topOffset: '64px',
|
62
|
+
leadingIcon: 'circle-tick',
|
63
|
+
message: 'Marshmallow Miles discount applied (no timeout)',
|
64
|
+
noTimeout: true,
|
65
|
+
});
|
66
|
+
} }, "Success banner (no timeout)"))));
|
67
|
+
};
|
68
|
+
const Template = () => {
|
69
|
+
return (React.createElement(React.Fragment, null,
|
70
|
+
React.createElement(BannerContainer, null,
|
71
|
+
React.createElement(ChildComponent, null))));
|
72
|
+
};
|
73
|
+
export const Default = Template.bind({});
|
74
|
+
const Row = ({ label, children, }) => {
|
75
|
+
return (React.createElement(RowWrapper, { mt: "16px" },
|
76
|
+
React.createElement(Box, { width: "140px" },
|
77
|
+
React.createElement(Text, { tag: "span", typo: "label-large" }, label)),
|
78
|
+
children));
|
79
|
+
};
|
80
|
+
const RowWrapper = styled(Box) `
|
81
|
+
display: flex;
|
82
|
+
flex-direction: row;
|
83
|
+
align-items: center;
|
84
|
+
gap: 16px;
|
85
|
+
`;
|
86
|
+
//# sourceMappingURL=Banner.stories.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Banner.stories.js","sourceRoot":"","sources":["../../src/Banner/Banner.stories.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React, { FC, ReactNode } from 'react';
|
2
|
+
import { BannerContextType } from './types';
|
3
|
+
export declare const BannerContext: React.Context<BannerContextType>;
|
4
|
+
export declare const useBannerContext: () => BannerContextType;
|
5
|
+
export declare const BannerContainer: FC<{
|
6
|
+
children?: ReactNode;
|
7
|
+
}>;
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import React, { createContext, useState, useCallback, useContext, } from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import { BannerItem } from './BannerItem';
|
4
|
+
export const BannerContext = createContext({
|
5
|
+
addBanner: () => {
|
6
|
+
throw new Error('Please add the BannerContainer to your application');
|
7
|
+
},
|
8
|
+
});
|
9
|
+
export const useBannerContext = () => useContext(BannerContext);
|
10
|
+
export const BannerContainer = ({ children }) => {
|
11
|
+
let bannerId = 0;
|
12
|
+
const [banner, setBanner] = useState([]);
|
13
|
+
// create banner unique ID
|
14
|
+
const newBannerId = useCallback(() => {
|
15
|
+
const newId = `MM_BANNER_${bannerId}`;
|
16
|
+
bannerId++;
|
17
|
+
return newId;
|
18
|
+
}, [bannerId]);
|
19
|
+
const addBanner = (banner) => {
|
20
|
+
const newBanner = Object.assign(Object.assign({}, banner), { id: newBannerId() });
|
21
|
+
setBanner([newBanner]);
|
22
|
+
};
|
23
|
+
const deleteBanner = (id) => {
|
24
|
+
setBanner(banner.filter((banner) => banner.id !== id));
|
25
|
+
};
|
26
|
+
return (React.createElement(BannerContext.Provider, { value: {
|
27
|
+
addBanner,
|
28
|
+
} },
|
29
|
+
children,
|
30
|
+
React.createElement(BannerWrapper, null, banner.map((banner) => (React.createElement(BannerItem, Object.assign({ key: banner.id }, banner, { deleteBanner: deleteBanner })))))));
|
31
|
+
};
|
32
|
+
const BannerWrapper = styled.div `
|
33
|
+
position: fixed;
|
34
|
+
top: 0;
|
35
|
+
left: 0;
|
36
|
+
right: 0;
|
37
|
+
width: 100%;
|
38
|
+
z-index: 99;
|
39
|
+
`;
|
40
|
+
//# sourceMappingURL=BannerContainer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"BannerContainer.js","sourceRoot":"","sources":["../../src/Banner/BannerContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,aAAa,EAEb,QAAQ,EACR,WAAW,EAEX,UAAU,GACX,MAAM,OAAO,CAAA;AACd,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAoB;IAC5D,SAAS,EAAE,GAAG,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5E,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAElD,0BAA0B;IAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,KAAK,GAAG,aAAa,QAAQ,EAAE,CAAA;QACrC,QAAQ,EAAE,CAAA;QACV,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,SAAS,GAAG,CAAC,MAAoB,EAAE,EAAE;QACzC,MAAM,SAAS,mCACV,MAAM,KACT,EAAE,EAAE,WAAW,EAAE,GAClB,CAAA;QACD,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,SAAS;SACV;QAEA,QAAQ;QACT,oBAAC,aAAa,QACX,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACtB,oBAAC,UAAU,kBAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAM,MAAM,IAAE,YAAY,EAAE,YAAY,IAAI,CACvE,CAAC,CACY,CACO,CAC1B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAO/B,CAAA"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { Box } from '../Box';
|
2
|
+
import React from 'react';
|
3
|
+
import styled, { css } from 'styled-components';
|
4
|
+
import { Icon } from '../Icon';
|
5
|
+
import { theme } from '../theme';
|
6
|
+
import { Text } from '../Text';
|
7
|
+
import { useTimeout } from '../hooks';
|
8
|
+
const styles = {
|
9
|
+
upsell: {
|
10
|
+
iconColor: 'liquorice',
|
11
|
+
backgroundColor: theme.colors.marshmallowPink,
|
12
|
+
textColor: 'liquorice',
|
13
|
+
},
|
14
|
+
critical: {
|
15
|
+
iconColor: 'mascarpone',
|
16
|
+
backgroundColor: theme.colors.strawberry,
|
17
|
+
textColor: 'mascarpone',
|
18
|
+
},
|
19
|
+
general: {
|
20
|
+
iconColor: 'mascarpone',
|
21
|
+
backgroundColor: theme.colors.liquorice,
|
22
|
+
textColor: 'mascarpone',
|
23
|
+
},
|
24
|
+
success: {
|
25
|
+
iconColor: 'mascarpone',
|
26
|
+
backgroundColor: theme.colors.apple,
|
27
|
+
textColor: 'mascarpone',
|
28
|
+
},
|
29
|
+
};
|
30
|
+
export const BannerItem = ({ type, autoCloseTime = 4, id, message, topOffset, exploreAction, showExploreText, showExploreIcon, leadingIcon, canManuallyClose, showCloseIcon, deleteBanner, noTimeout, }) => {
|
31
|
+
const autoCloseBaner = () => {
|
32
|
+
if (noTimeout)
|
33
|
+
return;
|
34
|
+
if (type !== 'critical')
|
35
|
+
return deleteBanner(id);
|
36
|
+
else {
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
};
|
40
|
+
useTimeout(() => autoCloseBaner(), autoCloseTime * 1000);
|
41
|
+
const textColor = styles[type].textColor;
|
42
|
+
const iconColor = styles[type].iconColor;
|
43
|
+
return (React.createElement(BannerWrapper, { p: "24px", mt: { custom: topOffset }, key: id, flex: true, justifyContent: "space-between", type: type },
|
44
|
+
React.createElement(Box, { flex: true, alignItems: "center" },
|
45
|
+
leadingIcon && (React.createElement(Icon, { mr: "12px", render: leadingIcon, size: 24, color: iconColor })),
|
46
|
+
React.createElement(Text, { typo: "headline-small", color: textColor }, message)),
|
47
|
+
React.createElement(Box, { flex: true, alignItems: "center" },
|
48
|
+
canManuallyClose && (React.createElement(GenericButton, { onClick: () => deleteBanner(id), "aria-label": `close banner ${message}` }, showCloseIcon ? (React.createElement(Icon, { render: "cross", size: 16, color: iconColor })) : (React.createElement(UnderlinedText, { tag: "span", typo: "desc-medium", color: textColor }, "Dismiss")))),
|
49
|
+
exploreAction && (React.createElement(GenericButton, { onClick: exploreAction, "aria-label": `cta ${message}` },
|
50
|
+
React.createElement(Box, { flex: true, alignItems: "center" },
|
51
|
+
showExploreText && (React.createElement(UnderlinedText, { ml: "12px", tag: "span", typo: "desc-medium", color: textColor }, "Explore")),
|
52
|
+
showExploreIcon && (React.createElement(Icon, { render: "arrow", ml: "12px", size: 24, color: iconColor, rotate: 180 }))))))));
|
53
|
+
};
|
54
|
+
const BannerWrapper = styled(Box)(({ type }) => css `
|
55
|
+
border-radius: 0px 0px 16px 16px;
|
56
|
+
background-color: ${styles[type].backgroundColor};
|
57
|
+
`);
|
58
|
+
const GenericButton = styled.button `
|
59
|
+
cursor: pointer;
|
60
|
+
`;
|
61
|
+
const UnderlinedText = styled(Text) `
|
62
|
+
text-decoration: underline;
|
63
|
+
`;
|
64
|
+
//# sourceMappingURL=BannerItem.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"BannerItem.js","sourceRoot":"","sources":["../../src/Banner/BannerItem.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/Banner/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAExC,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC,CAAA"}
|