@dxc-technology/halstack-react 7.0.0 → 9.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/HalstackContext.js +98 -50
- package/accordion/Accordion.js +7 -13
- package/accordion/Accordion.stories.tsx +102 -13
- package/alert/Alert.stories.tsx +28 -0
- package/box/Box.js +1 -3
- package/box/Box.stories.tsx +15 -0
- package/button/Button.js +11 -13
- package/button/Button.stories.tsx +150 -8
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -15
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/common/variables.js +286 -290
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -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 +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +60 -73
- package/dialog/Dialog.stories.tsx +211 -159
- package/dialog/Dialog.test.js +301 -2
- package/dropdown/Dropdown.js +35 -35
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +17 -22
- package/dropdown/DropdownMenu.js +8 -18
- package/dropdown/DropdownMenuItem.js +4 -15
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +169 -222
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +12 -53
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -0
- package/footer/Footer.stories.tsx +91 -0
- package/header/Header.js +18 -20
- package/header/Header.stories.tsx +149 -6
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +60 -0
- package/main.d.ts +1 -1
- package/main.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/Tab.js +35 -15
- package/number-input/NumberInput.test.js +5 -6
- package/package.json +7 -12
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +5 -11
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +17 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -105
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +43 -24
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +17 -22
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +8 -10
- package/sidenav/Sidenav.stories.tsx +148 -46
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +9 -8
- package/slider/Slider.stories.tsx +57 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +5 -4
- package/switch/Switch.stories.tsx +33 -0
- package/switch/types.d.ts +6 -1
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +3 -5
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +45 -5
- package/tag/Tag.stories.tsx +14 -1
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +7 -11
- package/text-input/TextInput.stories.tsx +92 -4
- package/text-input/TextInput.test.js +587 -634
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.stories.tsx +20 -0
- package/common/RequiredComponent.js +0 -32
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import DxcRadioGroup from "./RadioGroup";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
title: "Radio Group",
|
|
@@ -19,83 +20,195 @@ const options = [
|
|
|
19
20
|
|
|
20
21
|
const single_disabled_options = [{ label: "Option A", value: "A", disabled: true }];
|
|
21
22
|
|
|
23
|
+
const opinionatedTheme = {
|
|
24
|
+
radioGroup: {
|
|
25
|
+
baseColor: "#0086e6",
|
|
26
|
+
fontColor: "#000000",
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
|
|
22
30
|
export const Chromatic = () => (
|
|
23
31
|
<>
|
|
24
32
|
<Title title="Radio input states" theme="light" level={2} />
|
|
25
33
|
<ExampleContainer>
|
|
26
34
|
<Title title="Enabled" theme="light" level={4} />
|
|
27
|
-
<DxcRadioGroup label="
|
|
35
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
28
36
|
</ExampleContainer>
|
|
29
37
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
30
38
|
<Title title="Hovered" theme="light" level={4} />
|
|
31
|
-
<DxcRadioGroup label="
|
|
39
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
32
40
|
</ExampleContainer>
|
|
33
41
|
<ExampleContainer pseudoState="pseudo-active">
|
|
34
42
|
<Title title="Active" theme="light" level={4} />
|
|
35
|
-
<DxcRadioGroup label="
|
|
43
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
36
44
|
</ExampleContainer>
|
|
37
45
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
38
46
|
<Title title="Focused" theme="light" level={4} />
|
|
39
|
-
<DxcRadioGroup label="
|
|
47
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
40
48
|
</ExampleContainer>
|
|
41
49
|
<ExampleContainer>
|
|
42
50
|
<Title title="Disabled" theme="light" level={4} />
|
|
43
|
-
<DxcRadioGroup label="
|
|
51
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
|
|
44
52
|
</ExampleContainer>
|
|
45
53
|
<Title title="Readonly radio input sub-states" theme="light" level={3} />
|
|
46
54
|
<ExampleContainer>
|
|
47
55
|
<Title title="Enabled" theme="light" level={4} />
|
|
48
|
-
<DxcRadioGroup label="
|
|
56
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
49
57
|
</ExampleContainer>
|
|
50
58
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
51
59
|
<Title title="Hovered" theme="light" level={4} />
|
|
52
|
-
<DxcRadioGroup label="
|
|
60
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
53
61
|
</ExampleContainer>
|
|
54
62
|
<ExampleContainer pseudoState="pseudo-active">
|
|
55
63
|
<Title title="Active" theme="light" level={4} />
|
|
56
|
-
<DxcRadioGroup label="
|
|
64
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
57
65
|
</ExampleContainer>
|
|
58
66
|
<Title title="Error radio input sub-states" theme="light" level={3} />
|
|
59
67
|
<ExampleContainer>
|
|
60
68
|
<Title title="Enabled" theme="light" level={4} />
|
|
61
|
-
<DxcRadioGroup
|
|
69
|
+
<DxcRadioGroup
|
|
70
|
+
label="Label"
|
|
71
|
+
helperText="Helper text"
|
|
72
|
+
options={single_option}
|
|
73
|
+
defaultValue="A"
|
|
74
|
+
error="Error message"
|
|
75
|
+
/>
|
|
62
76
|
</ExampleContainer>
|
|
63
77
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
64
78
|
<Title title="Hovered" theme="light" level={4} />
|
|
65
|
-
<DxcRadioGroup
|
|
79
|
+
<DxcRadioGroup
|
|
80
|
+
label="Label"
|
|
81
|
+
helperText="Helper text"
|
|
82
|
+
options={single_option}
|
|
83
|
+
defaultValue="A"
|
|
84
|
+
readonly
|
|
85
|
+
error="Error message"
|
|
86
|
+
/>
|
|
66
87
|
</ExampleContainer>
|
|
67
88
|
<ExampleContainer pseudoState="pseudo-active">
|
|
68
89
|
<Title title="Active" theme="light" level={4} />
|
|
69
|
-
<DxcRadioGroup
|
|
90
|
+
<DxcRadioGroup
|
|
91
|
+
label="Label"
|
|
92
|
+
helperText="Helper text"
|
|
93
|
+
options={single_option}
|
|
94
|
+
defaultValue="A"
|
|
95
|
+
readonly
|
|
96
|
+
error="Error message"
|
|
97
|
+
/>
|
|
70
98
|
</ExampleContainer>
|
|
71
99
|
<Title title="Variants" theme="light" level={2} />
|
|
72
100
|
<ExampleContainer>
|
|
73
101
|
<Title title="Column" theme="light" level={4} />
|
|
74
|
-
<DxcRadioGroup label="
|
|
102
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} />
|
|
75
103
|
</ExampleContainer>
|
|
76
104
|
<ExampleContainer>
|
|
77
105
|
<Title title="Row" theme="light" level={4} />
|
|
78
|
-
<DxcRadioGroup label="
|
|
106
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} stacking="row" />
|
|
79
107
|
</ExampleContainer>
|
|
80
108
|
<ExampleContainer>
|
|
81
109
|
<Title title="Optional" theme="light" level={4} />
|
|
82
|
-
<DxcRadioGroup label="
|
|
110
|
+
<DxcRadioGroup label="Label" optional helperText="Helper text" options={options} stacking="row" />
|
|
83
111
|
</ExampleContainer>
|
|
84
112
|
<ExampleContainer>
|
|
85
113
|
<Title title="Disabled" theme="light" level={4} />
|
|
86
|
-
<DxcRadioGroup label="
|
|
114
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled />
|
|
87
115
|
</ExampleContainer>
|
|
88
116
|
<ExampleContainer>
|
|
89
117
|
<Title title="Readonly" theme="light" level={4} />
|
|
90
|
-
<DxcRadioGroup label="
|
|
118
|
+
<DxcRadioGroup label="Label" readonly helperText="Helper text" options={options} />
|
|
91
119
|
</ExampleContainer>
|
|
92
120
|
<ExampleContainer>
|
|
93
121
|
<Title title="Error space reserved" theme="light" level={4} />
|
|
94
|
-
<DxcRadioGroup label="
|
|
122
|
+
<DxcRadioGroup label="Label" error="" helperText="Helper text" options={options} />
|
|
95
123
|
</ExampleContainer>
|
|
96
124
|
<ExampleContainer>
|
|
97
125
|
<Title title="Error" theme="light" level={4} />
|
|
98
|
-
<DxcRadioGroup label="
|
|
126
|
+
<DxcRadioGroup label="Label" error="Error message" helperText="Helper text" options={options} />
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
129
|
+
<ExampleContainer>
|
|
130
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
131
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
132
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
133
|
+
</HalstackProvider>
|
|
134
|
+
</ExampleContainer>
|
|
135
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
136
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
137
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
138
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
139
|
+
</HalstackProvider>
|
|
140
|
+
</ExampleContainer>
|
|
141
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
142
|
+
<Title title="Active" theme="light" level={4} />
|
|
143
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
144
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
145
|
+
</HalstackProvider>
|
|
146
|
+
</ExampleContainer>
|
|
147
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
148
|
+
<Title title="Focused" theme="light" level={4} />
|
|
149
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
150
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
151
|
+
</HalstackProvider>
|
|
152
|
+
</ExampleContainer>
|
|
153
|
+
<ExampleContainer>
|
|
154
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
155
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
156
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
|
|
157
|
+
</HalstackProvider>
|
|
158
|
+
</ExampleContainer>
|
|
159
|
+
<ExampleContainer>
|
|
160
|
+
<Title title="Readonly enabled" theme="light" level={4} />
|
|
161
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
162
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
163
|
+
</HalstackProvider>
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
166
|
+
<Title title="Readonly hovered" theme="light" level={4} />
|
|
167
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
168
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
169
|
+
</HalstackProvider>
|
|
170
|
+
</ExampleContainer>
|
|
171
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
172
|
+
<Title title="Readonly active" theme="light" level={4} />
|
|
173
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
174
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
175
|
+
</HalstackProvider>
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
178
|
+
<Title title="Readonly focused" theme="light" level={4} />
|
|
179
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
180
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
181
|
+
</HalstackProvider>
|
|
182
|
+
</ExampleContainer>
|
|
183
|
+
<ExampleContainer>
|
|
184
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
185
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
186
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
187
|
+
</HalstackProvider>
|
|
188
|
+
</ExampleContainer>
|
|
189
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
190
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
191
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
192
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
193
|
+
</HalstackProvider>
|
|
194
|
+
</ExampleContainer>
|
|
195
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
196
|
+
<Title title="Active" theme="light" level={4} />
|
|
197
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
198
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
199
|
+
</HalstackProvider>
|
|
200
|
+
</ExampleContainer>
|
|
201
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
202
|
+
<Title title="Focused" theme="light" level={4} />
|
|
203
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
204
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
205
|
+
</HalstackProvider>
|
|
206
|
+
</ExampleContainer>
|
|
207
|
+
<ExampleContainer>
|
|
208
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
209
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
210
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled defaultValue="A" />
|
|
211
|
+
</HalstackProvider>
|
|
99
212
|
</ExampleContainer>
|
|
100
213
|
</>
|
|
101
214
|
);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var icons = {
|
|
13
|
+
arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
+
height: "24",
|
|
16
|
+
viewBox: "0 0 24 24",
|
|
17
|
+
width: "24",
|
|
18
|
+
fill: "currentColor"
|
|
19
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
20
|
+
d: "M0 0h24v24H0V0z",
|
|
21
|
+
fill: "none"
|
|
22
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
23
|
+
d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
|
|
24
|
+
})),
|
|
25
|
+
arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
26
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
27
|
+
height: "24",
|
|
28
|
+
viewBox: "0 0 24 24",
|
|
29
|
+
width: "24",
|
|
30
|
+
fill: "currentColor"
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
+
d: "M0 0h24v24H0V0z",
|
|
33
|
+
fill: "none"
|
|
34
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
35
|
+
d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
36
|
+
})),
|
|
37
|
+
bothArrows: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
+
height: "24",
|
|
40
|
+
viewBox: "0 0 24 24",
|
|
41
|
+
width: "24",
|
|
42
|
+
fill: "currentColor"
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
+
d: "M0 0h24v24H0z",
|
|
45
|
+
fill: "none"
|
|
46
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
+
d: "M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"
|
|
48
|
+
}))
|
|
49
|
+
};
|
|
50
|
+
var _default = icons;
|
|
51
|
+
exports["default"] = _default;
|
|
@@ -27,17 +27,21 @@ var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
|
27
27
|
|
|
28
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
31
|
+
|
|
32
|
+
var _utils = require("../common/utils.js");
|
|
33
|
+
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
31
35
|
|
|
32
36
|
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
37
|
|
|
34
38
|
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
39
|
|
|
36
|
-
function normalizeSortValue(sortValue) {
|
|
40
|
+
var normalizeSortValue = function normalizeSortValue(sortValue) {
|
|
37
41
|
return typeof sortValue === "string" ? sortValue.toUpperCase() : sortValue;
|
|
38
|
-
}
|
|
42
|
+
};
|
|
39
43
|
|
|
40
|
-
function sortArray(index, order, resultset) {
|
|
44
|
+
var sortArray = function sortArray(index, order, resultset) {
|
|
41
45
|
return resultset.slice().sort(function (element1, element2) {
|
|
42
46
|
var sortValueA = normalizeSortValue(element1[index].sortValue || element1[index].displayValue);
|
|
43
47
|
var sortValueB = normalizeSortValue(element2[index].sortValue || element2[index].displayValue);
|
|
@@ -53,9 +57,9 @@ function sortArray(index, order, resultset) {
|
|
|
53
57
|
comparison = -1;
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
return order === "
|
|
60
|
+
return order === "descending" ? comparison * -1 : comparison;
|
|
57
61
|
});
|
|
58
|
-
}
|
|
62
|
+
};
|
|
59
63
|
|
|
60
64
|
var getMinItemsPerPageIndex = function getMinItemsPerPageIndex(currentPageInternal, itemsPerPage, page) {
|
|
61
65
|
return currentPageInternal === 1 ? 0 : itemsPerPage * (page - 1);
|
|
@@ -65,51 +69,6 @@ var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIn
|
|
|
65
69
|
return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
|
|
66
70
|
};
|
|
67
71
|
|
|
68
|
-
var ArrowUp = function ArrowUp() {
|
|
69
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
70
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
71
|
-
height: "24",
|
|
72
|
-
viewBox: "0 0 24 24",
|
|
73
|
-
width: "24",
|
|
74
|
-
fill: "currentColor"
|
|
75
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
76
|
-
d: "M0 0h24v24H0V0z",
|
|
77
|
-
fill: "none"
|
|
78
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
79
|
-
d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
|
|
80
|
-
}));
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
var ArrowDown = function ArrowDown() {
|
|
84
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
85
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
86
|
-
height: "24",
|
|
87
|
-
viewBox: "0 0 24 24",
|
|
88
|
-
width: "24",
|
|
89
|
-
fill: "currentColor"
|
|
90
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
91
|
-
d: "M0 0h24v24H0V0z",
|
|
92
|
-
fill: "none"
|
|
93
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
94
|
-
d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
95
|
-
}));
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
var BothArrows = function BothArrows() {
|
|
99
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
100
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
101
|
-
height: "24",
|
|
102
|
-
viewBox: "0 0 24 24",
|
|
103
|
-
width: "24",
|
|
104
|
-
fill: "currentColor"
|
|
105
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
106
|
-
d: "M0 0h24v24H0z",
|
|
107
|
-
fill: "none"
|
|
108
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
109
|
-
d: "M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"
|
|
110
|
-
}));
|
|
111
|
-
};
|
|
112
|
-
|
|
113
72
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
114
73
|
var columns = _ref.columns,
|
|
115
74
|
rows = _ref.rows,
|
|
@@ -129,12 +88,12 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
129
88
|
page = _useState2[0],
|
|
130
89
|
changePage = _useState2[1];
|
|
131
90
|
|
|
132
|
-
var _useState3 = (0, _react.useState)(
|
|
91
|
+
var _useState3 = (0, _react.useState)(-1),
|
|
133
92
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
134
93
|
sortColumnIndex = _useState4[0],
|
|
135
94
|
changeSortColumnIndex = _useState4[1];
|
|
136
95
|
|
|
137
|
-
var _useState5 = (0, _react.useState)("
|
|
96
|
+
var _useState5 = (0, _react.useState)("ascending"),
|
|
138
97
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
139
98
|
sortOrder = _useState6[0],
|
|
140
99
|
changeSortOrder = _useState6[1];
|
|
@@ -145,6 +104,12 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
145
104
|
var maxItemsPerPageIndex = (0, _react.useMemo)(function () {
|
|
146
105
|
return getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, rows, page);
|
|
147
106
|
}, [itemsPerPage, minItemsPerPageIndex, page, rows]);
|
|
107
|
+
var sortedResultset = (0, _react.useMemo)(function () {
|
|
108
|
+
return sortColumnIndex !== -1 ? sortArray(sortColumnIndex, sortOrder, rows) : rows;
|
|
109
|
+
}, [sortColumnIndex, sortOrder, rows]);
|
|
110
|
+
var filteredResultset = (0, _react.useMemo)(function () {
|
|
111
|
+
return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
|
|
112
|
+
}, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
|
|
148
113
|
|
|
149
114
|
var goToPage = function goToPage(newPage) {
|
|
150
115
|
changePage(newPage);
|
|
@@ -153,44 +118,30 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
153
118
|
var changeSorting = function changeSorting(columnIndex) {
|
|
154
119
|
changePage(1);
|
|
155
120
|
changeSortColumnIndex(columnIndex);
|
|
156
|
-
changeSortOrder(sortColumnIndex ===
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
var getIconForSortableColumn = function getIconForSortableColumn(clickedColumnIndex) {
|
|
160
|
-
return sortColumnIndex === clickedColumnIndex ? sortOrder === "asc" ? /*#__PURE__*/_react["default"].createElement(ArrowUp, null) : /*#__PURE__*/_react["default"].createElement(ArrowDown, null) : /*#__PURE__*/_react["default"].createElement(BothArrows, null);
|
|
121
|
+
changeSortOrder(sortColumnIndex === -1 || sortColumnIndex !== columnIndex ? "ascending" : sortOrder === "ascending" ? "descending" : "ascending");
|
|
161
122
|
};
|
|
162
123
|
|
|
163
124
|
(0, _react.useEffect)(function () {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
} else {
|
|
167
|
-
changePage(0);
|
|
168
|
-
}
|
|
169
|
-
}, [rows.length, itemsPerPage]);
|
|
170
|
-
var sortedResultset = (0, _react.useMemo)(function () {
|
|
171
|
-
return sortColumnIndex !== "" ? sortArray(sortColumnIndex, sortOrder, rows) : rows;
|
|
172
|
-
}, [sortColumnIndex, sortOrder, rows]);
|
|
173
|
-
var filteredResultset = (0, _react.useMemo)(function () {
|
|
174
|
-
return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
|
|
175
|
-
}, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
|
|
125
|
+
rows.length > 0 ? changePage(1) : changePage(0);
|
|
126
|
+
}, [rows]);
|
|
176
127
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
177
128
|
theme: colorsTheme.table
|
|
178
129
|
}, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
|
|
179
130
|
margin: margin
|
|
180
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
181
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
182
|
-
key: "tableHeader_".concat(index)
|
|
131
|
+
}, /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
|
|
132
|
+
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
133
|
+
key: "tableHeader_".concat(index),
|
|
134
|
+
"aria-sort": column.isSortable ? sortColumnIndex === index ? sortOrder : "none" : undefined
|
|
183
135
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
136
|
+
role: column.isSortable ? "button" : undefined,
|
|
184
137
|
key: "headerContainer_".concat(index),
|
|
185
138
|
onClick: function onClick() {
|
|
186
|
-
|
|
139
|
+
column.isSortable && changeSorting(index);
|
|
187
140
|
},
|
|
188
141
|
tabIndex: column.isSortable ? tabIndex : -1,
|
|
189
142
|
isSortable: column.isSortable
|
|
190
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
191
|
-
|
|
192
|
-
}, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
|
|
193
|
-
}))), /*#__PURE__*/_react["default"].createElement(TableRowGroup, null, filteredResultset.map(function (cells, index) {
|
|
143
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, sortColumnIndex === index ? sortOrder === "ascending" ? _Icons["default"].arrowUp : _Icons["default"].arrowDown : _Icons["default"].bothArrows)));
|
|
144
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, index) {
|
|
194
145
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
195
146
|
key: "resultSetTableCell_".concat(index)
|
|
196
147
|
}, cells.map(function (cellContent, index) {
|
|
@@ -198,7 +149,7 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
198
149
|
key: "resultSetTableCellContent_".concat(index)
|
|
199
150
|
}, cellContent.displayValue);
|
|
200
151
|
}));
|
|
201
|
-
})))
|
|
152
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
202
153
|
totalItems: rows.length,
|
|
203
154
|
itemsPerPage: itemsPerPage,
|
|
204
155
|
itemsPerPageOptions: itemsPerPageOptions,
|
|
@@ -207,35 +158,15 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
207
158
|
showGoToPage: showGoToPage,
|
|
208
159
|
onPageChange: goToPage,
|
|
209
160
|
tabIndex: tabIndex
|
|
210
|
-
})))
|
|
161
|
+
})));
|
|
211
162
|
};
|
|
212
163
|
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
var TableRowGroup = _styledComponents["default"].tbody(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n > div:nth-child(1) {\n position: absolute;\n left: calc(50% - 68.5px);\n bottom: calc(50% - 68.5px - 30px);\n }\n"])));
|
|
218
|
-
|
|
219
|
-
var SortIcon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n top: 409px;\n left: 390px;\n height: 14px;\n cursor: pointer;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
220
|
-
return props.theme.sortIconColor;
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n"])), function (props) {
|
|
224
|
-
return props.isSortable && "pointer" || "default";
|
|
225
|
-
});
|
|
226
|
-
|
|
227
|
-
var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
228
|
-
|
|
229
|
-
var HeaderContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: fit-content;\n :focus {\n ", "\n }\n"])), function (props) {
|
|
230
|
-
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
231
|
-
}, function (props) {
|
|
232
|
-
return props.isSortable && "outline: #0095ff solid 2px; \n outline-offset: 4px;";
|
|
233
|
-
});
|
|
234
|
-
|
|
235
|
-
var HeaderRow = _styledComponents["default"].thead(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 60px;\n"])));
|
|
164
|
+
var calculateWidth = function calculateWidth(margin) {
|
|
165
|
+
return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
166
|
+
};
|
|
236
167
|
|
|
237
|
-
var DxcResultsetTableContainer = _styledComponents["default"].div(
|
|
238
|
-
return props.
|
|
168
|
+
var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
169
|
+
return calculateWidth(props.margin);
|
|
239
170
|
}, function (props) {
|
|
240
171
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
241
172
|
}, function (props) {
|
|
@@ -248,5 +179,17 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
248
179
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
249
180
|
});
|
|
250
181
|
|
|
182
|
+
var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: 8px;\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
183
|
+
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
184
|
+
}, function (props) {
|
|
185
|
+
return props.isSortable ? "pointer" : "default";
|
|
186
|
+
}, function (props) {
|
|
187
|
+
return props.isSortable && "&:focus {\n outline: #0095ff solid 2px;\n }";
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
var SortIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 14px;\n width: 14px;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
191
|
+
return props.theme.sortIconColor;
|
|
192
|
+
});
|
|
193
|
+
|
|
251
194
|
var _default = DxcResultsetTable;
|
|
252
195
|
exports["default"] = _default;
|