@dxc-technology/halstack-react 0.0.0-4448bdb → 0.0.0-453c87a
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/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +294 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +117 -136
- package/accordion/Accordion.stories.tsx +65 -26
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +11 -10
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +16 -9
- package/alert/Alert.js +5 -2
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +23 -33
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +54 -79
- package/button/Button.stories.tsx +66 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +24 -27
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +146 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +17 -67
- package/chip/Chip.stories.tsx +44 -14
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +5 -13
- package/common/variables.js +346 -446
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +246 -0
- package/date-input/DateInput.js +171 -260
- package/date-input/DateInput.stories.tsx +137 -38
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +132 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +116 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +249 -277
- package/dropdown/Dropdown.stories.tsx +153 -80
- package/dropdown/Dropdown.test.js +585 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +29 -18
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +183 -222
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +498 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/flex/types.js +5 -0
- package/footer/Footer.js +24 -99
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -125
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +11 -15
- package/main.js +53 -79
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +19 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +308 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +57 -31
- package/radio-group/RadioGroup.js +75 -60
- package/radio-group/RadioGroup.stories.tsx +61 -39
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +81 -3
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -105
- package/resultsetTable/ResultsetTable.stories.tsx +56 -33
- package/resultsetTable/ResultsetTable.test.js +330 -0
- package/resultsetTable/types.d.ts +2 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +108 -0
- package/select/Select.js +147 -365
- package/select/Select.stories.tsx +324 -213
- package/select/Select.test.js +2233 -0
- package/select/types.d.ts +52 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +182 -52
- package/sidenav/Sidenav.stories.tsx +163 -156
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +122 -96
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +20 -42
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +84 -18
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +39 -17
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +172 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +128 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +25 -28
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +219 -332
- package/text-input/TextInput.stories.tsx +242 -197
- package/text-input/TextInput.test.js +1724 -0
- package/text-input/types.d.ts +51 -13
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +33 -12
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +58 -54
- package/wizard/Wizard.stories.tsx +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -8
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -11
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -239
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -166
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import DxcBulletedList from "./BulletedList";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "BulletedList",
|
|
10
|
+
component: DxcBulletedList,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const icon = (
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
16
|
+
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export const Chromatic = () => (
|
|
21
|
+
<>
|
|
22
|
+
<ExampleContainer>
|
|
23
|
+
<Title title="Icon list" level={4} />
|
|
24
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
25
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
26
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
27
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
28
|
+
</DxcBulletedList>
|
|
29
|
+
<Title title="Number list" level={4} />
|
|
30
|
+
<DxcBulletedList type="number">
|
|
31
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
32
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
33
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
34
|
+
</DxcBulletedList>
|
|
35
|
+
<Title title="Square" level={4} />
|
|
36
|
+
<DxcBulletedList type="square">
|
|
37
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
38
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
39
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
40
|
+
</DxcBulletedList>
|
|
41
|
+
<Title title="Circle" level={4} />
|
|
42
|
+
<DxcBulletedList type="circle">
|
|
43
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
44
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
45
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
46
|
+
</DxcBulletedList>
|
|
47
|
+
<Title title="Disc" level={4} />
|
|
48
|
+
<DxcBulletedList>
|
|
49
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
50
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
51
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
52
|
+
</DxcBulletedList>
|
|
53
|
+
<Title title="Multiple lines" level={4} />
|
|
54
|
+
<Container>
|
|
55
|
+
<Title title="Number" level={4} />
|
|
56
|
+
<DxcBulletedList type="number">
|
|
57
|
+
<DxcBulletedList.Item>
|
|
58
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
59
|
+
dolore magna aliqua.
|
|
60
|
+
</DxcBulletedList.Item>
|
|
61
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
62
|
+
</DxcBulletedList>
|
|
63
|
+
</Container>
|
|
64
|
+
<Container>
|
|
65
|
+
<Title title="Square" level={4} />
|
|
66
|
+
<DxcBulletedList type="square">
|
|
67
|
+
<DxcBulletedList.Item>
|
|
68
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
69
|
+
dolore magna aliqua.
|
|
70
|
+
</DxcBulletedList.Item>
|
|
71
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
72
|
+
</DxcBulletedList>
|
|
73
|
+
</Container>
|
|
74
|
+
<Container>
|
|
75
|
+
<Title title="Circle" level={4} />
|
|
76
|
+
<DxcBulletedList type="circle">
|
|
77
|
+
<DxcBulletedList.Item>
|
|
78
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
79
|
+
dolore magna aliqua.
|
|
80
|
+
</DxcBulletedList.Item>
|
|
81
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
82
|
+
</DxcBulletedList>
|
|
83
|
+
</Container>
|
|
84
|
+
<Title title="Disc" level={4} />
|
|
85
|
+
<Container>
|
|
86
|
+
<DxcBulletedList>
|
|
87
|
+
<DxcBulletedList.Item>
|
|
88
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
89
|
+
dolore magna aliqua.
|
|
90
|
+
</DxcBulletedList.Item>
|
|
91
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
92
|
+
</DxcBulletedList>
|
|
93
|
+
</Container>
|
|
94
|
+
<Container>
|
|
95
|
+
<Title title="Icon" level={4} />
|
|
96
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
97
|
+
<DxcBulletedList.Item>
|
|
98
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
99
|
+
dolore magna aliqua.
|
|
100
|
+
</DxcBulletedList.Item>
|
|
101
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
102
|
+
</DxcBulletedList>
|
|
103
|
+
</Container>
|
|
104
|
+
</ExampleContainer>
|
|
105
|
+
<BackgroundColorProvider color="#333333">
|
|
106
|
+
<DarkContainerForBulletedList>
|
|
107
|
+
<Title title="Icon list" theme="dark" level={4} />
|
|
108
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
109
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
110
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
111
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
112
|
+
</DxcBulletedList>
|
|
113
|
+
<Title title="Number list" theme="dark" level={4} />
|
|
114
|
+
<DxcBulletedList type="number">
|
|
115
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
116
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
117
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
118
|
+
</DxcBulletedList>
|
|
119
|
+
<Title title="Square" theme="dark" level={4} />
|
|
120
|
+
<DxcBulletedList type="square">
|
|
121
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
122
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
123
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
124
|
+
</DxcBulletedList>
|
|
125
|
+
<Title title="Circle" theme="dark" level={4} />
|
|
126
|
+
<DxcBulletedList type="circle">
|
|
127
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
128
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
129
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
130
|
+
</DxcBulletedList>
|
|
131
|
+
<Title title="Disc" theme="dark" level={4} />
|
|
132
|
+
<DxcBulletedList>
|
|
133
|
+
<DxcBulletedList.Item>Code</DxcBulletedList.Item>
|
|
134
|
+
<DxcBulletedList.Item>Usage</DxcBulletedList.Item>
|
|
135
|
+
<DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
|
|
136
|
+
</DxcBulletedList>
|
|
137
|
+
<Title title="Multiple lines" theme="dark" level={4} />
|
|
138
|
+
<Container>
|
|
139
|
+
<Title title="Number" theme="dark" level={4} />
|
|
140
|
+
<DxcBulletedList type="number">
|
|
141
|
+
<DxcBulletedList.Item>
|
|
142
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
143
|
+
dolore magna aliqua.
|
|
144
|
+
</DxcBulletedList.Item>
|
|
145
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
146
|
+
</DxcBulletedList>
|
|
147
|
+
</Container>
|
|
148
|
+
<Container>
|
|
149
|
+
<Title title="Square" theme="dark" level={4} />
|
|
150
|
+
<DxcBulletedList type="square">
|
|
151
|
+
<DxcBulletedList.Item>
|
|
152
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
153
|
+
dolore magna aliqua.
|
|
154
|
+
</DxcBulletedList.Item>
|
|
155
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
156
|
+
</DxcBulletedList>
|
|
157
|
+
</Container>
|
|
158
|
+
<Container>
|
|
159
|
+
<Title title="Circle" theme="dark" level={4} />
|
|
160
|
+
<DxcBulletedList type="circle">
|
|
161
|
+
<DxcBulletedList.Item>
|
|
162
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
163
|
+
dolore magna aliqua.
|
|
164
|
+
</DxcBulletedList.Item>
|
|
165
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
166
|
+
</DxcBulletedList>
|
|
167
|
+
</Container>
|
|
168
|
+
<Title title="Disc" theme="dark" level={4} />
|
|
169
|
+
<Container>
|
|
170
|
+
<DxcBulletedList>
|
|
171
|
+
<DxcBulletedList.Item>
|
|
172
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
173
|
+
dolore magna aliqua.
|
|
174
|
+
</DxcBulletedList.Item>
|
|
175
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
176
|
+
</DxcBulletedList>
|
|
177
|
+
</Container>
|
|
178
|
+
<Container>
|
|
179
|
+
<Title title="Icon" theme="dark" level={4} />
|
|
180
|
+
<DxcBulletedList type="icon" icon={icon}>
|
|
181
|
+
<DxcBulletedList.Item>
|
|
182
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
|
183
|
+
dolore magna aliqua.
|
|
184
|
+
</DxcBulletedList.Item>
|
|
185
|
+
<DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
|
|
186
|
+
</DxcBulletedList>
|
|
187
|
+
</Container>
|
|
188
|
+
</DarkContainerForBulletedList>
|
|
189
|
+
</BackgroundColorProvider>
|
|
190
|
+
</>
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
const Container = styled.div`
|
|
194
|
+
width: 400px;
|
|
195
|
+
`;
|
|
196
|
+
|
|
197
|
+
const DarkContainerForBulletedList = styled.div`
|
|
198
|
+
background-color: #333333;
|
|
199
|
+
padding: 5px;
|
|
200
|
+
`;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type SVG = React.ReactNode & (React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>);
|
|
3
|
+
declare type Props = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
type?: "disc" | "circle" | "square" | "number" | "icon";
|
|
6
|
+
icon?: string | SVG;
|
|
7
|
+
};
|
|
8
|
+
export default Props;
|
|
9
|
+
export declare type BulletedListItemPropsType = {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
};
|
package/button/Button.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import ButtonPropsType from "./types";
|
|
3
|
-
declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon,
|
|
3
|
+
declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
|
|
4
4
|
export default DxcButton;
|
package/button/Button.js
CHANGED
|
@@ -9,13 +9,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
|
-
var
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
15
|
|
|
18
|
-
var
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
@@ -27,12 +25,28 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
|
27
25
|
|
|
28
26
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
29
27
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3
|
|
28
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
31
29
|
|
|
32
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
31
|
|
|
34
32
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
33
|
|
|
34
|
+
var sizes = {
|
|
35
|
+
small: "42px",
|
|
36
|
+
medium: "120px",
|
|
37
|
+
large: "240px",
|
|
38
|
+
fillParent: "100%",
|
|
39
|
+
fitContent: "fit-content"
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var calculateWidth = function calculateWidth(margin, size) {
|
|
43
|
+
if (size === "fillParent") {
|
|
44
|
+
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return sizes[size];
|
|
48
|
+
};
|
|
49
|
+
|
|
36
50
|
var DxcButton = function DxcButton(_ref) {
|
|
37
51
|
var _ref$label = _ref.label,
|
|
38
52
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -45,88 +59,45 @@ var DxcButton = function DxcButton(_ref) {
|
|
|
45
59
|
_ref$type = _ref.type,
|
|
46
60
|
type = _ref$type === void 0 ? "button" : _ref$type,
|
|
47
61
|
icon = _ref.icon,
|
|
48
|
-
_ref$
|
|
49
|
-
|
|
50
|
-
_onClick = _ref.onClick,
|
|
62
|
+
_ref$onClick = _ref.onClick,
|
|
63
|
+
_onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
51
64
|
margin = _ref.margin,
|
|
52
65
|
_ref$size = _ref.size,
|
|
53
66
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
54
67
|
_ref$tabIndex = _ref.tabIndex,
|
|
55
68
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
69
|
+
|
|
56
70
|
var colorsTheme = (0, _useTheme["default"])();
|
|
57
71
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
58
72
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
59
73
|
theme: colorsTheme.button
|
|
60
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement(Button, {
|
|
61
75
|
type: type,
|
|
62
|
-
margin: margin,
|
|
63
76
|
mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
|
|
64
77
|
disabled: disabled,
|
|
65
|
-
iconPosition: iconPosition,
|
|
66
|
-
size: size,
|
|
67
|
-
backgroundType: backgroundType,
|
|
68
|
-
icon: icon
|
|
69
|
-
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
70
|
-
type: type,
|
|
71
|
-
disabled: disabled,
|
|
72
|
-
disableRipple: true,
|
|
73
78
|
"aria-disabled": disabled,
|
|
74
79
|
tabIndex: disabled ? -1 : tabIndex,
|
|
80
|
+
backgroundType: backgroundType,
|
|
81
|
+
size: size,
|
|
82
|
+
margin: margin,
|
|
75
83
|
onClick: function onClick() {
|
|
76
84
|
_onClick();
|
|
77
85
|
}
|
|
78
|
-
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
86
|
+
}, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
79
87
|
icon: icon,
|
|
80
88
|
iconPosition: iconPosition
|
|
81
|
-
}, label), icon
|
|
89
|
+
}, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
82
90
|
label: label,
|
|
83
91
|
iconPosition: iconPosition
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
var sizes = {
|
|
92
|
-
small: "42px",
|
|
93
|
-
medium: "120px",
|
|
94
|
-
large: "240px",
|
|
95
|
-
fillParent: "100%",
|
|
96
|
-
fitContent: "unset"
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
var calculateWidth = function calculateWidth(margin, size) {
|
|
100
|
-
if (size === "fillParent") {
|
|
101
|
-
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return sizes[size];
|
|
92
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
93
|
+
src: icon
|
|
94
|
+
}) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
95
|
+
icon: icon,
|
|
96
|
+
iconPosition: iconPosition
|
|
97
|
+
}, label)));
|
|
105
98
|
};
|
|
106
99
|
|
|
107
|
-
var
|
|
108
|
-
return props.theme.labelFontLineHeight;
|
|
109
|
-
}, function (props) {
|
|
110
|
-
return props.theme.fontSize;
|
|
111
|
-
}, function (props) {
|
|
112
|
-
return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
|
|
113
|
-
}, function (props) {
|
|
114
|
-
return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
118
|
-
return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
|
|
119
|
-
}, function (props) {
|
|
120
|
-
return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
124
|
-
return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
|
|
125
|
-
}, function (props) {
|
|
126
|
-
return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"])), function (props) {
|
|
100
|
+
var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-flex;\n width: ", ";\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n ", "\n"])), function (props) {
|
|
130
101
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
131
102
|
}, function (props) {
|
|
132
103
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -138,8 +109,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
138
109
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
139
110
|
}, function (props) {
|
|
140
111
|
return calculateWidth(props.margin, props.size);
|
|
141
|
-
}, function (props) {
|
|
142
|
-
return props.disabled && "not-allowed" || "pointer";
|
|
143
112
|
}, function (props) {
|
|
144
113
|
return props.theme.paddingLeft;
|
|
145
114
|
}, function (props) {
|
|
@@ -148,8 +117,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
148
117
|
return props.theme.paddingTop;
|
|
149
118
|
}, function (props) {
|
|
150
119
|
return props.theme.paddingBottom;
|
|
151
|
-
}, function (props) {
|
|
152
|
-
return props.iconPosition === "after" && "row" || "row-reverse";
|
|
153
120
|
}, function (props) {
|
|
154
121
|
return props.theme.fontFamily;
|
|
155
122
|
}, function (props) {
|
|
@@ -158,21 +125,29 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
|
|
|
158
125
|
return props.theme.fontWeight;
|
|
159
126
|
}, function (props) {
|
|
160
127
|
return props.theme.labelLetterSpacing;
|
|
161
|
-
}, function (props) {
|
|
162
|
-
return props.size === "small" && "calc(100% - 22px)" || "unset";
|
|
163
128
|
}, function (props) {
|
|
164
129
|
return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
|
|
165
130
|
}, function (props) {
|
|
166
131
|
var mode = props.mode,
|
|
167
|
-
backgroundType = props.backgroundType
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
132
|
+
backgroundType = props.backgroundType,
|
|
133
|
+
disabled = props.disabled;
|
|
134
|
+
return "\n border-radius: ".concat(props.mode === "primary" ? props.theme.primaryBorderRadius : props.mode === "secondary" ? props.theme.secondaryBorderRadius : props.theme.textBorderRadius, ";\n border-width: ").concat(props.mode === "primary" ? props.theme.primaryBorderThickness : props.mode === "secondary" ? props.theme.secondaryBorderThickness : props.theme.textBorderThickness, ";\n border-style: ").concat(mode === "primary" ? props.theme.primaryBorderStyle : mode === "secondary" ? props.theme.secondaryBorderStyle : props.theme.textBorderStyle, ";\n font-family: ").concat(mode === "primary" ? props.theme.primaryFontFamily : mode === "secondary" ? props.theme.secondaryFontFamily : props.theme.textFontFamily, ";\n font-size: ").concat(mode === "primary" ? props.theme.primaryFontSize : mode === "secondary" ? props.theme.secondaryFontSize : props.theme.textFontSize, ";\n font-weight: ").concat(mode === "primary" ? props.theme.primaryFontWeight : mode === "secondary" ? props.theme.secondaryFontWeight : props.theme.textFontWeight, ";\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor : backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor : backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, ";\n border-color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor : "", ";\n &:hover {\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor : backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n }\n &:focus {\n border-color: ").concat(mode === "secondary" ? "transparent" : "", ";\n }\n &:active {\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor : backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, ";\n color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n border-color: ").concat(mode === "secondary" ? "transparent" : "", ";\n outline: none;\n box-shadow: ").concat(!disabled ? "0 0 0 2px ".concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor) : "", ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor : backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n color: ").concat(mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor : mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor : backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, ";\n border-color: ").concat(mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor : "", ";\n }\n ");
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
138
|
+
return props.theme.labelFontLineHeight;
|
|
139
|
+
}, function (props) {
|
|
140
|
+
return props.theme.fontSize;
|
|
141
|
+
}, function (props) {
|
|
142
|
+
return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
|
|
143
|
+
}, function (props) {
|
|
144
|
+
return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
148
|
+
return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
|
|
149
|
+
}, function (props) {
|
|
150
|
+
return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
|
|
176
151
|
});
|
|
177
152
|
|
|
178
153
|
var _default = DxcButton;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcButton from "./Button";
|
|
3
|
+
import DxcFlex from "./../flex/Flex";
|
|
3
4
|
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
5
|
import Title from "../../.storybook/components/Title";
|
|
5
6
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
@@ -10,14 +11,43 @@ export default {
|
|
|
10
11
|
component: DxcButton,
|
|
11
12
|
};
|
|
12
13
|
|
|
13
|
-
const iconSVG = (
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
const iconSVG = (
|
|
15
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
|
|
16
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
17
|
+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
const facebookIcon = (
|
|
22
|
+
<svg
|
|
23
|
+
version="1.1"
|
|
24
|
+
id="Capa_1"
|
|
25
|
+
x="0px"
|
|
26
|
+
y="0px"
|
|
27
|
+
width="438.536px"
|
|
28
|
+
height="438.536px"
|
|
29
|
+
viewBox="0 0 438.536 438.536"
|
|
30
|
+
fill="currentColor"
|
|
31
|
+
>
|
|
32
|
+
<g>
|
|
33
|
+
<path
|
|
34
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
35
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
36
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
37
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
38
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
39
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
40
|
+
/>
|
|
41
|
+
</g>
|
|
42
|
+
</svg>
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const smallIcon = (
|
|
46
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
|
|
47
|
+
<path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
|
|
48
|
+
</svg>
|
|
49
|
+
);
|
|
50
|
+
|
|
21
51
|
export const Chromatic = () => (
|
|
22
52
|
<>
|
|
23
53
|
<Title title="Primary" theme="light" level={2} />
|
|
@@ -53,6 +83,18 @@ export const Chromatic = () => (
|
|
|
53
83
|
<Title title="Only icon" theme="light" level={4} />
|
|
54
84
|
<DxcButton icon={iconSVG} />
|
|
55
85
|
</ExampleContainer>
|
|
86
|
+
<ExampleContainer>
|
|
87
|
+
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
88
|
+
<DxcButton icon={facebookIcon} />
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer>
|
|
91
|
+
<Title title="Big icon (image)" theme="light" level={4} />
|
|
92
|
+
<DxcButton icon="https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png" />
|
|
93
|
+
</ExampleContainer>
|
|
94
|
+
<ExampleContainer>
|
|
95
|
+
<Title title="Small icon" theme="light" level={4} />
|
|
96
|
+
<DxcButton icon={smallIcon} />
|
|
97
|
+
</ExampleContainer>
|
|
56
98
|
<Title title="Secondary" theme="light" level={2} />
|
|
57
99
|
<ExampleContainer>
|
|
58
100
|
<Title title="Enabled" theme="light" level={4} />
|
|
@@ -78,6 +120,10 @@ export const Chromatic = () => (
|
|
|
78
120
|
<Title title="With icon" theme="light" level={4} />
|
|
79
121
|
<DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
|
|
80
122
|
</ExampleContainer>
|
|
123
|
+
<ExampleContainer>
|
|
124
|
+
<Title title="Only icon (image)" theme="light" level={4} />
|
|
125
|
+
<DxcButton mode="secondary" icon="https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png" />
|
|
126
|
+
</ExampleContainer>
|
|
81
127
|
<Title title="Text" theme="light" level={2} />
|
|
82
128
|
<ExampleContainer>
|
|
83
129
|
<Title title="Enabled" theme="light" level={4} />
|
|
@@ -103,6 +149,10 @@ export const Chromatic = () => (
|
|
|
103
149
|
<Title title="With icon" theme="light" level={4} />
|
|
104
150
|
<DxcButton label="Text" mode="text" icon={iconSVG} />
|
|
105
151
|
</ExampleContainer>
|
|
152
|
+
<ExampleContainer>
|
|
153
|
+
<Title title="Only icon (image)" theme="light" level={4} />
|
|
154
|
+
<DxcButton mode="text" icon="https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png" />
|
|
155
|
+
</ExampleContainer>
|
|
106
156
|
<BackgroundColorProvider color="#333333">
|
|
107
157
|
<DarkContainer>
|
|
108
158
|
<Title title="Primary" theme="dark" level={2} />
|
|
@@ -272,5 +322,13 @@ export const Chromatic = () => (
|
|
|
272
322
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
273
323
|
<DxcButton label="Xxlarge margin" margin="xxlarge" />
|
|
274
324
|
</ExampleContainer>
|
|
325
|
+
<Title title="Inside a flex" theme="light" level={2} />
|
|
326
|
+
<ExampleContainer>
|
|
327
|
+
<DxcFlex direction="column" gap="0.75rem">
|
|
328
|
+
<DxcButton label="Button" />
|
|
329
|
+
<DxcButton label="Button" />
|
|
330
|
+
<DxcButton label="Button" />
|
|
331
|
+
</DxcFlex>
|
|
332
|
+
</ExampleContainer>
|
|
275
333
|
</>
|
|
276
334
|
);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
10
|
+
|
|
11
|
+
describe("Button component tests", function () {
|
|
12
|
+
test("Button renders with correct text", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
14
|
+
label: "Button"
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("Button")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Calls correct function on click", function () {
|
|
21
|
+
var onClick = jest.fn();
|
|
22
|
+
|
|
23
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
24
|
+
label: "Button",
|
|
25
|
+
onClick: onClick
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render2.getByText;
|
|
28
|
+
|
|
29
|
+
var button = getByText("Button");
|
|
30
|
+
|
|
31
|
+
_react2.fireEvent.click(button);
|
|
32
|
+
|
|
33
|
+
expect(onClick).toHaveBeenCalled();
|
|
34
|
+
});
|
|
35
|
+
});
|