@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad
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.js +1 -1
- package/HalstackContext.d.ts +42 -5
- package/HalstackContext.js +28 -18
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +16 -30
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.js +4 -3
- package/action-icon/ActionIcon.stories.tsx +3 -3
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/action-icon/types.d.ts +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -72
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/bar-chart/BarChart.d.ts +4 -0
- package/bar-chart/BarChart.js +152 -0
- package/bar-chart/BarChart.stories.tsx +281 -0
- package/bar-chart/BarChart.test.d.ts +1 -0
- package/bar-chart/BarChart.test.js +194 -0
- package/bar-chart/theme.d.ts +3 -0
- package/bar-chart/theme.js +31 -0
- package/bar-chart/types.d.ts +118 -0
- package/bar-chart/types.js +5 -0
- package/bleed/Bleed.stories.tsx +0 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +168 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +40 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +7 -4
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +2 -2
- package/button/Button.stories.tsx +3 -4
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +6 -25
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/common/coreTokens.d.ts +0 -1
- package/common/coreTokens.js +3 -4
- package/common/variables.d.ts +48 -5
- package/common/variables.js +110 -73
- package/container/Container.stories.tsx +3 -3
- package/container/types.d.ts +113 -11
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +118 -53
- package/contextual-menu/ContextualMenu.stories.tsx +124 -75
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +88 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +54 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +229 -0
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +112 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.stories.tsx +2 -1
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +183 -0
- package/dropdown/Dropdown.js +31 -66
- package/dropdown/Dropdown.stories.tsx +16 -27
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +2 -4
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +40 -3
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +6 -4
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +3 -1
- package/main.js +15 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +227 -0
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +34 -28
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +78 -0
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +152 -0
- package/password-input/PasswordInput.js +11 -8
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
- package/resultset-table/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +47 -15
- package/resultset-table/ResultsetTable.stories.tsx +19 -3
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +111 -32
- package/resultset-table/types.d.ts +41 -13
- package/select/Listbox.d.ts +3 -3
- package/select/Listbox.js +33 -29
- package/select/Option.d.ts +3 -3
- package/select/Option.js +21 -15
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +227 -0
- package/select/Select.js +85 -192
- package/select/Select.stories.tsx +74 -117
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +348 -550
- package/select/selectUtils.d.ts +41 -0
- package/select/selectUtils.js +129 -0
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -10
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +103 -0
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.d.ts +1 -1
- package/spinner/Spinner.js +32 -47
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +92 -0
- package/table/Table.js +2 -11
- package/table/Table.stories.tsx +15 -10
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/table/types.d.ts +1 -15
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +17 -7
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +320 -0
- package/text-input/TextInput.js +56 -73
- package/text-input/TextInput.stories.tsx +20 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.stories.tsx +1 -3
- package/typography/Typography.test.js +23 -0
- package/useTheme.d.ts +31 -5
- package/useTranslatedLabels.d.ts +11 -0
- package/utils/BaseTypography.js +45 -41
- package/utils/FocusLock.js +3 -2
- package/utils/useWidth.d.ts +2 -0
- package/utils/useWidth.js +30 -0
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
|
@@ -8,7 +8,8 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
10
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
|
-
var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable
|
|
11
|
+
var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
|
|
12
|
+
var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
|
|
12
13
|
// Mocking DOMRect for Radix Primitive Popover
|
|
13
14
|
global.globalThis = global;
|
|
14
15
|
global.DOMRect = {
|
|
@@ -27,7 +28,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
27
28
|
function ResizeObserver() {
|
|
28
29
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
30
|
}
|
|
30
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
31
32
|
key: "observe",
|
|
32
33
|
value: function observe() {}
|
|
33
34
|
}, {
|
|
@@ -37,7 +38,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
37
38
|
key: "disconnect",
|
|
38
39
|
value: function disconnect() {}
|
|
39
40
|
}]);
|
|
40
|
-
return ResizeObserver;
|
|
41
41
|
}();
|
|
42
42
|
var icon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
43
43
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -152,36 +152,55 @@ var rows = [[{
|
|
|
152
152
|
displayValue: "Barcelona",
|
|
153
153
|
sortValue: "Barcelona"
|
|
154
154
|
}]];
|
|
155
|
-
var
|
|
156
|
-
displayValue: "
|
|
157
|
-
|
|
155
|
+
var columnsWithCheckbox = [{
|
|
156
|
+
displayValue: "Id",
|
|
157
|
+
isSortable: true
|
|
158
|
+
}, {
|
|
159
|
+
displayValue: "Checkbox",
|
|
160
|
+
isSortable: false
|
|
161
|
+
}, {
|
|
162
|
+
displayValue: "Name",
|
|
163
|
+
isSortable: false
|
|
158
164
|
}, {
|
|
159
|
-
displayValue: "
|
|
160
|
-
|
|
165
|
+
displayValue: "City",
|
|
166
|
+
isSortable: false
|
|
167
|
+
}];
|
|
168
|
+
var rowsWithCheckbox = [[{
|
|
169
|
+
displayValue: "001",
|
|
170
|
+
sortValue: "001"
|
|
161
171
|
}, {
|
|
162
|
-
displayValue: "
|
|
163
|
-
|
|
172
|
+
displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
173
|
+
size: "fillParent",
|
|
174
|
+
defaultChecked: true
|
|
175
|
+
})
|
|
176
|
+
}, {
|
|
177
|
+
displayValue: "Peter"
|
|
178
|
+
}, {
|
|
179
|
+
displayValue: "Miami"
|
|
164
180
|
}], [{
|
|
165
|
-
displayValue: "
|
|
166
|
-
sortValue: "
|
|
181
|
+
displayValue: "002",
|
|
182
|
+
sortValue: "002"
|
|
167
183
|
}, {
|
|
168
|
-
displayValue: "
|
|
169
|
-
|
|
184
|
+
displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
185
|
+
size: "fillParent"
|
|
186
|
+
})
|
|
170
187
|
}, {
|
|
171
|
-
displayValue: "
|
|
172
|
-
sortValue: "OtherValue"
|
|
188
|
+
displayValue: "Louis"
|
|
173
189
|
}, {
|
|
174
|
-
displayValue: ""
|
|
190
|
+
displayValue: "London"
|
|
175
191
|
}], [{
|
|
176
|
-
displayValue: "
|
|
177
|
-
sortValue: "
|
|
192
|
+
displayValue: "003",
|
|
193
|
+
sortValue: "003"
|
|
178
194
|
}, {
|
|
179
|
-
displayValue: "
|
|
180
|
-
|
|
195
|
+
displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
196
|
+
size: "fillParent"
|
|
197
|
+
})
|
|
181
198
|
}, {
|
|
182
|
-
displayValue: "
|
|
183
|
-
|
|
199
|
+
displayValue: "Lana"
|
|
200
|
+
}, {
|
|
201
|
+
displayValue: "Amsterdam"
|
|
184
202
|
}]];
|
|
203
|
+
var rows2 = [].concat(rows).slice(0, -1);
|
|
185
204
|
describe("Resultset table component tests", function () {
|
|
186
205
|
test("Resultset table rendered correctly", function () {
|
|
187
206
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
@@ -285,40 +304,100 @@ describe("Resultset table component tests", function () {
|
|
|
285
304
|
expect(component.queryByText("Tina")).toBeTruthy();
|
|
286
305
|
expect(component.queryByText("Cosmin")).not.toBeTruthy();
|
|
287
306
|
});
|
|
288
|
-
test("Resultset table
|
|
307
|
+
test("Resultset table should go one page back when removing the last page data", function () {
|
|
289
308
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
290
309
|
columns: columns,
|
|
291
310
|
rows: rows,
|
|
292
311
|
itemsPerPage: 3
|
|
293
312
|
})),
|
|
313
|
+
getAllByRole = _render6.getAllByRole,
|
|
294
314
|
queryByText = _render6.queryByText,
|
|
295
315
|
rerender = _render6.rerender;
|
|
316
|
+
expect(queryByText("1 to 3 of 10")).toBeTruthy();
|
|
317
|
+
var lastButton = getAllByRole("button")[4];
|
|
296
318
|
expect(queryByText("Peter")).toBeTruthy();
|
|
319
|
+
_react2.fireEvent.click(lastButton);
|
|
320
|
+
expect(queryByText("10 to 10 of 10")).toBeTruthy();
|
|
297
321
|
rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
298
322
|
columns: columns,
|
|
299
323
|
rows: rows2,
|
|
300
324
|
itemsPerPage: 3
|
|
301
325
|
}));
|
|
302
|
-
expect(queryByText("
|
|
326
|
+
expect(queryByText("7 to 9 of 9")).toBeTruthy();
|
|
303
327
|
});
|
|
304
|
-
test("Resultset table
|
|
328
|
+
test("Resultset table shouldn't go one page back when there is data left in the last page", function () {
|
|
305
329
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
330
|
+
columns: columns,
|
|
331
|
+
rows: rows,
|
|
332
|
+
itemsPerPage: 2
|
|
333
|
+
})),
|
|
334
|
+
getAllByRole = _render7.getAllByRole,
|
|
335
|
+
queryByText = _render7.queryByText,
|
|
336
|
+
rerender = _render7.rerender;
|
|
337
|
+
expect(queryByText("1 to 2 of 10")).toBeTruthy();
|
|
338
|
+
var lastButton = getAllByRole("button")[4];
|
|
339
|
+
expect(queryByText("Peter")).toBeTruthy();
|
|
340
|
+
_react2.fireEvent.click(lastButton);
|
|
341
|
+
expect(queryByText("9 to 10 of 10")).toBeTruthy();
|
|
342
|
+
rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
343
|
+
columns: columns,
|
|
344
|
+
rows: rows2,
|
|
345
|
+
itemsPerPage: 2
|
|
346
|
+
}));
|
|
347
|
+
expect(queryByText("9 to 9 of 9")).toBeTruthy();
|
|
348
|
+
});
|
|
349
|
+
test("Resultset table uncontrolled components maintain its value when sorting", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
350
|
+
var _render8, getAllByRole, columnHeader, sortButton;
|
|
351
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
352
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
353
|
+
case 0:
|
|
354
|
+
_render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
355
|
+
columns: columnsWithCheckbox,
|
|
356
|
+
rows: rowsWithCheckbox,
|
|
357
|
+
itemsPerPage: 3
|
|
358
|
+
})), getAllByRole = _render8.getAllByRole;
|
|
359
|
+
columnHeader = getAllByRole("columnheader")[0];
|
|
360
|
+
sortButton = getAllByRole("button")[0];
|
|
361
|
+
expect(getAllByRole("checkbox")[0].getAttribute("aria-checked")).toBe("true");
|
|
362
|
+
expect(columnHeader.getAttribute("aria-sort")).toBe("none");
|
|
363
|
+
_react2.fireEvent.click(sortButton);
|
|
364
|
+
expect(columnHeader.getAttribute("aria-sort")).toBe("ascending");
|
|
365
|
+
_react2.fireEvent.click(sortButton);
|
|
366
|
+
expect(columnHeader.getAttribute("aria-sort")).toBe("descending");
|
|
367
|
+
expect(getAllByRole("checkbox")[0].getAttribute("aria-checked")).toBe("false");
|
|
368
|
+
case 10:
|
|
369
|
+
case "end":
|
|
370
|
+
return _context2.stop();
|
|
371
|
+
}
|
|
372
|
+
}, _callee2);
|
|
373
|
+
})));
|
|
374
|
+
test("Resultset table change itemsPerPage should go to first page", function () {
|
|
375
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
306
376
|
columns: columns,
|
|
307
377
|
rows: rows,
|
|
308
378
|
itemsPerPage: 3,
|
|
309
379
|
itemsPerPageOptions: [2, 3]
|
|
310
380
|
})),
|
|
311
|
-
getAllByRole =
|
|
381
|
+
getAllByRole = _render9.getAllByRole;
|
|
312
382
|
var lastButton = getAllByRole("button")[4];
|
|
313
383
|
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
314
384
|
_react2.fireEvent.click(lastButton);
|
|
315
385
|
expect(getAllByRole("row").length - 1).toEqual(1);
|
|
316
386
|
});
|
|
387
|
+
test("Resultset table may not use the paginator", function () {
|
|
388
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
389
|
+
columns: columns,
|
|
390
|
+
rows: rows,
|
|
391
|
+
hidePaginator: true
|
|
392
|
+
})),
|
|
393
|
+
getAllByRole = _render10.getAllByRole;
|
|
394
|
+
var nextButton = getAllByRole("button")[3];
|
|
395
|
+
expect(nextButton).not.toBeTruthy();
|
|
396
|
+
});
|
|
317
397
|
test("Resultset table with ActionsCell", function () {
|
|
318
398
|
var onSelectOption = jest.fn();
|
|
319
399
|
var onClick = jest.fn();
|
|
320
400
|
var actions = [{
|
|
321
|
-
icon: icon,
|
|
322
401
|
title: "icon1",
|
|
323
402
|
onClick: onSelectOption,
|
|
324
403
|
options: [{
|
|
@@ -348,14 +427,14 @@ describe("Resultset table component tests", function () {
|
|
|
348
427
|
}),
|
|
349
428
|
sortValue: "Actions"
|
|
350
429
|
}]];
|
|
351
|
-
var
|
|
430
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
352
431
|
columns: columns,
|
|
353
432
|
rows: actionRows,
|
|
354
433
|
itemsPerPage: 3
|
|
355
434
|
})),
|
|
356
|
-
getAllByRole =
|
|
357
|
-
getByRole =
|
|
358
|
-
getByText =
|
|
435
|
+
getAllByRole = _render11.getAllByRole,
|
|
436
|
+
getByRole = _render11.getByRole,
|
|
437
|
+
getByText = _render11.getByText;
|
|
359
438
|
var dropdown = getAllByRole("button")[2];
|
|
360
439
|
(0, _react2.act)(function () {
|
|
361
440
|
_userEvent["default"].click(dropdown);
|
|
@@ -16,7 +16,7 @@ export type Column = {
|
|
|
16
16
|
*/
|
|
17
17
|
isSortable?: boolean;
|
|
18
18
|
};
|
|
19
|
-
type
|
|
19
|
+
type Cell = {
|
|
20
20
|
/**
|
|
21
21
|
* Value to be displayed in the cell.
|
|
22
22
|
*/
|
|
@@ -25,9 +25,10 @@ type Row = {
|
|
|
25
25
|
* Value to be used when sorting the table by that
|
|
26
26
|
* column. If not indicated displayValue will be used for sorting.
|
|
27
27
|
*/
|
|
28
|
-
sortValue?: string;
|
|
28
|
+
sortValue?: string | number | Date;
|
|
29
29
|
};
|
|
30
|
-
type
|
|
30
|
+
export type Row = Cell[];
|
|
31
|
+
type CommonProps = {
|
|
31
32
|
/**
|
|
32
33
|
* An array of objects representing the columns of the table.
|
|
33
34
|
*/
|
|
@@ -36,7 +37,25 @@ type Props = {
|
|
|
36
37
|
* An array of objects representing the rows of the table, you will have
|
|
37
38
|
* as many objects as columns in the table.
|
|
38
39
|
*/
|
|
39
|
-
rows: Row[]
|
|
40
|
+
rows: Row[];
|
|
41
|
+
/**
|
|
42
|
+
* Size of the margin to be applied to the component. You can pass an object with 'top',
|
|
43
|
+
* 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
44
|
+
*/
|
|
45
|
+
margin?: Space | Margin;
|
|
46
|
+
/**
|
|
47
|
+
* Value of the tabindex attribute applied to the sortable icon.
|
|
48
|
+
*/
|
|
49
|
+
tabIndex?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Determines the visual style and layout
|
|
52
|
+
* - "default": The default mode with big spacing
|
|
53
|
+
* - "reduced": A reduced mode with minimal spacing for dense tables
|
|
54
|
+
*/
|
|
55
|
+
mode?: "default" | "reduced";
|
|
56
|
+
};
|
|
57
|
+
type PaginatedProps = CommonProps & {
|
|
58
|
+
hidePaginator?: false;
|
|
40
59
|
/**
|
|
41
60
|
* If true, a select component for navigation between pages will be displayed.
|
|
42
61
|
*/
|
|
@@ -54,20 +73,29 @@ type Props = {
|
|
|
54
73
|
* option. The value selected will be passed as a parameter.
|
|
55
74
|
*/
|
|
56
75
|
itemsPerPageFunction?: (value: number) => void;
|
|
76
|
+
};
|
|
77
|
+
type NonPaginatedProps = CommonProps & {
|
|
57
78
|
/**
|
|
58
|
-
*
|
|
59
|
-
* 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
79
|
+
* If true, paginator will not be displayed.
|
|
60
80
|
*/
|
|
61
|
-
|
|
81
|
+
hidePaginator: true;
|
|
62
82
|
/**
|
|
63
|
-
*
|
|
83
|
+
* If true, a select component for navigation between pages will be displayed.
|
|
64
84
|
*/
|
|
65
|
-
|
|
85
|
+
showGoToPage?: never;
|
|
66
86
|
/**
|
|
67
|
-
*
|
|
68
|
-
* - "default": The default mode with big spacing
|
|
69
|
-
* - "reduced": A reduced mode with minimal spacing for dense tables
|
|
87
|
+
* Number of items per page.
|
|
70
88
|
*/
|
|
71
|
-
|
|
89
|
+
itemsPerPage?: never;
|
|
90
|
+
/**
|
|
91
|
+
* An array of numbers representing the items per page options.
|
|
92
|
+
*/
|
|
93
|
+
itemsPerPageOptions?: never;
|
|
94
|
+
/**
|
|
95
|
+
* This function will be called when the user selects an item per page
|
|
96
|
+
* option. The value selected will be passed as a parameter.
|
|
97
|
+
*/
|
|
98
|
+
itemsPerPageFunction?: never;
|
|
72
99
|
};
|
|
100
|
+
type Props = PaginatedProps | NonPaginatedProps;
|
|
73
101
|
export default Props;
|
package/select/Listbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { ListboxProps } from "./types";
|
|
3
|
-
declare const
|
|
4
|
-
export default
|
|
3
|
+
declare const Listbox: ({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element;
|
|
4
|
+
export default Listbox;
|
package/select/Listbox.js
CHANGED
|
@@ -11,16 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
12
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
13
13
|
var _Option = _interopRequireDefault(require("./Option"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
15
|
+
var _selectUtils = require("./selectUtils");
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
18
|
-
var groupsHaveOptions = function groupsHaveOptions(options) {
|
|
19
|
-
return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
|
|
20
|
-
var _groupOption$options;
|
|
21
|
-
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
22
|
-
}) : true;
|
|
23
|
-
};
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
19
|
var Listbox = function Listbox(_ref) {
|
|
25
20
|
var id = _ref.id,
|
|
26
21
|
currentValue = _ref.currentValue,
|
|
@@ -37,21 +32,24 @@ var Listbox = function Listbox(_ref) {
|
|
|
37
32
|
var listboxRef = (0, _react.useRef)(null);
|
|
38
33
|
var globalIndex = optional && !multiple ? 0 : -1;
|
|
39
34
|
var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
|
|
35
|
+
var groupId = "".concat(id, "-group-").concat(mapIndex);
|
|
40
36
|
if (option.options) {
|
|
41
|
-
var groupId = "group-".concat(mapIndex);
|
|
42
37
|
return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
|
|
43
|
-
key:
|
|
44
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
45
|
-
role: "
|
|
46
|
-
"aria-labelledby": groupId
|
|
38
|
+
key: groupId
|
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
40
|
+
role: "listbox",
|
|
41
|
+
"aria-labelledby": groupId,
|
|
42
|
+
style: {
|
|
43
|
+
padding: 0
|
|
44
|
+
}
|
|
47
45
|
}, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
|
|
48
46
|
role: "presentation",
|
|
49
47
|
id: groupId
|
|
50
48
|
}, option.label), option.options.map(function (singleOption) {
|
|
51
49
|
globalIndex++;
|
|
52
50
|
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
53
|
-
key: "option-".concat(singleOption.value),
|
|
54
|
-
id: "option-".concat(globalIndex),
|
|
51
|
+
key: "".concat(id, "-option-").concat(singleOption.value),
|
|
52
|
+
id: "".concat(id, "-option-").concat(globalIndex),
|
|
55
53
|
option: singleOption,
|
|
56
54
|
onClick: handleOptionOnClick,
|
|
57
55
|
multiple: multiple,
|
|
@@ -64,8 +62,8 @@ var Listbox = function Listbox(_ref) {
|
|
|
64
62
|
} else {
|
|
65
63
|
globalIndex++;
|
|
66
64
|
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
67
|
-
key: "option-".concat(option.value),
|
|
68
|
-
id: "option-".concat(globalIndex),
|
|
65
|
+
key: "".concat(id, "-option-").concat(option.value),
|
|
66
|
+
id: "".concat(id, "-option-").concat(globalIndex),
|
|
69
67
|
option: option,
|
|
70
68
|
onClick: handleOptionOnClick,
|
|
71
69
|
multiple: multiple,
|
|
@@ -93,6 +91,10 @@ var Listbox = function Listbox(_ref) {
|
|
|
93
91
|
inline: "start"
|
|
94
92
|
});
|
|
95
93
|
}, [visualFocusIndex]);
|
|
94
|
+
var hasOptionGroups = options.some(function (option) {
|
|
95
|
+
var _option$options;
|
|
96
|
+
return ((_option$options = option.options) === null || _option$options === void 0 ? void 0 : _option$options.length) > 0;
|
|
97
|
+
});
|
|
96
98
|
return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
|
|
97
99
|
id: id,
|
|
98
100
|
onClick: function onClick(event) {
|
|
@@ -102,12 +104,15 @@ var Listbox = function Listbox(_ref) {
|
|
|
102
104
|
event.preventDefault();
|
|
103
105
|
},
|
|
104
106
|
ref: listboxRef,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
"aria-multiselectable": !hasOptionGroups ? multiple : undefined,
|
|
108
|
+
style: styles,
|
|
109
|
+
role: hasOptionGroups ? "list" : "listbox",
|
|
110
|
+
"aria-label": "List of options"
|
|
111
|
+
}, searchable && (options.length === 0 || !(0, _selectUtils.groupsHaveOptions)(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
112
|
+
icon: "search_off"
|
|
113
|
+
})), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
114
|
+
key: "".concat(id, "-option-").concat(optionalItem.value),
|
|
115
|
+
id: "".concat(id, "-option-", 0),
|
|
111
116
|
option: optionalItem,
|
|
112
117
|
onClick: handleOptionOnClick,
|
|
113
118
|
multiple: multiple,
|
|
@@ -117,7 +122,7 @@ var Listbox = function Listbox(_ref) {
|
|
|
117
122
|
isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
|
|
118
123
|
}), options.map(mapOptionFunc));
|
|
119
124
|
};
|
|
120
|
-
var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n
|
|
125
|
+
var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 24px;\n cursor: default;\n"])), function (props) {
|
|
121
126
|
return props.theme.listDialogBackgroundColor;
|
|
122
127
|
}, function (props) {
|
|
123
128
|
return props.theme.listDialogBorderColor;
|
|
@@ -135,9 +140,8 @@ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_temp
|
|
|
135
140
|
var OptionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
|
|
136
141
|
return props.theme.systemMessageFontColor;
|
|
137
142
|
});
|
|
138
|
-
var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
|
|
139
|
-
var
|
|
140
|
-
var GroupLabel = _styledComponents["default"].li(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
|
|
143
|
+
var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n font-size: 16px;\n"])));
|
|
144
|
+
var GroupLabel = _styledComponents["default"].li(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
|
|
141
145
|
return props.theme.listGroupLabelFontWeight;
|
|
142
146
|
});
|
|
143
|
-
var _default = exports["default"] =
|
|
147
|
+
var _default = exports["default"] = Listbox;
|
package/select/Option.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { OptionProps } from "../select/types";
|
|
3
|
-
declare const
|
|
4
|
-
export default
|
|
3
|
+
declare const Option: ({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element;
|
|
4
|
+
export default Option;
|
package/select/Option.js
CHANGED
|
@@ -9,7 +9,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
|
|
12
|
-
var
|
|
12
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
13
13
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
14
14
|
var Option = function Option(_ref) {
|
|
15
15
|
var id = _ref.id,
|
|
@@ -34,31 +34,37 @@ var Option = function Option(_ref) {
|
|
|
34
34
|
visualFocused: visualFocused,
|
|
35
35
|
selected: isSelected,
|
|
36
36
|
role: "option",
|
|
37
|
-
"aria-selected": isSelected
|
|
37
|
+
"aria-selected": !multiple ? isSelected : undefined
|
|
38
38
|
}, /*#__PURE__*/_react["default"].createElement(StyledOption, {
|
|
39
39
|
visualFocused: visualFocused,
|
|
40
40
|
selected: isSelected,
|
|
41
41
|
last: isLastOption,
|
|
42
42
|
grouped: isGroupedOption,
|
|
43
43
|
multiple: multiple
|
|
44
|
-
}, multiple && /*#__PURE__*/_react["default"].createElement(
|
|
44
|
+
}, multiple && /*#__PURE__*/_react["default"].createElement("div", {
|
|
45
|
+
style: {
|
|
46
|
+
display: "flex",
|
|
47
|
+
pointerEvents: "none"
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
45
50
|
checked: isSelected,
|
|
46
51
|
tabIndex: -1
|
|
47
|
-
}), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
|
|
52
|
+
})), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
|
|
48
53
|
grouped: isGroupedOption,
|
|
49
|
-
multiple: multiple
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
src: option.icon
|
|
54
|
+
multiple: multiple
|
|
55
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
56
|
+
icon: option.icon
|
|
53
57
|
}) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
|
|
54
58
|
grouped: isGroupedOption,
|
|
55
59
|
hasIcon: option.icon ? true : false,
|
|
56
60
|
multiple: multiple
|
|
57
61
|
}, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
|
|
58
62
|
onMouseEnter: handleOnMouseEnter
|
|
59
|
-
}, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null,
|
|
63
|
+
}, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
64
|
+
icon: "done"
|
|
65
|
+
})))));
|
|
60
66
|
};
|
|
61
|
-
var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n
|
|
67
|
+
var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
|
|
62
68
|
return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
|
|
63
69
|
}, function (props) {
|
|
64
70
|
return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
|
|
@@ -67,21 +73,21 @@ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateOb
|
|
|
67
73
|
}, function (props) {
|
|
68
74
|
return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
|
|
69
75
|
});
|
|
70
|
-
var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
76
|
+
var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n height: 32px;\n padding: 4px 8px 4px 0;\n ", "\n ", ";\n"])), function (props) {
|
|
71
77
|
return props.grouped && props.multiple && "padding-left: 16px;";
|
|
72
78
|
}, function (props) {
|
|
73
79
|
return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
|
|
74
80
|
});
|
|
75
|
-
var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
81
|
+
var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: grid;\n place-items: center;\n color: ", ";\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
76
82
|
return props.grouped && !props.multiple ? "16px" : "8px";
|
|
77
83
|
}, function (props) {
|
|
78
84
|
return props.theme.listOptionIconColor;
|
|
79
85
|
});
|
|
80
|
-
var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n
|
|
86
|
+
var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n"])), function (props) {
|
|
81
87
|
return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
|
|
82
88
|
});
|
|
83
89
|
var OptionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
84
|
-
var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n
|
|
90
|
+
var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n font-size: 16px;\n"])), function (props) {
|
|
85
91
|
return props.theme.selectedListOptionIconColor;
|
|
86
92
|
});
|
|
87
|
-
var _default = exports["default"] =
|
|
93
|
+
var _default = exports["default"] = Option;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|