@dxc-technology/halstack-react 0.0.0-ff43881 → 0.0.0-ff5083e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +4 -0
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +31 -32
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +22 -32
- package/box/Box.test.js +18 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +120 -0
- package/bulleted-list/BulletedList.stories.tsx +203 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +14 -11
- package/button/Button.test.js +35 -0
- package/card/Card.js +24 -27
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +43 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.test.js +56 -0
- package/common/variables.js +197 -322
- package/date-input/DateInput.js +53 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.js +13 -17
- package/dropdown/Dropdown.test.js +189 -0
- package/file-input/FileInput.js +9 -6
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +7 -5
- package/footer/Footer.js +15 -88
- package/footer/Footer.test.js +109 -0
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +32 -32
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +82 -114
- package/layout/ApplicationLayout.stories.tsx +14 -59
- 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 +5 -10
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +7 -23
- package/main.d.ts +7 -10
- package/main.js +33 -51
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +6 -5
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +266 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +1 -1
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +112 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/{radio → quick-nav}/types.js +0 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +25 -24
- package/radio-group/RadioGroup.js +46 -37
- package/radio-group/RadioGroup.stories.tsx +60 -39
- package/radio-group/RadioGroup.test.js +530 -83
- package/radio-group/types.d.ts +80 -2
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/row/types.d.ts +18 -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 +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +109 -327
- package/select/Select.stories.tsx +103 -81
- package/select/Select.test.js +2120 -0
- package/select/types.d.ts +54 -11
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.test.js +64 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +35 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +4 -0
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/tag/Tag.test.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +56 -80
- package/text-input/TextInput.stories.tsx +30 -12
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +31 -12
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +33 -12
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +8 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +175 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/typography/typographyContextTypes.d.ts +16 -0
- package/typography/typographyContextTypes.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +55 -44
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- 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/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
+
|
|
20
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
21
|
+
|
|
22
|
+
var _Option = _interopRequireDefault(require("./Option"));
|
|
23
|
+
|
|
24
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
25
|
+
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
31
|
+
|
|
32
|
+
var groupsHaveOptions = function groupsHaveOptions(options) {
|
|
33
|
+
return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
|
|
34
|
+
var _groupOption$options;
|
|
35
|
+
|
|
36
|
+
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
37
|
+
}) : true;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
41
|
+
var id = _ref.id,
|
|
42
|
+
currentValue = _ref.currentValue,
|
|
43
|
+
options = _ref.options,
|
|
44
|
+
visualFocusIndex = _ref.visualFocusIndex,
|
|
45
|
+
lastOptionIndex = _ref.lastOptionIndex,
|
|
46
|
+
multiple = _ref.multiple,
|
|
47
|
+
optional = _ref.optional,
|
|
48
|
+
optionalItem = _ref.optionalItem,
|
|
49
|
+
searchable = _ref.searchable,
|
|
50
|
+
handleOptionOnClick = _ref.handleOptionOnClick;
|
|
51
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
52
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
53
|
+
var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
|
|
54
|
+
|
|
55
|
+
var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
|
|
56
|
+
if (option.options) {
|
|
57
|
+
var groupId = "group-".concat(mapIndex);
|
|
58
|
+
return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
|
|
59
|
+
key: "group-".concat(mapIndex)
|
|
60
|
+
}, /*#__PURE__*/_react["default"].createElement(GroupList, {
|
|
61
|
+
role: "group",
|
|
62
|
+
"aria-labelledby": groupId
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
|
|
64
|
+
role: "presentation",
|
|
65
|
+
id: groupId
|
|
66
|
+
}, option.label), option.options.map(function (singleOption) {
|
|
67
|
+
globalIndex++;
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
69
|
+
key: "option-".concat(singleOption.value),
|
|
70
|
+
id: "option-".concat(globalIndex),
|
|
71
|
+
option: singleOption,
|
|
72
|
+
onClick: handleOptionOnClick,
|
|
73
|
+
multiple: multiple,
|
|
74
|
+
visualFocused: visualFocusIndex === globalIndex,
|
|
75
|
+
isGroupedOption: true,
|
|
76
|
+
isLastOption: lastOptionIndex === globalIndex,
|
|
77
|
+
isSelected: multiple ? currentValue.includes(singleOption.value) : currentValue === singleOption.value
|
|
78
|
+
});
|
|
79
|
+
})));
|
|
80
|
+
} else {
|
|
81
|
+
globalIndex++;
|
|
82
|
+
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
83
|
+
key: "option-".concat(option.value),
|
|
84
|
+
id: "option-".concat(globalIndex),
|
|
85
|
+
option: option,
|
|
86
|
+
onClick: handleOptionOnClick,
|
|
87
|
+
multiple: multiple,
|
|
88
|
+
visualFocused: visualFocusIndex === globalIndex,
|
|
89
|
+
isLastOption: lastOptionIndex === globalIndex,
|
|
90
|
+
isSelected: multiple ? currentValue.includes(option.value) : currentValue === option.value
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
96
|
+
theme: colorsTheme.select
|
|
97
|
+
}, /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
|
|
98
|
+
id: id,
|
|
99
|
+
onClick: function onClick(event) {
|
|
100
|
+
event.stopPropagation();
|
|
101
|
+
},
|
|
102
|
+
onMouseDown: function onMouseDown(event) {
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
},
|
|
105
|
+
ref: ref,
|
|
106
|
+
role: "listbox",
|
|
107
|
+
"aria-multiselectable": multiple,
|
|
108
|
+
"aria-orientation": "vertical"
|
|
109
|
+
}, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
110
|
+
key: "option-".concat(optionalItem.value),
|
|
111
|
+
id: "option-".concat(0),
|
|
112
|
+
option: optionalItem,
|
|
113
|
+
onClick: handleOptionOnClick,
|
|
114
|
+
multiple: multiple,
|
|
115
|
+
visualFocused: visualFocusIndex === 0,
|
|
116
|
+
isGroupedOption: false,
|
|
117
|
+
isLastOption: lastOptionIndex === 0,
|
|
118
|
+
isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
|
|
119
|
+
}), options.map(mapOptionFunc)));
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\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 cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
123
|
+
return props.theme.listDialogBackgroundColor;
|
|
124
|
+
}, function (props) {
|
|
125
|
+
return props.theme.listDialogBorderColor;
|
|
126
|
+
}, function (props) {
|
|
127
|
+
return props.theme.listOptionFontColor;
|
|
128
|
+
}, function (props) {
|
|
129
|
+
return props.theme.fontFamily;
|
|
130
|
+
}, function (props) {
|
|
131
|
+
return props.theme.listOptionFontSize;
|
|
132
|
+
}, function (props) {
|
|
133
|
+
return props.theme.listOptionFontStyle;
|
|
134
|
+
}, function (props) {
|
|
135
|
+
return props.theme.listOptionFontWeight;
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
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) {
|
|
139
|
+
return props.theme.systemMessageFontColor;
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
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"])));
|
|
143
|
+
|
|
144
|
+
var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
|
|
145
|
+
|
|
146
|
+
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) {
|
|
147
|
+
return props.theme.listGroupLabelFontWeight;
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
var _default = /*#__PURE__*/_react["default"].memo(Listbox);
|
|
151
|
+
|
|
152
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { OptionProps } from "../select/types";
|
|
3
|
+
declare const _default: React.MemoExoticComponent<({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element>;
|
|
4
|
+
export default _default;
|
package/select/Option.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
+
|
|
20
|
+
var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
|
|
21
|
+
|
|
22
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
23
|
+
|
|
24
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
29
|
+
|
|
30
|
+
var Option = function Option(_ref) {
|
|
31
|
+
var id = _ref.id,
|
|
32
|
+
option = _ref.option,
|
|
33
|
+
_onClick = _ref.onClick,
|
|
34
|
+
multiple = _ref.multiple,
|
|
35
|
+
visualFocused = _ref.visualFocused,
|
|
36
|
+
_ref$isGroupedOption = _ref.isGroupedOption,
|
|
37
|
+
isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
|
|
38
|
+
isLastOption = _ref.isLastOption,
|
|
39
|
+
isSelected = _ref.isSelected;
|
|
40
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
41
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
42
|
+
theme: colorsTheme.select
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement(OptionItem, {
|
|
44
|
+
id: id,
|
|
45
|
+
onClick: function onClick() {
|
|
46
|
+
_onClick(option);
|
|
47
|
+
},
|
|
48
|
+
visualFocused: visualFocused,
|
|
49
|
+
selected: isSelected,
|
|
50
|
+
role: "option",
|
|
51
|
+
"aria-selected": isSelected
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledOption, {
|
|
53
|
+
visualFocused: visualFocused,
|
|
54
|
+
selected: isSelected,
|
|
55
|
+
last: isLastOption,
|
|
56
|
+
grouped: isGroupedOption,
|
|
57
|
+
multiple: multiple
|
|
58
|
+
}, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
59
|
+
checked: isSelected,
|
|
60
|
+
tabIndex: -1
|
|
61
|
+
}), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
|
|
62
|
+
grouped: isGroupedOption,
|
|
63
|
+
multiple: multiple,
|
|
64
|
+
role: !(typeof option.icon === "string") ? "img" : undefined
|
|
65
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
|
|
66
|
+
src: option.icon
|
|
67
|
+
}) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
|
|
68
|
+
grouped: isGroupedOption,
|
|
69
|
+
hasIcon: option.icon ? true : false,
|
|
70
|
+
multiple: multiple
|
|
71
|
+
}, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected)))));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
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 line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
|
|
75
|
+
return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
|
|
76
|
+
}, function (props) {
|
|
77
|
+
return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
|
|
78
|
+
}, function (props) {
|
|
79
|
+
return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
|
|
80
|
+
}, function (props) {
|
|
81
|
+
return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
|
|
85
|
+
return props.grouped && props.multiple && "padding-left: 16px;";
|
|
86
|
+
}, function (props) {
|
|
87
|
+
return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
|
|
91
|
+
return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
92
|
+
}, function (props) {
|
|
93
|
+
return props.theme.listOptionIconColor;
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
|
|
97
|
+
return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
var OptionIconImg = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
|
|
101
|
+
|
|
102
|
+
var OptionLabel = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
103
|
+
|
|
104
|
+
var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
|
|
105
|
+
return props.theme.selectedListOptionIconColor;
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
var _default = /*#__PURE__*/_react["default"].memo(Option);
|
|
109
|
+
|
|
110
|
+
exports["default"] = _default;
|