@popsure/dirty-swan 0.51.3 → 0.53.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/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +210 -39037
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/components/accordion/index.d.ts +24 -0
- package/dist/cjs/lib/components/accordion/index.stories.d.ts +50 -0
- package/dist/cjs/lib/components/chip/index.d.ts +3 -2
- package/dist/cjs/lib/components/chip/index.stories.d.ts +35 -0
- package/dist/cjs/lib/components/comparisonTable/index.stories.d.ts +172 -0
- package/dist/cjs/lib/index.d.ts +1 -2
- package/dist/esm/{Calendar-ab50ad9c.js → Calendar-da0c3e4e.js} +1 -1
- package/dist/esm/{Calendar-ab50ad9c.js.map → Calendar-da0c3e4e.js.map} +1 -1
- package/dist/esm/components/accordion/index.js +56 -0
- package/dist/esm/components/accordion/index.js.map +1 -0
- package/dist/esm/components/accordion/index.stories.js +89 -0
- package/dist/esm/components/accordion/index.stories.js.map +1 -0
- package/dist/esm/components/autocompleteAddress/index.js +1 -1
- package/dist/esm/components/autocompleteAddress/index.stories.js +1 -1
- package/dist/esm/components/autocompleteAddress/index.test.js +2 -2
- package/dist/esm/components/badge/index.test.js +2 -2
- package/dist/esm/components/button/index.js +1 -1
- package/dist/esm/components/button/index.stories.js +1 -1
- package/dist/esm/components/button/index.test.js +2 -2
- package/dist/esm/components/cards/card/index.js +7 -7
- package/dist/esm/components/cards/card/index.js.map +1 -1
- package/dist/esm/components/cards/card/index.stories.js +1 -1
- package/dist/esm/components/cards/cardButton/index.js +1 -1
- package/dist/esm/components/cards/cardButton/index.stories.js +1 -1
- package/dist/esm/components/cards/index.js +1 -1
- package/dist/esm/components/cards/infoCard/index.js +1 -1
- package/dist/esm/components/cards/infoCard/index.stories.js +1 -1
- package/dist/esm/components/chip/index.js.map +1 -1
- package/dist/esm/components/chip/index.stories.js +70 -0
- package/dist/esm/components/chip/index.stories.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +3 -3
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +3 -3
- package/dist/esm/components/comparisonTable/index.js +1 -1
- package/dist/esm/components/comparisonTable/index.stories.js +308 -0
- package/dist/esm/components/comparisonTable/index.stories.js.map +1 -0
- package/dist/esm/components/dateSelector/components/Calendar.js +2 -2
- package/dist/esm/components/dateSelector/index.js +2 -2
- package/dist/esm/components/dateSelector/index.stories.js +2 -2
- package/dist/esm/components/dateSelector/index.test.js +3 -3
- package/dist/esm/components/downloadButton/index.js +1 -1
- package/dist/esm/components/downloadButton/index.stories.js +1 -1
- package/dist/esm/components/icon/icons/Arthritis.js +2 -2
- package/dist/esm/components/icon/icons/Arthritis.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronDown.js +2 -2
- package/dist/esm/components/icon/icons/ChevronDown.js.map +1 -1
- package/dist/esm/components/icon/icons/Cpu.js +2 -2
- package/dist/esm/components/icon/icons/Cpu.js.map +1 -1
- package/dist/esm/components/icon/icons/Wind.js +2 -2
- package/dist/esm/components/icon/icons/Wind.js.map +1 -1
- package/dist/esm/components/icon/icons/Zap.js +2 -2
- package/dist/esm/components/icon/icons/Zap.js.map +1 -1
- package/dist/esm/components/icon/icons.stories.js +2 -2
- package/dist/esm/components/icon/index.stories.js +1 -1
- package/dist/esm/components/informationBox/index.test.js +2 -2
- package/dist/esm/components/input/autoSuggestInput/index.js +1 -1
- package/dist/esm/components/input/autoSuggestInput/index.stories.js +1 -1
- package/dist/esm/components/input/autoSuggestMultiSelect/index.js +1 -1
- package/dist/esm/components/input/autoSuggestMultiSelect/index.stories.js +1 -1
- package/dist/esm/components/input/checkbox/index.js +1 -1
- package/dist/esm/components/input/checkbox/index.stories.js +1 -1
- package/dist/esm/components/input/checkbox/index.test.js +2 -2
- package/dist/esm/components/input/currency/index.js +1 -1
- package/dist/esm/components/input/currency/index.test.js +2 -2
- package/dist/esm/components/input/currency/input.stories.js +1 -1
- package/dist/esm/components/input/iban/index.js +1 -1
- package/dist/esm/components/input/index.js +1 -1
- package/dist/esm/components/input/input.stories.js +1 -1
- package/dist/esm/components/input/radio/index.test.js +2 -2
- package/dist/esm/components/input/toggle/index.js +1 -1
- package/dist/esm/components/input/toggle/index.stories.js +1 -1
- package/dist/esm/components/input/toggle/index.test.js +2 -2
- package/dist/esm/components/link/index.js +1 -1
- package/dist/esm/components/link/index.stories.js +1 -1
- package/dist/esm/components/modal/bottomModal/index.js +1 -1
- package/dist/esm/components/modal/bottomOrRegularModal/index.js +1 -1
- package/dist/esm/components/modal/genericModal/index.js +2 -2
- package/dist/esm/components/modal/genericModal/index.js.map +1 -1
- package/dist/esm/components/modal/index.stories.js +4 -11
- package/dist/esm/components/modal/index.stories.js.map +1 -1
- package/dist/esm/components/modal/regularModal/index.js +1 -1
- package/dist/esm/components/multiDropzone/index.js +1 -1
- package/dist/esm/components/multiDropzone/index.stories.js +1 -1
- package/dist/esm/components/multiDropzone/index.test.js +3 -3
- package/dist/esm/components/segmentedControl/index.test.js +2 -2
- package/dist/esm/components/signaturePad/index.js +1 -1
- package/dist/esm/components/signaturePad/index.stories.js +1 -1
- package/dist/esm/components/spinner/index.test.js +2 -2
- package/dist/esm/components/toast/index.js +2 -2
- package/dist/esm/components/toast/index.stories.js +2 -2
- package/dist/esm/components/toast/index.test.js +3 -3
- package/dist/esm/{customRender-7c4f92fb.js → customRender-b3d1dc00.js} +2 -2
- package/dist/esm/{customRender-7c4f92fb.js.map → customRender-b3d1dc00.js.map} +1 -1
- package/dist/esm/{extend-expect-6a57cfd5.js → extend-expect-5a71e666.js} +2 -2
- package/dist/esm/{extend-expect-6a57cfd5.js.map → extend-expect-5a71e666.js.map} +1 -1
- package/dist/esm/{index-df63ee5a.js → index-27e1f1cc.js} +11 -11
- package/dist/esm/{index-df63ee5a.js.map → index-27e1f1cc.js.map} +1 -1
- package/dist/esm/{index-5abf080f.js → index-2a2fcd04.js} +2 -2
- package/dist/esm/{index-5abf080f.js.map → index-2a2fcd04.js.map} +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +3 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/components/accordion/index.d.ts +24 -0
- package/dist/esm/lib/components/accordion/index.stories.d.ts +50 -0
- package/dist/esm/lib/components/chip/index.d.ts +3 -2
- package/dist/esm/lib/components/chip/index.stories.d.ts +35 -0
- package/dist/esm/lib/components/comparisonTable/index.stories.d.ts +172 -0
- package/dist/esm/lib/index.d.ts +1 -2
- package/dist/esm/{tslib.es6-5bc94358.js → tslib.es6-a39f91fc.js} +2 -2
- package/dist/esm/{tslib.es6-5bc94358.js.map → tslib.es6-a39f91fc.js.map} +1 -1
- package/dist/esm/util/images/index.stories.js +1 -1
- package/dist/esm/util/testUtils/customRender.js +2 -2
- package/package.json +2 -5
- package/src/index.tsx +0 -1
- package/src/lib/components/accordion/index.stories.tsx +85 -0
- package/src/lib/components/accordion/index.tsx +150 -0
- package/src/lib/components/accordion/style.module.scss +62 -0
- package/src/lib/components/cards/card/index.tsx +7 -6
- package/src/lib/components/cards/card/style.module.scss +5 -0
- package/src/lib/components/chip/index.stories.tsx +86 -0
- package/src/lib/components/chip/index.tsx +7 -5
- package/src/lib/components/comparisonTable/index.stories.tsx +360 -0
- package/src/lib/components/modal/genericModal/index.tsx +1 -0
- package/src/lib/components/modal/index.stories.tsx +7 -16
- package/src/lib/index.tsx +0 -2
- package/dist/cjs/lib/components/markdown/config.d.ts +0 -22
- package/dist/cjs/lib/components/markdown/index.d.ts +0 -10
- package/dist/cjs/lib/components/markdown/index.stories.d.ts +0 -39
- package/dist/esm/components/markdown/index.js +0 -38833
- package/dist/esm/components/markdown/index.js.map +0 -1
- package/dist/esm/components/markdown/index.stories.js +0 -61
- package/dist/esm/components/markdown/index.stories.js.map +0 -1
- package/dist/esm/lib/components/markdown/config.d.ts +0 -22
- package/dist/esm/lib/components/markdown/index.d.ts +0 -10
- package/dist/esm/lib/components/markdown/index.stories.d.ts +0 -39
- package/src/lib/components/chip/index.mdx +0 -95
- package/src/lib/components/comparisonTable/index.mdx +0 -570
- package/src/lib/components/markdown/config.ts +0 -45
- package/src/lib/components/markdown/index.stories.tsx +0 -185
- package/src/lib/components/markdown/index.tsx +0 -163
- package/src/lib/components/markdown/styles.module.scss +0 -37
|
@@ -1,570 +0,0 @@
|
|
|
1
|
-
import { Canvas, Meta, Unstyled } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
import { CardButton } from '../cards';
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
ComparisonTable,
|
|
7
|
-
TableButton,
|
|
8
|
-
TableRating,
|
|
9
|
-
TableRowHeader,
|
|
10
|
-
TableTrueFalse,
|
|
11
|
-
} from '.';
|
|
12
|
-
|
|
13
|
-
<Meta title="JSX/Comparison Table" component={ComparisonTable} />
|
|
14
|
-
|
|
15
|
-
# Comparison Table
|
|
16
|
-
|
|
17
|
-
The Comparison Table component provides an easy way to compare vast amounts of information in a fast and easy way.
|
|
18
|
-
|
|
19
|
-
<iframe
|
|
20
|
-
width="100%"
|
|
21
|
-
height="450"
|
|
22
|
-
src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FMKs4cbojdVOBKUxv7okb93%2FDirty-Swan-Design-System%3Fnode-id%3D2025%253A12194"
|
|
23
|
-
allowFullScreen
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
## Arguments
|
|
27
|
-
|
|
28
|
-
| attribute | unit | description | default value | required |
|
|
29
|
-
| --------------------- | ----------------------------------------- | ------------------------------------------------------------------- | -------------- | -------- |
|
|
30
|
-
| headers | [Header\[\]](#header) | The structure of the table | n/a | true |
|
|
31
|
-
| data | array | The title text that needs to be displayed | n/a | true |
|
|
32
|
-
| hideDetails | boolean | Hide table groups that do not have the `default` attribute | false | false |
|
|
33
|
-
| hideDetailsCaption | string | Caption of the button to hide the details | 'Hide details' | false |
|
|
34
|
-
| showDetailsCaption | string | Caption of the button to show the details | 'Show details' | false |
|
|
35
|
-
| hideScrollBars | boolean | Hide scroll bars | false | false |
|
|
36
|
-
| hideScrollBarsMobile | boolean | Hide scroll bars on mobile only | false | false |
|
|
37
|
-
| collapsibleSections | boolean | Make table groups with a label collapsible | false | false |
|
|
38
|
-
| cellWidth | number | Width of a table content cell | 211px | false |
|
|
39
|
-
| firstColumnWidth | number | Width of the first column of the table | 212px | false |
|
|
40
|
-
| stickyHeaderTopOffset | number | Y-offset of the sticky header row | 0px | false |
|
|
41
|
-
| growContent | boolean | Makes the content area grow to fill the available space | false | false |
|
|
42
|
-
| onSelectionChanged | (number) => void | Callback to be called when the selected tab index changes on mobile | n/a | false |
|
|
43
|
-
| classNameOverrides | [ClassNameOverrides](#classnameoverrides) | "className" props to be passed down to various internal components | n/a | false |
|
|
44
|
-
|
|
45
|
-
## Types
|
|
46
|
-
|
|
47
|
-
### Cell
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
export interface CellBaseProps<T> {
|
|
51
|
-
label?: React.ReactNode;
|
|
52
|
-
render?: (value: any, element: T) => React.ReactNode;
|
|
53
|
-
key: Extract<keyof T, string>;
|
|
54
|
-
addonId?: string | number;
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Header
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
export interface Header<T> {
|
|
62
|
-
id: number;
|
|
63
|
-
label?: React.ReactNode;
|
|
64
|
-
cells: Array<Cell<T>>;
|
|
65
|
-
default?: boolean;
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### ClassNameOverrides
|
|
70
|
-
|
|
71
|
-
Note that if the component uses custom css such as media queries etc. for certain properties, the override must also use
|
|
72
|
-
custom css (and not just Dirty Swan classes) or else it won't to able override the existing rules.
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
export interface ClassNameOverrides {
|
|
76
|
-
header?: string;
|
|
77
|
-
container?: string;
|
|
78
|
-
cell?: string;
|
|
79
|
-
headerCell?: string;
|
|
80
|
-
collapsibleSection?: string;
|
|
81
|
-
section?: string;
|
|
82
|
-
hideDetailsButton?: string;
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Default example
|
|
87
|
-
|
|
88
|
-
export const ComparisonTableWithData = () => {
|
|
89
|
-
const headers = [
|
|
90
|
-
{
|
|
91
|
-
id: 1,
|
|
92
|
-
default: true,
|
|
93
|
-
cells: [
|
|
94
|
-
{
|
|
95
|
-
id: 1,
|
|
96
|
-
key: 'name',
|
|
97
|
-
label: 'Films',
|
|
98
|
-
render: (value) => (
|
|
99
|
-
<TableButton onClick={() => {}}>{value}</TableButton>
|
|
100
|
-
),
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
id: 2,
|
|
104
|
-
key: 'country',
|
|
105
|
-
label: 'Country',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
id: 4,
|
|
109
|
-
key: 'imdb',
|
|
110
|
-
label: 'IMDB rating',
|
|
111
|
-
render: (value) => (
|
|
112
|
-
<TableButton onClick={() => {}}>{value}</TableButton>
|
|
113
|
-
),
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
id: 3,
|
|
117
|
-
key: 'rating',
|
|
118
|
-
label: (
|
|
119
|
-
<TableRowHeader
|
|
120
|
-
label="Our rating of movies found online on IMDB lists"
|
|
121
|
-
onClickInfo={() => {}}
|
|
122
|
-
/>
|
|
123
|
-
),
|
|
124
|
-
render: (value) => (
|
|
125
|
-
<TableButton onClick={() => {}}>
|
|
126
|
-
<TableRating type="star" rating={value} />
|
|
127
|
-
</TableButton>
|
|
128
|
-
),
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
id: 5,
|
|
132
|
-
key: 'recommended',
|
|
133
|
-
label: (
|
|
134
|
-
<TableRowHeader
|
|
135
|
-
label="Recommended"
|
|
136
|
-
subtitle="Our favourites"
|
|
137
|
-
onClickInfo={() => {}}
|
|
138
|
-
/>
|
|
139
|
-
),
|
|
140
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
id: 5,
|
|
144
|
-
key: 'familyFriendly',
|
|
145
|
-
label: 'Family friendly',
|
|
146
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
id: 6,
|
|
150
|
-
key: 'boxOffice',
|
|
151
|
-
label: 'Box office',
|
|
152
|
-
render: (value) =>
|
|
153
|
-
value.toLocaleString('de-DE', {
|
|
154
|
-
style: 'currency',
|
|
155
|
-
currency: 'EUR',
|
|
156
|
-
}),
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
id: 2,
|
|
162
|
-
label: 'SUBSECTION',
|
|
163
|
-
cells: [
|
|
164
|
-
{
|
|
165
|
-
id: 1,
|
|
166
|
-
key: 'name',
|
|
167
|
-
label: 'Films',
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
id: 2,
|
|
171
|
-
key: 'country',
|
|
172
|
-
label: 'Country',
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
id: 4,
|
|
176
|
-
key: 'imdb',
|
|
177
|
-
label: 'IMDB rating',
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
id: 3,
|
|
181
|
-
key: 'rating',
|
|
182
|
-
label: 'Our rating',
|
|
183
|
-
render: (value) => <TableRating type="star" rating={value} />,
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
id: 5,
|
|
187
|
-
key: 'recommended',
|
|
188
|
-
label: 'Recommended',
|
|
189
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
id: 5,
|
|
193
|
-
key: 'familyFriendly',
|
|
194
|
-
label: 'Family friendly',
|
|
195
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
id: 6,
|
|
199
|
-
key: 'boxOffice',
|
|
200
|
-
label: 'Box office',
|
|
201
|
-
render: (value) =>
|
|
202
|
-
value.toLocaleString('de-DE', {
|
|
203
|
-
style: 'currency',
|
|
204
|
-
currency: 'EUR',
|
|
205
|
-
}),
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
addonId: 'addon-movies',
|
|
209
|
-
label: (
|
|
210
|
-
<CardButton
|
|
211
|
-
title="All Review"
|
|
212
|
-
description="Click here to read all reviews"
|
|
213
|
-
onClick={() => {}}
|
|
214
|
-
/>
|
|
215
|
-
),
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
id: 3,
|
|
221
|
-
label: 'SUBSECTION 2',
|
|
222
|
-
cells: [
|
|
223
|
-
{
|
|
224
|
-
id: 1,
|
|
225
|
-
key: 'name',
|
|
226
|
-
label: 'Films',
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
id: 2,
|
|
230
|
-
key: 'country',
|
|
231
|
-
label: 'Country',
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
id: 4,
|
|
235
|
-
key: 'imdb',
|
|
236
|
-
label: 'IMDB rating',
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
id: 3,
|
|
240
|
-
key: 'rating',
|
|
241
|
-
label: 'Our rating',
|
|
242
|
-
render: (value) => <TableRating type="star" rating={value} />,
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
id: 5,
|
|
246
|
-
key: 'recommended',
|
|
247
|
-
label: 'Recommended',
|
|
248
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
id: 5,
|
|
252
|
-
key: 'familyFriendly',
|
|
253
|
-
label: 'Family friendly',
|
|
254
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
id: 6,
|
|
258
|
-
key: 'boxOffice',
|
|
259
|
-
label: 'Box office',
|
|
260
|
-
render: (value) =>
|
|
261
|
-
value.toLocaleString('de-DE', {
|
|
262
|
-
style: 'currency',
|
|
263
|
-
currency: 'EUR',
|
|
264
|
-
}),
|
|
265
|
-
},
|
|
266
|
-
],
|
|
267
|
-
},
|
|
268
|
-
];
|
|
269
|
-
const data = [
|
|
270
|
-
{
|
|
271
|
-
id: 1,
|
|
272
|
-
name: 'Pulp Fiction',
|
|
273
|
-
country: 'United States',
|
|
274
|
-
year: '1994',
|
|
275
|
-
rating: 3,
|
|
276
|
-
imdb: 8.9,
|
|
277
|
-
recommended: 3,
|
|
278
|
-
familyFriendly: false,
|
|
279
|
-
boxOffice: 213928762,
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
id: 2,
|
|
283
|
-
name: 'Parasite',
|
|
284
|
-
country: 'South Korea',
|
|
285
|
-
year: '2019',
|
|
286
|
-
rating: 2,
|
|
287
|
-
imdb: 8.6,
|
|
288
|
-
recommended: 3,
|
|
289
|
-
familyFriendly: false,
|
|
290
|
-
boxOffice: 355475245,
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
id: 3,
|
|
294
|
-
name: 'Spirited Away',
|
|
295
|
-
country: 'Japan',
|
|
296
|
-
year: '2001',
|
|
297
|
-
rating: 3,
|
|
298
|
-
imdb: 8.6,
|
|
299
|
-
recommended: 3,
|
|
300
|
-
familyFriendly: true,
|
|
301
|
-
boxOffice: 258908054,
|
|
302
|
-
},
|
|
303
|
-
];
|
|
304
|
-
return (
|
|
305
|
-
<ComparisonTable
|
|
306
|
-
data={data}
|
|
307
|
-
headers={headers}
|
|
308
|
-
collapsibleSections
|
|
309
|
-
hideDetails
|
|
310
|
-
classNameOverrides={{
|
|
311
|
-
hideDetailsButton: 'p-container wmx6',
|
|
312
|
-
}}
|
|
313
|
-
/>
|
|
314
|
-
);
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
<Unstyled>
|
|
318
|
-
<ComparisonTableWithData />
|
|
319
|
-
</Unstyled>
|
|
320
|
-
|
|
321
|
-
```typescript jsx
|
|
322
|
-
import ComparisonTable, {
|
|
323
|
-
TableRating,
|
|
324
|
-
TableTrueFalse,
|
|
325
|
-
TableHeader,
|
|
326
|
-
} from '@popsure/dirty-swan';
|
|
327
|
-
|
|
328
|
-
interface TableData {
|
|
329
|
-
id: number;
|
|
330
|
-
name: string;
|
|
331
|
-
country: string;
|
|
332
|
-
year: string;
|
|
333
|
-
rating: number;
|
|
334
|
-
imdb: number;
|
|
335
|
-
recommended: number;
|
|
336
|
-
familyFriendly: boolean;
|
|
337
|
-
boxOffice: number;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
export const ComparisonTableWithData = () => {
|
|
341
|
-
const headers = [
|
|
342
|
-
{
|
|
343
|
-
id: 1,
|
|
344
|
-
default: true,
|
|
345
|
-
cells: [
|
|
346
|
-
{
|
|
347
|
-
id: 1,
|
|
348
|
-
key: 'name',
|
|
349
|
-
label: 'Films',
|
|
350
|
-
render: (value) => (
|
|
351
|
-
<TableButton onClick={() => {}}>{value}</TableButton>
|
|
352
|
-
),
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
id: 2,
|
|
356
|
-
key: 'country',
|
|
357
|
-
label: 'Country',
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
id: 4,
|
|
361
|
-
key: 'imdb',
|
|
362
|
-
label: 'IMDB rating',
|
|
363
|
-
render: (value) => (
|
|
364
|
-
<TableButton onClick={() => {}}>{value}</TableButton>
|
|
365
|
-
),
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
id: 3,
|
|
369
|
-
key: 'rating',
|
|
370
|
-
label: (
|
|
371
|
-
<TableRowHeader
|
|
372
|
-
label="Our rating of movies found online on IMDB lists"
|
|
373
|
-
onClickInfo={() => {}}
|
|
374
|
-
/>
|
|
375
|
-
),
|
|
376
|
-
render: (value) => (
|
|
377
|
-
<TableButton onClick={() => {}}>
|
|
378
|
-
<TableRating type="star" rating={value} />
|
|
379
|
-
</TableButton>
|
|
380
|
-
),
|
|
381
|
-
},
|
|
382
|
-
{
|
|
383
|
-
id: 5,
|
|
384
|
-
key: 'recommended',
|
|
385
|
-
label: (
|
|
386
|
-
<TableRowHeader
|
|
387
|
-
label="Recommended"
|
|
388
|
-
subtitle="Our favourites"
|
|
389
|
-
onClickInfo={() => {}}
|
|
390
|
-
/>
|
|
391
|
-
),
|
|
392
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
id: 5,
|
|
396
|
-
key: 'familyFriendly',
|
|
397
|
-
label: 'Family friendly',
|
|
398
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
id: 6,
|
|
402
|
-
key: 'boxOffice',
|
|
403
|
-
label: 'Box office',
|
|
404
|
-
render: (value) =>
|
|
405
|
-
value.toLocaleString('de-DE', {
|
|
406
|
-
style: 'currency',
|
|
407
|
-
currency: 'EUR',
|
|
408
|
-
}),
|
|
409
|
-
},
|
|
410
|
-
{
|
|
411
|
-
addonId: 'addon-movies',
|
|
412
|
-
label: (
|
|
413
|
-
<CardButton
|
|
414
|
-
title="All Review"
|
|
415
|
-
description="Click here to read all reviews"
|
|
416
|
-
onClick={() => {}}
|
|
417
|
-
/>
|
|
418
|
-
),
|
|
419
|
-
},
|
|
420
|
-
],
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
id: 2,
|
|
424
|
-
label: 'SUBSECTION',
|
|
425
|
-
cells: [
|
|
426
|
-
{
|
|
427
|
-
id: 1,
|
|
428
|
-
key: 'name',
|
|
429
|
-
label: 'Films',
|
|
430
|
-
},
|
|
431
|
-
{
|
|
432
|
-
id: 2,
|
|
433
|
-
key: 'country',
|
|
434
|
-
label: 'Country',
|
|
435
|
-
},
|
|
436
|
-
{
|
|
437
|
-
id: 4,
|
|
438
|
-
key: 'imdb',
|
|
439
|
-
label: 'IMDB rating',
|
|
440
|
-
},
|
|
441
|
-
{
|
|
442
|
-
id: 3,
|
|
443
|
-
key: 'rating',
|
|
444
|
-
label: 'Our rating',
|
|
445
|
-
render: (value) => <TableRating type="star" rating={value} />,
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
id: 5,
|
|
449
|
-
key: 'recommended',
|
|
450
|
-
label: 'Recommended',
|
|
451
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
452
|
-
},
|
|
453
|
-
{
|
|
454
|
-
id: 5,
|
|
455
|
-
key: 'familyFriendly',
|
|
456
|
-
label: 'Family friendly',
|
|
457
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
id: 6,
|
|
461
|
-
key: 'boxOffice',
|
|
462
|
-
label: 'Box office',
|
|
463
|
-
render: (value) =>
|
|
464
|
-
value.toLocaleString('de-DE', {
|
|
465
|
-
style: 'currency',
|
|
466
|
-
currency: 'EUR',
|
|
467
|
-
}),
|
|
468
|
-
},
|
|
469
|
-
],
|
|
470
|
-
},
|
|
471
|
-
{
|
|
472
|
-
id: 3,
|
|
473
|
-
label: 'SUBSECTION 2',
|
|
474
|
-
cells: [
|
|
475
|
-
{
|
|
476
|
-
id: 1,
|
|
477
|
-
key: 'name',
|
|
478
|
-
label: 'Films',
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
id: 2,
|
|
482
|
-
key: 'country',
|
|
483
|
-
label: 'Country',
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
id: 4,
|
|
487
|
-
key: 'imdb',
|
|
488
|
-
label: 'IMDB rating',
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
id: 3,
|
|
492
|
-
key: 'rating',
|
|
493
|
-
label: 'Our rating',
|
|
494
|
-
render: (value) => <TableRating type="star" rating={value} />,
|
|
495
|
-
},
|
|
496
|
-
{
|
|
497
|
-
id: 5,
|
|
498
|
-
key: 'recommended',
|
|
499
|
-
label: 'Recommended',
|
|
500
|
-
render: (value) => <TableRating type="zap" rating={value} />,
|
|
501
|
-
},
|
|
502
|
-
{
|
|
503
|
-
id: 5,
|
|
504
|
-
key: 'familyFriendly',
|
|
505
|
-
label: 'Family friendly',
|
|
506
|
-
render: (value) => <TableTrueFalse value={value} />,
|
|
507
|
-
},
|
|
508
|
-
{
|
|
509
|
-
id: 6,
|
|
510
|
-
key: 'boxOffice',
|
|
511
|
-
label: 'Box office',
|
|
512
|
-
render: (value) =>
|
|
513
|
-
value.toLocaleString('de-DE', {
|
|
514
|
-
style: 'currency',
|
|
515
|
-
currency: 'EUR',
|
|
516
|
-
}),
|
|
517
|
-
},
|
|
518
|
-
],
|
|
519
|
-
},
|
|
520
|
-
];
|
|
521
|
-
const data: Array<TableData> = [
|
|
522
|
-
{
|
|
523
|
-
id: 1,
|
|
524
|
-
name: 'Pulp Fiction',
|
|
525
|
-
country: 'United States',
|
|
526
|
-
year: '1994',
|
|
527
|
-
rating: 3,
|
|
528
|
-
imdb: 8.9,
|
|
529
|
-
recommended: 3,
|
|
530
|
-
familyFriendly: false,
|
|
531
|
-
boxOffice: 213928762,
|
|
532
|
-
},
|
|
533
|
-
{
|
|
534
|
-
id: 2,
|
|
535
|
-
name: 'Parasite',
|
|
536
|
-
country: 'South Korea',
|
|
537
|
-
year: '2019',
|
|
538
|
-
rating: 2,
|
|
539
|
-
imdb: 8.6,
|
|
540
|
-
recommended: 3,
|
|
541
|
-
familyFriendly: false,
|
|
542
|
-
boxOffice: 355475245,
|
|
543
|
-
},
|
|
544
|
-
{
|
|
545
|
-
id: 3,
|
|
546
|
-
name: 'Spirited Away',
|
|
547
|
-
country: 'Japan',
|
|
548
|
-
year: '2001',
|
|
549
|
-
rating: 3,
|
|
550
|
-
imdb: 8.6,
|
|
551
|
-
recommended: 3,
|
|
552
|
-
familyFriendly: true,
|
|
553
|
-
boxOffice: 258908054,
|
|
554
|
-
},
|
|
555
|
-
];
|
|
556
|
-
return (
|
|
557
|
-
<ComparisonTable
|
|
558
|
-
data={data}
|
|
559
|
-
headers={headers}
|
|
560
|
-
collapsibleSections
|
|
561
|
-
hideDetails
|
|
562
|
-
classNameOverrides={{
|
|
563
|
-
hideDetailsButton: 'p-container wmx6',
|
|
564
|
-
}}
|
|
565
|
-
/>
|
|
566
|
-
);
|
|
567
|
-
};
|
|
568
|
-
|
|
569
|
-
<ComparisonTableWithData />;
|
|
570
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import styles from './styles.module.scss';
|
|
2
|
-
|
|
3
|
-
export interface MarkdownStyling {
|
|
4
|
-
a: string;
|
|
5
|
-
p: string;
|
|
6
|
-
h1: string;
|
|
7
|
-
h2: string;
|
|
8
|
-
h3: string;
|
|
9
|
-
h4: string;
|
|
10
|
-
h5: string;
|
|
11
|
-
h6: string;
|
|
12
|
-
ol: string;
|
|
13
|
-
ul: string;
|
|
14
|
-
strong: string;
|
|
15
|
-
em: string;
|
|
16
|
-
table: string;
|
|
17
|
-
th: string;
|
|
18
|
-
tr: string;
|
|
19
|
-
td: string;
|
|
20
|
-
blockquote: string;
|
|
21
|
-
code: string;
|
|
22
|
-
pre: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const defaultStyling: MarkdownStyling = {
|
|
26
|
-
a: 'p-a',
|
|
27
|
-
p: 'p-p mt8',
|
|
28
|
-
h1: 'p-h1 p--serif mt32',
|
|
29
|
-
h2: 'p-h2 mt24',
|
|
30
|
-
h3: 'p-h3 mt16',
|
|
31
|
-
h4: 'p-h4 mt8',
|
|
32
|
-
h5: 'p-h5 mt8',
|
|
33
|
-
h6: 'p-h6 mt8',
|
|
34
|
-
ol: `p-p ${styles.olist} mt8`,
|
|
35
|
-
ul: `p-p ${styles.ulist} mt8`,
|
|
36
|
-
strong: 'fw-bold',
|
|
37
|
-
em: 'fs-italic',
|
|
38
|
-
table: `w100 mt24 ${styles.table}`,
|
|
39
|
-
th: 'p-h4',
|
|
40
|
-
tr: styles.row,
|
|
41
|
-
td: 'px8 py8 tc-grey-700',
|
|
42
|
-
blockquote: 'bg-grey-200 my24 px24 pt16 pb24 br8',
|
|
43
|
-
code: styles.code,
|
|
44
|
-
pre: `d-block tc-grey-200 bg-grey-900 px16 py16 my16 br8 ${styles.pre}`,
|
|
45
|
-
};
|