@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da4b2be
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +2 -5
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -142
- package/accordion/Accordion.stories.tsx +395 -0
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +9 -8
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +34 -76
- package/accordion-group/AccordionGroup.stories.tsx +251 -0
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +15 -8
- package/alert/Alert.js +11 -12
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +23 -55
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +0 -15
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +61 -85
- package/button/Button.stories.tsx +163 -14
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +35 -40
- package/card/Card.stories.tsx +200 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +5 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +108 -111
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +37 -118
- package/chip/Chip.stories.tsx +123 -30
- package/chip/Chip.test.js +54 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1100 -1316
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +174 -266
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- 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 +67 -9
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +69 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +369 -0
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +586 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +28 -17
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +183 -168
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +50 -81
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +34 -117
- package/footer/Footer.stories.tsx +228 -0
- package/footer/Footer.test.js +97 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +23 -18
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +110 -131
- package/header/Header.stories.tsx +315 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +5 -2
- package/heading/Heading.js +2 -2
- package/heading/Heading.stories.tsx +54 -0
- 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 +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +72 -136
- package/layout/ApplicationLayout.stories.tsx +162 -0
- 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 +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +64 -89
- package/link/Link.stories.tsx +199 -16
- package/link/Link.test.js +81 -0
- package/link/types.d.ts +7 -27
- package/main.d.ts +13 -12
- package/main.js +68 -54
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +22 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +22 -57
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +318 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +29 -19
- package/progress-bar/ProgressBar.js +63 -57
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +156 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +54 -133
- package/resultsetTable/ResultsetTable.stories.tsx +300 -0
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +202 -401
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +148 -46
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +124 -99
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +8 -0
- package/spinner/Spinner.js +20 -26
- package/spinner/Spinner.stories.jsx +53 -26
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +153 -70
- package/switch/Switch.stories.tsx +54 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +10 -2
- package/table/Table.js +6 -6
- package/table/Table.stories.jsx +81 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -112
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +350 -0
- package/tabs/types.d.ts +39 -18
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +25 -37
- package/tag/Tag.stories.tsx +38 -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.d.ts +4 -0
- package/text-input/TextInput.js +236 -388
- package/text-input/TextInput.stories.tsx +569 -0
- package/text-input/TextInput.test.js +1723 -0
- package/text-input/types.d.ts +197 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +41 -82
- package/textarea/Textarea.stories.jsx +96 -15
- package/textarea/Textarea.test.js +435 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +24 -49
- package/toggle-group/ToggleGroup.stories.tsx +69 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1235 -0
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +113 -59
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +10 -10
- package/ThemeContext.js +0 -246
- 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/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/file-input/index.d.ts +0 -81
- package/footer/Footer.stories.jsx +0 -151
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- 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/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/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
- package/wizard/Icons.js +0 -65
- /package/{radio → badge}/types.js +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export declare type Option = {
|
|
2
|
+
/**
|
|
3
|
+
* Label of the option placed next to the radio input.
|
|
4
|
+
*/
|
|
5
|
+
value: string;
|
|
6
|
+
/**
|
|
7
|
+
* Value of the option. It should be unique and
|
|
8
|
+
* not an empty string, which is reserved to the optional item added
|
|
9
|
+
* by 'optional' prop.
|
|
10
|
+
*/
|
|
11
|
+
label: string;
|
|
12
|
+
/**
|
|
13
|
+
* If true, disables the option.
|
|
14
|
+
*/
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
declare type RadioGroupProps = {
|
|
18
|
+
/**
|
|
19
|
+
* Text to be placed above the radio group.
|
|
20
|
+
*/
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* Name attribute of the input element. This attribute will allow users
|
|
24
|
+
* to find the component's value during the submit event.
|
|
25
|
+
*/
|
|
26
|
+
name?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Helper text to be placed above the radio group.
|
|
29
|
+
*/
|
|
30
|
+
helperText?: string;
|
|
31
|
+
/**
|
|
32
|
+
* An array of objects representing the selectable options.
|
|
33
|
+
*/
|
|
34
|
+
options: Option[];
|
|
35
|
+
/**
|
|
36
|
+
* If true, the component will be disabled.
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If true, the radio group will be optional, showing
|
|
41
|
+
* (Optional) next to the label and adding a default last
|
|
42
|
+
* option with an empty string as value. Otherwise, the field will be
|
|
43
|
+
* considered required and an error will be passed as a parameter to the
|
|
44
|
+
* OnBlur functions if an option wasn't selected.
|
|
45
|
+
*/
|
|
46
|
+
optional?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Label of the optional radio input.
|
|
49
|
+
*/
|
|
50
|
+
optionalItemLabel?: string;
|
|
51
|
+
/**
|
|
52
|
+
* If true, the component will be marked as readonly.
|
|
53
|
+
*/
|
|
54
|
+
readonly?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the orientation of the options within the radio group.
|
|
57
|
+
*/
|
|
58
|
+
stacking?: "row" | "column";
|
|
59
|
+
/**
|
|
60
|
+
* Initial value of the radio group, only when it is uncontrolled.
|
|
61
|
+
*/
|
|
62
|
+
defaultValue?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Value of the radio group. If undefined, the component will be
|
|
65
|
+
* uncontrolled and the value will be managed internally by the
|
|
66
|
+
* component.
|
|
67
|
+
*/
|
|
68
|
+
value?: string;
|
|
69
|
+
/**
|
|
70
|
+
* This function will be called when the user chooses an option. The new
|
|
71
|
+
* value will be passed to this function.
|
|
72
|
+
*/
|
|
73
|
+
onChange?: (value: string) => void;
|
|
74
|
+
/**
|
|
75
|
+
* This function will be called when the radio group loses the focus. An
|
|
76
|
+
* object including the value and the error will be passed to this
|
|
77
|
+
* function. If there is no error, error will not be defined.
|
|
78
|
+
*/
|
|
79
|
+
onBlur?: (val: {
|
|
80
|
+
value?: string;
|
|
81
|
+
error?: string;
|
|
82
|
+
}) => void;
|
|
83
|
+
/**
|
|
84
|
+
* If it is a defined value and also a truthy string, the component will
|
|
85
|
+
* change its appearance, showing the error below the radio group. If the
|
|
86
|
+
* defined value is an empty string, it will reserve a space below the
|
|
87
|
+
* component for a future error, but it would not change its look. In
|
|
88
|
+
* case of being undefined or null, both the appearance and the space for
|
|
89
|
+
* the error message would not be modified.
|
|
90
|
+
*/
|
|
91
|
+
error?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Value of the tabindex attribute.
|
|
94
|
+
*/
|
|
95
|
+
tabIndex?: number;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Reference to the component.
|
|
99
|
+
*/
|
|
100
|
+
export declare type RefType = HTMLDivElement;
|
|
101
|
+
/**
|
|
102
|
+
* Single radio prop types.
|
|
103
|
+
*/
|
|
104
|
+
export declare type RadioProps = {
|
|
105
|
+
label: string;
|
|
106
|
+
checked: boolean;
|
|
107
|
+
onClick: () => void;
|
|
108
|
+
error?: string;
|
|
109
|
+
disabled: boolean;
|
|
110
|
+
focused: boolean;
|
|
111
|
+
readonly: boolean;
|
|
112
|
+
tabIndex: number;
|
|
113
|
+
};
|
|
114
|
+
export default RadioGroupProps;
|
|
@@ -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;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import ResultsetTablePropsType from "./types";
|
|
3
|
+
declare const DxcResultsetTable: ({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, }: ResultsetTablePropsType) => JSX.Element;
|
|
4
|
+
export default DxcResultsetTable;
|
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
13
|
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -21,27 +19,29 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
19
|
|
|
22
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
21
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _variables = require("../common/variables.js");
|
|
22
|
+
var _variables = require("../common/variables");
|
|
27
23
|
|
|
28
24
|
var _Table = _interopRequireDefault(require("../table/Table"));
|
|
29
25
|
|
|
30
26
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
31
27
|
|
|
32
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
+
|
|
30
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
31
|
+
|
|
32
|
+
var _utils = require("../common/utils");
|
|
33
33
|
|
|
34
|
-
var _templateObject, _templateObject2, _templateObject3
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
35
35
|
|
|
36
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); }
|
|
37
37
|
|
|
38
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; }
|
|
39
39
|
|
|
40
|
-
function normalizeSortValue(sortValue) {
|
|
40
|
+
var normalizeSortValue = function normalizeSortValue(sortValue) {
|
|
41
41
|
return typeof sortValue === "string" ? sortValue.toUpperCase() : sortValue;
|
|
42
|
-
}
|
|
42
|
+
};
|
|
43
43
|
|
|
44
|
-
function sortArray(index, order, resultset) {
|
|
44
|
+
var sortArray = function sortArray(index, order, resultset) {
|
|
45
45
|
return resultset.slice().sort(function (element1, element2) {
|
|
46
46
|
var sortValueA = normalizeSortValue(element1[index].sortValue || element1[index].displayValue);
|
|
47
47
|
var sortValueB = normalizeSortValue(element2[index].sortValue || element2[index].displayValue);
|
|
@@ -57,9 +57,9 @@ function sortArray(index, order, resultset) {
|
|
|
57
57
|
comparison = -1;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
return order === "
|
|
60
|
+
return order === "descending" ? comparison * -1 : comparison;
|
|
61
61
|
});
|
|
62
|
-
}
|
|
62
|
+
};
|
|
63
63
|
|
|
64
64
|
var getMinItemsPerPageIndex = function getMinItemsPerPageIndex(currentPageInternal, itemsPerPage, page) {
|
|
65
65
|
return currentPageInternal === 1 ? 0 : itemsPerPage * (page - 1);
|
|
@@ -69,54 +69,11 @@ var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIn
|
|
|
69
69
|
return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
var ArrowUp = function ArrowUp() {
|
|
73
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
74
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
75
|
-
height: "24",
|
|
76
|
-
viewBox: "0 0 24 24",
|
|
77
|
-
width: "24",
|
|
78
|
-
fill: "currentColor"
|
|
79
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
80
|
-
d: "M0 0h24v24H0V0z",
|
|
81
|
-
fill: "none"
|
|
82
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
83
|
-
d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
|
|
84
|
-
}));
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
var ArrowDown = function ArrowDown() {
|
|
88
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
89
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
90
|
-
height: "24",
|
|
91
|
-
viewBox: "0 0 24 24",
|
|
92
|
-
width: "24",
|
|
93
|
-
fill: "currentColor"
|
|
94
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
95
|
-
d: "M0 0h24v24H0V0z",
|
|
96
|
-
fill: "none"
|
|
97
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
98
|
-
d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
99
|
-
}));
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
var BothArrows = function BothArrows() {
|
|
103
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
104
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
105
|
-
height: "24",
|
|
106
|
-
viewBox: "0 0 24 24",
|
|
107
|
-
width: "24",
|
|
108
|
-
fill: "currentColor"
|
|
109
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
110
|
-
d: "M0 0h24v24H0z",
|
|
111
|
-
fill: "none"
|
|
112
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
113
|
-
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"
|
|
114
|
-
}));
|
|
115
|
-
};
|
|
116
|
-
|
|
117
72
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
118
73
|
var columns = _ref.columns,
|
|
119
74
|
rows = _ref.rows,
|
|
75
|
+
_ref$showGoToPage = _ref.showGoToPage,
|
|
76
|
+
showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
|
|
120
77
|
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
121
78
|
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
122
79
|
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
@@ -131,12 +88,12 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
131
88
|
page = _useState2[0],
|
|
132
89
|
changePage = _useState2[1];
|
|
133
90
|
|
|
134
|
-
var _useState3 = (0, _react.useState)(
|
|
91
|
+
var _useState3 = (0, _react.useState)(-1),
|
|
135
92
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
136
93
|
sortColumnIndex = _useState4[0],
|
|
137
94
|
changeSortColumnIndex = _useState4[1];
|
|
138
95
|
|
|
139
|
-
var _useState5 = (0, _react.useState)("
|
|
96
|
+
var _useState5 = (0, _react.useState)("ascending"),
|
|
140
97
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
141
98
|
sortOrder = _useState6[0],
|
|
142
99
|
changeSortOrder = _useState6[1];
|
|
@@ -147,6 +104,12 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
147
104
|
var maxItemsPerPageIndex = (0, _react.useMemo)(function () {
|
|
148
105
|
return getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, rows, page);
|
|
149
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]);
|
|
150
113
|
|
|
151
114
|
var goToPage = function goToPage(newPage) {
|
|
152
115
|
changePage(newPage);
|
|
@@ -155,43 +118,30 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
155
118
|
var changeSorting = function changeSorting(columnIndex) {
|
|
156
119
|
changePage(1);
|
|
157
120
|
changeSortColumnIndex(columnIndex);
|
|
158
|
-
changeSortOrder(sortColumnIndex ===
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
var getIconForSortableColumn = function getIconForSortableColumn(clickedColumnIndex) {
|
|
162
|
-
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");
|
|
163
122
|
};
|
|
164
123
|
|
|
165
124
|
(0, _react.useEffect)(function () {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
} else {
|
|
169
|
-
changePage(0);
|
|
170
|
-
}
|
|
171
|
-
}, [rows.length, itemsPerPage]);
|
|
172
|
-
var sortedResultset = (0, _react.useMemo)(function () {
|
|
173
|
-
return sortColumnIndex !== "" ? sortArray(sortColumnIndex, sortOrder, rows) : rows;
|
|
174
|
-
}, [sortColumnIndex, sortOrder, rows]);
|
|
175
|
-
var filteredResultset = (0, _react.useMemo)(function () {
|
|
176
|
-
return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
|
|
177
|
-
}, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
|
|
125
|
+
rows.length > 0 ? changePage(1) : changePage(0);
|
|
126
|
+
}, [rows]);
|
|
178
127
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
179
128
|
theme: colorsTheme.table
|
|
180
129
|
}, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
|
|
181
130
|
margin: margin
|
|
182
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
183
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
184
|
-
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
|
|
185
135
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
136
|
+
role: column.isSortable ? "button" : undefined,
|
|
186
137
|
key: "headerContainer_".concat(index),
|
|
187
138
|
onClick: function onClick() {
|
|
188
|
-
|
|
139
|
+
column.isSortable && changeSorting(index);
|
|
189
140
|
},
|
|
190
|
-
tabIndex: column.isSortable ? tabIndex : -1
|
|
191
|
-
}, /*#__PURE__*/_react["default"].createElement(TitleDiv, {
|
|
141
|
+
tabIndex: column.isSortable ? tabIndex : -1,
|
|
192
142
|
isSortable: column.isSortable
|
|
193
|
-
}, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null,
|
|
194
|
-
}))), /*#__PURE__*/_react["default"].createElement(
|
|
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) {
|
|
195
145
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
196
146
|
key: "resultSetTableCell_".concat(index)
|
|
197
147
|
}, cells.map(function (cellContent, index) {
|
|
@@ -199,44 +149,24 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
199
149
|
key: "resultSetTableCellContent_".concat(index)
|
|
200
150
|
}, cellContent.displayValue);
|
|
201
151
|
}));
|
|
202
|
-
})))
|
|
152
|
+
}))), /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
203
153
|
totalItems: rows.length,
|
|
204
154
|
itemsPerPage: itemsPerPage,
|
|
205
155
|
itemsPerPageOptions: itemsPerPageOptions,
|
|
206
156
|
itemsPerPageFunction: itemsPerPageFunction,
|
|
207
157
|
currentPage: page,
|
|
208
|
-
showGoToPage:
|
|
158
|
+
showGoToPage: showGoToPage,
|
|
209
159
|
onPageChange: goToPage,
|
|
210
160
|
tabIndex: tabIndex
|
|
211
|
-
})))
|
|
161
|
+
})));
|
|
212
162
|
};
|
|
213
163
|
|
|
214
|
-
var
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
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 & tr {\n height: ", ";\n }\n"])), function (props) {
|
|
219
|
-
return props.theme.rowHeight || "70px";
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
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) {
|
|
223
|
-
return props.theme.sortIconColor;
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n"])), function (props) {
|
|
227
|
-
return props.isSortable && "pointer" || "default";
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
231
|
-
|
|
232
|
-
var HeaderContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n"])), function (props) {
|
|
233
|
-
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
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
|
+
};
|
|
237
167
|
|
|
238
|
-
var DxcResultsetTableContainer = _styledComponents["default"].div(
|
|
239
|
-
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);
|
|
240
170
|
}, function (props) {
|
|
241
171
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
242
172
|
}, function (props) {
|
|
@@ -249,26 +179,17 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
249
179
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
250
180
|
});
|
|
251
181
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
tabIndex: _propTypes["default"].number
|
|
265
|
-
};
|
|
266
|
-
DxcResultsetTable.defaultProps = {
|
|
267
|
-
rows: [],
|
|
268
|
-
columns: [],
|
|
269
|
-
itemsPerPage: 5,
|
|
270
|
-
itemsPerPageOptions: null,
|
|
271
|
-
itemsPerPageFunction: null
|
|
272
|
-
};
|
|
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
|
+
|
|
273
194
|
var _default = DxcResultsetTable;
|
|
274
195
|
exports["default"] = _default;
|