@carbon/ibm-products 1.22.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/components/Datagrid/styles/datagrid.css +87 -11
- package/css/components/Datagrid/styles/datagrid.css.map +1 -1
- package/css/components/Datagrid/styles/index.css +94 -11
- package/css/components/Datagrid/styles/index.css.map +1 -1
- package/css/components/Datagrid/styles/useExpandedRow.css +9 -0
- package/css/components/Datagrid/styles/useExpandedRow.css.map +1 -0
- package/css/index-full-carbon.css +276 -181
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +2 -8
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +37 -41
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -7
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +271 -54
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -7
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +274 -177
- package/css/index.css.map +1 -1
- package/css/index.min.css +2 -8
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelect.js +56 -423
- package/es/components/AddSelect/AddSelectBody.js +345 -0
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -31
- package/es/components/AddSelect/AddSelectColumn.js +95 -42
- package/es/components/AddSelect/AddSelectFilter.js +2 -3
- package/es/components/AddSelect/AddSelectList.js +11 -62
- package/es/components/AddSelect/AddSelectMetaPanel.js +9 -8
- package/es/components/AddSelect/AddSelectSidebar.js +24 -39
- package/es/components/AddSelect/AddSelectSort.js +4 -2
- package/es/components/AddSelect/add-select-utils.js +85 -59
- package/es/components/AddSelect/hooks/useParentSelect.js +16 -0
- package/es/components/AddSelect/hooks/usePath.js +66 -0
- package/es/components/Card/Card.js +1 -1
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/es/components/Datagrid/Datagrid/Datagrid.js +17 -12
- package/es/components/Datagrid/Datagrid/DatagridRow.js +4 -2
- package/es/components/Datagrid/useExpandedRow.js +1 -0
- package/es/components/Datagrid/useOnRowClick.js +10 -3
- package/es/components/EditFullPage/EditFullPage.js +79 -0
- package/es/components/EditFullPage/index.js +7 -0
- package/es/components/EditTearsheet/EditTearsheet.js +205 -0
- package/es/components/EditTearsheet/EditTearsheetForm.js +103 -0
- package/es/components/EditTearsheet/index.js +8 -0
- package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +230 -0
- package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +79 -0
- package/es/components/EditTearsheetNarrow/index.js +7 -0
- package/es/components/PageHeader/PageHeaderUtils.js +5 -0
- package/es/components/TagSet/TagSet.js +15 -5
- package/es/components/WebTerminal/WebTerminal.js +5 -3
- package/es/components/index.js +4 -1
- package/es/global/js/package-settings.js +4 -1
- package/lib/components/AddSelect/AddSelect.js +53 -431
- package/lib/components/AddSelect/AddSelectBody.js +380 -0
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +11 -30
- package/lib/components/AddSelect/AddSelectColumn.js +93 -40
- package/lib/components/AddSelect/AddSelectFilter.js +2 -3
- package/lib/components/AddSelect/AddSelectList.js +12 -61
- package/lib/components/AddSelect/AddSelectMetaPanel.js +9 -8
- package/lib/components/AddSelect/AddSelectSidebar.js +22 -38
- package/lib/components/AddSelect/AddSelectSort.js +4 -2
- package/lib/components/AddSelect/add-select-utils.js +88 -64
- package/lib/components/AddSelect/hooks/useParentSelect.js +27 -0
- package/lib/components/AddSelect/hooks/usePath.js +75 -0
- package/lib/components/Card/Card.js +1 -1
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/lib/components/Datagrid/Datagrid/Datagrid.js +17 -12
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +3 -1
- package/lib/components/Datagrid/useExpandedRow.js +1 -0
- package/lib/components/Datagrid/useOnRowClick.js +10 -3
- package/lib/components/EditFullPage/EditFullPage.js +85 -0
- package/lib/components/EditFullPage/index.js +13 -0
- package/lib/components/EditTearsheet/EditTearsheet.js +229 -0
- package/lib/components/EditTearsheet/EditTearsheetForm.js +122 -0
- package/lib/components/EditTearsheet/index.js +21 -0
- package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +254 -0
- package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +85 -0
- package/lib/components/EditTearsheetNarrow/index.js +13 -0
- package/lib/components/PageHeader/PageHeaderUtils.js +5 -0
- package/lib/components/TagSet/TagSet.js +15 -5
- package/lib/components/WebTerminal/WebTerminal.js +5 -2
- package/lib/components/index.js +25 -1
- package/lib/global/js/package-settings.js +4 -1
- package/package.json +16 -16
- package/scss/components/Cascade/_cascade.scss +2 -1
- package/scss/components/CreateInfluencer/_create-influencer.scss +2 -2
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -1
- package/scss/components/Datagrid/_datagrid.scss +0 -1
- package/scss/components/Datagrid/_storybook-styles.scss +57 -0
- package/scss/components/Datagrid/styles/datagrid.scss +97 -12
- package/scss/components/Datagrid/styles/index.scss +1 -0
- package/scss/components/Datagrid/styles/useExpandedRow.scss +7 -0
- package/scss/components/EditFullPage/_edit-full-page.scss +34 -0
- package/scss/components/EditFullPage/_index.scss +8 -0
- package/scss/components/EditFullPage/_storybook-styles.scss +10 -0
- package/scss/components/EditTearsheet/_edit-tearsheet.scss +132 -0
- package/scss/components/EditTearsheet/_index.scss +8 -0
- package/scss/components/EditTearsheet/_storybook-styles.scss +55 -0
- package/scss/components/EditTearsheetNarrow/_edit-tearsheet-narrow.scss +34 -0
- package/scss/components/EditTearsheetNarrow/_index.scss +8 -0
- package/scss/components/EditTearsheetNarrow/_storybook-styles.scss +10 -0
- package/scss/components/InlineEdit/_inline-edit.scss +10 -21
- package/scss/components/NotificationsPanel/_notifications-panel.scss +1 -0
- package/scss/components/OptionsTile/_options-tile.scss +1 -0
- package/scss/components/PageHeader/_page-header.scss +11 -4
- package/scss/components/SidePanel/_side-panel.scss +1 -2
- package/scss/components/StatusIcon/_status-icon.scss +1 -1
- package/scss/components/TagSet/_tag-set.scss +4 -0
- package/scss/components/Tearsheet/_tearsheet.scss +2 -2
- package/scss/components/WebTerminal/_web-terminal.scss +2 -1
- package/scss/components/_index.scss +3 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
|
|
3
|
+
/* eslint-disable react/prop-types */
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Copyright IBM Corp. 2022, 2022
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/
|
|
11
|
+
import React, { useState } from 'react';
|
|
12
|
+
import { Button, Column, InlineNotification, RadioButtonGroup, RadioButton, Row, TextInput, Toggle, NumberInput } from 'carbon-components-react';
|
|
13
|
+
import cx from 'classnames';
|
|
14
|
+
import { pkg } from '../../../settings';
|
|
15
|
+
import { EditTearsheet } from '../EditTearsheet';
|
|
16
|
+
import { EditTearsheetForm } from '../EditTearsheetForm';
|
|
17
|
+
var blockClass = "".concat(pkg.prefix, "--tearsheet-edit-multi-form");
|
|
18
|
+
export var MultiFormEditTearsheet = function MultiFormEditTearsheet(_ref) {
|
|
19
|
+
var cancelButtonText = _ref.cancelButtonText,
|
|
20
|
+
className = _ref.className,
|
|
21
|
+
description = _ref.description,
|
|
22
|
+
influencerWidth = _ref.influencerWidth,
|
|
23
|
+
label = _ref.label,
|
|
24
|
+
submitButtonText = _ref.submitButtonText,
|
|
25
|
+
title = _ref.title;
|
|
26
|
+
|
|
27
|
+
var _useState = useState(false),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
open = _useState2[0],
|
|
30
|
+
setOpen = _useState2[1];
|
|
31
|
+
|
|
32
|
+
var _useState3 = useState(false),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
hasSubmitError = _useState4[0],
|
|
35
|
+
setHasSubmitError = _useState4[1];
|
|
36
|
+
|
|
37
|
+
var _useState5 = useState('Topic name here'),
|
|
38
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
39
|
+
formOneTextInputValue = _useState6[0],
|
|
40
|
+
setFormOneTextInputValue = _useState6[1];
|
|
41
|
+
|
|
42
|
+
var _useState7 = useState('Topic description here'),
|
|
43
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
44
|
+
topicDescriptionValue = _useState8[0],
|
|
45
|
+
setTopicDescriptionValue = _useState8[1];
|
|
46
|
+
|
|
47
|
+
var _useState9 = useState('Topic value here'),
|
|
48
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
49
|
+
topicVersionValue = _useState10[0],
|
|
50
|
+
setTopicVersionValue = _useState10[1];
|
|
51
|
+
|
|
52
|
+
var _useState11 = useState('Location here'),
|
|
53
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
54
|
+
topicLocationValue = _useState12[0],
|
|
55
|
+
setTopicLocationValue = _useState12[1];
|
|
56
|
+
|
|
57
|
+
var _useState13 = useState(1),
|
|
58
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
59
|
+
formTwoTextInputValue = _useState14[0],
|
|
60
|
+
setFormTwoTextInputValue = _useState14[1];
|
|
61
|
+
|
|
62
|
+
var _useState15 = useState('one-day'),
|
|
63
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
64
|
+
formThreeTextInputValue = _useState16[0],
|
|
65
|
+
setFormThreeTextInputValue = _useState16[1];
|
|
66
|
+
|
|
67
|
+
var _useState17 = useState(false),
|
|
68
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
69
|
+
isInvalid = _useState18[0],
|
|
70
|
+
setIsInvalid = _useState18[1];
|
|
71
|
+
|
|
72
|
+
var clearCreateData = function clearCreateData() {
|
|
73
|
+
setFormOneTextInputValue(formOneTextInputValue);
|
|
74
|
+
setTopicDescriptionValue(topicDescriptionValue);
|
|
75
|
+
setTopicVersionValue(topicVersionValue);
|
|
76
|
+
setTopicLocationValue(topicLocationValue);
|
|
77
|
+
setFormTwoTextInputValue(1);
|
|
78
|
+
setFormThreeTextInputValue('one-day');
|
|
79
|
+
setHasSubmitError(false);
|
|
80
|
+
setIsInvalid(false);
|
|
81
|
+
setOpen(false);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
var handleModalClick = function handleModalClick() {
|
|
85
|
+
setOpen(!open);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("style", null, ".".concat(blockClass, " { opacity: 0 }"), ";"), /*#__PURE__*/React.createElement(Button, {
|
|
89
|
+
onClick: handleModalClick
|
|
90
|
+
}, open ? 'Close EditTearsheet' : 'Open EditTearsheet'), /*#__PURE__*/React.createElement(EditTearsheet, {
|
|
91
|
+
influencerWidth: influencerWidth,
|
|
92
|
+
label: label,
|
|
93
|
+
className: cx(blockClass, className),
|
|
94
|
+
submitButtonText: submitButtonText,
|
|
95
|
+
cancelButtonText: cancelButtonText,
|
|
96
|
+
description: description,
|
|
97
|
+
title: title,
|
|
98
|
+
open: open,
|
|
99
|
+
onHandleModalClick: handleModalClick,
|
|
100
|
+
onClose: clearCreateData
|
|
101
|
+
}, /*#__PURE__*/React.createElement(EditTearsheetForm, {
|
|
102
|
+
title: "Topic name",
|
|
103
|
+
fieldsetLegendText: "Topic information",
|
|
104
|
+
subtitle: "This is the unique name used to recognize your topic",
|
|
105
|
+
description: "It will also be used by your producers and consumers as part of the connection information, so make it something easy to recognize."
|
|
106
|
+
}, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
|
|
107
|
+
xlg: 8,
|
|
108
|
+
lg: 8,
|
|
109
|
+
md: 8,
|
|
110
|
+
sm: 8
|
|
111
|
+
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
112
|
+
labelText: "Topic name",
|
|
113
|
+
placeholder: "Enter topic name",
|
|
114
|
+
id: "tearsheet-multi-form-story-text-input-multi-form-1",
|
|
115
|
+
value: formOneTextInputValue,
|
|
116
|
+
onChange: function onChange(event) {
|
|
117
|
+
if (event.target.value.length) {
|
|
118
|
+
setIsInvalid(false);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
setFormOneTextInputValue(event.target.value);
|
|
122
|
+
},
|
|
123
|
+
invalid: isInvalid,
|
|
124
|
+
invalidText: "This is a required field",
|
|
125
|
+
onBlur: function onBlur() {
|
|
126
|
+
if (!formOneTextInputValue.length) {
|
|
127
|
+
setIsInvalid(true);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}), /*#__PURE__*/React.createElement(TextInput, {
|
|
131
|
+
labelText: "Topic description (optional)",
|
|
132
|
+
id: "tearsheet-multi-form-story-text-input-multi-form-1-input-2",
|
|
133
|
+
value: topicDescriptionValue,
|
|
134
|
+
placeholder: "Enter topic description",
|
|
135
|
+
onChange: function onChange(event) {
|
|
136
|
+
return setTopicDescriptionValue(event.target.value);
|
|
137
|
+
}
|
|
138
|
+
}), /*#__PURE__*/React.createElement(TextInput, {
|
|
139
|
+
labelText: "Topic version (optional)",
|
|
140
|
+
id: "tearsheet-multi-form-story-text-input-multi-form-1-input-3",
|
|
141
|
+
value: topicVersionValue,
|
|
142
|
+
placeholder: "Enter topic version",
|
|
143
|
+
onChange: function onChange(event) {
|
|
144
|
+
return setTopicVersionValue(event.target.value);
|
|
145
|
+
}
|
|
146
|
+
}), hasSubmitError && /*#__PURE__*/React.createElement(InlineNotification, {
|
|
147
|
+
kind: "error",
|
|
148
|
+
title: "Error",
|
|
149
|
+
subtitle: "Resolve errors to continue",
|
|
150
|
+
onClose: function onClose() {
|
|
151
|
+
return setHasSubmitError(!hasSubmitError);
|
|
152
|
+
}
|
|
153
|
+
}), /*#__PURE__*/React.createElement(Toggle, {
|
|
154
|
+
className: "".concat(blockClass, "__error--toggle"),
|
|
155
|
+
id: "simulated-error-toggle",
|
|
156
|
+
size: "sm",
|
|
157
|
+
labelText: "Simulate error",
|
|
158
|
+
onToggle: function onToggle() {
|
|
159
|
+
return setHasSubmitError(!hasSubmitError);
|
|
160
|
+
},
|
|
161
|
+
toggled: hasSubmitError
|
|
162
|
+
})))), /*#__PURE__*/React.createElement(EditTearsheetForm, {
|
|
163
|
+
title: "Location",
|
|
164
|
+
subtitle: "Custom form subtitle",
|
|
165
|
+
fieldsetLegendText: "",
|
|
166
|
+
description: "Custom form description (see storybook implementation for new custom form capability)"
|
|
167
|
+
}, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
|
|
168
|
+
xlg: 8,
|
|
169
|
+
lg: 8,
|
|
170
|
+
md: 8,
|
|
171
|
+
sm: 8
|
|
172
|
+
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
173
|
+
value: topicLocationValue,
|
|
174
|
+
onChange: function onChange(event) {
|
|
175
|
+
return setTopicLocationValue(event.target.value);
|
|
176
|
+
},
|
|
177
|
+
id: "custom-form-input",
|
|
178
|
+
labelText: "Location",
|
|
179
|
+
placeholder: "Enter location"
|
|
180
|
+
})))), /*#__PURE__*/React.createElement(EditTearsheetForm, {
|
|
181
|
+
title: "Partitions",
|
|
182
|
+
subtitle: "One or more partitions make up a topic. A partition is an ordered list of messages.",
|
|
183
|
+
description: "Partitions are distributed across the brokers in order to increase the scalability of your topic. You can also use them to distribute messages across the members of a consumer group.",
|
|
184
|
+
fieldsetLegendText: "Partition information"
|
|
185
|
+
}, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
|
|
186
|
+
xlg: 3,
|
|
187
|
+
lg: 3
|
|
188
|
+
}, /*#__PURE__*/React.createElement(NumberInput, {
|
|
189
|
+
id: "carbon-number",
|
|
190
|
+
min: 1,
|
|
191
|
+
max: 100,
|
|
192
|
+
value: formTwoTextInputValue,
|
|
193
|
+
label: "Partitions",
|
|
194
|
+
helperText: "1 partition is sufficient for getting started but, production systems often have more.",
|
|
195
|
+
invalidText: "Max partitions is 100, min is 1",
|
|
196
|
+
onChange: function onChange(event) {
|
|
197
|
+
return setFormTwoTextInputValue(event.imaginaryTarget.value);
|
|
198
|
+
}
|
|
199
|
+
})))), /*#__PURE__*/React.createElement(EditTearsheetForm, {
|
|
200
|
+
title: "Message retention",
|
|
201
|
+
subtitle: "This is how long messages are retained before they are deleted.",
|
|
202
|
+
description: "If your messages are not read by a consumer within this time, they will be missed.",
|
|
203
|
+
fieldsetLegendText: "Message retention scheduling"
|
|
204
|
+
}, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
|
|
205
|
+
xlg: 8,
|
|
206
|
+
lg: 8,
|
|
207
|
+
md: 8,
|
|
208
|
+
sm: 8
|
|
209
|
+
}, /*#__PURE__*/React.createElement(RadioButtonGroup, {
|
|
210
|
+
legendText: "Message retention",
|
|
211
|
+
name: "radio-button-group",
|
|
212
|
+
defaultSelected: formThreeTextInputValue,
|
|
213
|
+
onChange: function onChange(value) {
|
|
214
|
+
return setFormThreeTextInputValue(value);
|
|
215
|
+
},
|
|
216
|
+
orientation: "vertical"
|
|
217
|
+
}, /*#__PURE__*/React.createElement(RadioButton, {
|
|
218
|
+
labelText: "A day",
|
|
219
|
+
value: "one-day",
|
|
220
|
+
id: "one-day"
|
|
221
|
+
}), /*#__PURE__*/React.createElement(RadioButton, {
|
|
222
|
+
labelText: "A week",
|
|
223
|
+
value: "one-week",
|
|
224
|
+
id: "one-week"
|
|
225
|
+
}), /*#__PURE__*/React.createElement(RadioButton, {
|
|
226
|
+
labelText: "A month",
|
|
227
|
+
value: "one-month",
|
|
228
|
+
id: "one-month"
|
|
229
|
+
})))))));
|
|
230
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["children", "className"];
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Copyright IBM Corp. 2022, 2022
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/
|
|
11
|
+
// Import portions of React that are needed.
|
|
12
|
+
import React from 'react'; // Other standard imports.
|
|
13
|
+
|
|
14
|
+
import PropTypes from 'prop-types';
|
|
15
|
+
import cx from 'classnames';
|
|
16
|
+
import { getDevtoolsProps } from '../../global/js/utils/devtools';
|
|
17
|
+
import { pkg
|
|
18
|
+
/*, carbon */
|
|
19
|
+
} from '../../settings'; // Carbon and package components we use.
|
|
20
|
+
|
|
21
|
+
/* TODO: @import(s) of carbon components and other package components. */
|
|
22
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
|
23
|
+
|
|
24
|
+
var blockClass = "".concat(pkg.prefix, "--edit-tearsheet-narrow");
|
|
25
|
+
var componentName = 'EditTearsheetNarrow'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
|
|
26
|
+
// Default values can be included here and then assigned to the prop params,
|
|
27
|
+
// e.g. prop = defaults.prop,
|
|
28
|
+
// This gathers default values together neatly and ensures non-primitive
|
|
29
|
+
// values are initialized early to avoid react making unnecessary re-renders.
|
|
30
|
+
// Note that default values are not required for props that are 'required',
|
|
31
|
+
// nor for props where the component can apply undefined values reasonably.
|
|
32
|
+
// Default values should be provided when the component needs to make a choice
|
|
33
|
+
// or assumption when a prop is not supplied.
|
|
34
|
+
// Default values for props
|
|
35
|
+
// const defaults = {
|
|
36
|
+
// /* TODO: add defaults for relevant props if needed */
|
|
37
|
+
// };
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* TODO: A description of the component.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export var EditTearsheetNarrow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
44
|
+
var children = _ref.children,
|
|
45
|
+
className = _ref.className,
|
|
46
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
47
|
+
|
|
48
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
49
|
+
className: cx(blockClass, // Apply the block class to the main HTML element
|
|
50
|
+
className, // Apply any supplied class names to the main HTML element.
|
|
51
|
+
// example: `${blockClass}__template-string-class-${kind}-n-${size}`,
|
|
52
|
+
{// switched classes dependant on props or state
|
|
53
|
+
// example: [`${blockClass}__here-if-small`]: size === 'sm',
|
|
54
|
+
}),
|
|
55
|
+
ref: ref,
|
|
56
|
+
role: "main"
|
|
57
|
+
}, getDevtoolsProps(componentName)), children);
|
|
58
|
+
}); // Return a placeholder if not released and not enabled by feature flag
|
|
59
|
+
|
|
60
|
+
EditTearsheetNarrow = pkg.checkComponentEnabled(EditTearsheetNarrow, componentName); // The display name of the component, used by React. Note that displayName
|
|
61
|
+
// is used in preference to relying on function.name.
|
|
62
|
+
|
|
63
|
+
EditTearsheetNarrow.displayName = componentName; // The types and DocGen commentary for the component props,
|
|
64
|
+
// in alphabetical order (for consistency).
|
|
65
|
+
// See https://www.npmjs.com/package/prop-types#usage.
|
|
66
|
+
|
|
67
|
+
EditTearsheetNarrow.propTypes = {
|
|
68
|
+
/**
|
|
69
|
+
* Provide the contents of the EditTearsheetNarrow.
|
|
70
|
+
*/
|
|
71
|
+
children: PropTypes.node.isRequired,
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Provide an optional class to be applied to the containing node.
|
|
75
|
+
*/
|
|
76
|
+
className: PropTypes.string
|
|
77
|
+
/* TODO: add types and DocGen for all props. */
|
|
78
|
+
|
|
79
|
+
};
|
|
@@ -118,6 +118,11 @@ export var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(
|
|
|
118
118
|
if (!enableBreadcrumbScroll || !navigation) {
|
|
119
119
|
// adjust sticky top if no navigation or breadcrumb is to stay on screen
|
|
120
120
|
update.headerTopValue += update.breadcrumbRowHeight;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (enableBreadcrumbScroll) {
|
|
124
|
+
// adjust header top value when scroll enabled for breadcrumb
|
|
125
|
+
update.headerTopValue -= navigation ? hasActionBar ? 0 : 10 : update.headerHeight;
|
|
121
126
|
} // if (window) {
|
|
122
127
|
|
|
123
128
|
|
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
|
|
5
|
+
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
|
|
6
6
|
_excluded2 = ["label", "id"],
|
|
7
7
|
_excluded3 = ["label"];
|
|
8
8
|
|
|
@@ -43,6 +43,7 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
43
43
|
allTagsModalTargetIn = _ref.allTagsModalTarget,
|
|
44
44
|
className = _ref.className,
|
|
45
45
|
maxVisible = _ref.maxVisible,
|
|
46
|
+
multiline = _ref.multiline,
|
|
46
47
|
_ref$overflowAlign = _ref.overflowAlign,
|
|
47
48
|
overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
|
|
48
49
|
overflowClassName = _ref.overflowClassName,
|
|
@@ -161,7 +162,11 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
161
162
|
setDisplayedTags(newDisplayedTags);
|
|
162
163
|
}, [displayCount, overflowAlign, overflowClassName, overflowDirection, showAllTagsLabel, tags]);
|
|
163
164
|
var checkFullyVisibleTags = useCallback(function () {
|
|
164
|
-
|
|
165
|
+
if (multiline) {
|
|
166
|
+
return setDisplayCount(maxVisible);
|
|
167
|
+
} // how many will fit?
|
|
168
|
+
|
|
169
|
+
|
|
165
170
|
var willFit = 0;
|
|
166
171
|
|
|
167
172
|
if (sizingTags.length > 0) {
|
|
@@ -193,10 +198,10 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
193
198
|
} else {
|
|
194
199
|
setDisplayCount(maxVisible ? Math.min(willFit, maxVisible) : willFit);
|
|
195
200
|
}
|
|
196
|
-
}, [maxVisible, sizingTags, tagSetRef]);
|
|
201
|
+
}, [maxVisible, multiline, sizingTags, tagSetRef]);
|
|
197
202
|
useEffect(function () {
|
|
198
203
|
checkFullyVisibleTags();
|
|
199
|
-
}, [checkFullyVisibleTags, maxVisible, sizingTags]);
|
|
204
|
+
}, [checkFullyVisibleTags, maxVisible, multiline, sizingTags]);
|
|
200
205
|
/* don't know how to test resize */
|
|
201
206
|
|
|
202
207
|
/* istanbul ignore next */
|
|
@@ -239,7 +244,7 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
239
244
|
"aria-hidden": true,
|
|
240
245
|
ref: sizingContainerRef
|
|
241
246
|
}, hiddenSizingTags), /*#__PURE__*/React.createElement("div", {
|
|
242
|
-
className: "".concat(blockClass, "__tag-container"),
|
|
247
|
+
className: cx(["".concat(blockClass, "__tag-container"), multiline && "".concat(blockClass, "__tag-container--multiline")]),
|
|
243
248
|
ref: displayedArea
|
|
244
249
|
}, displayedTags)), (allTagsModalTarget ? createPortal : function (children) {
|
|
245
250
|
return children;
|
|
@@ -316,6 +321,11 @@ TagSet.propTypes = {
|
|
|
316
321
|
*/
|
|
317
322
|
maxVisible: PropTypes.number,
|
|
318
323
|
|
|
324
|
+
/**
|
|
325
|
+
* display tags in multiple lines
|
|
326
|
+
*/
|
|
327
|
+
multiline: PropTypes.bool,
|
|
328
|
+
|
|
319
329
|
/**
|
|
320
330
|
* overflowAlign from the standard tooltip. Default center.
|
|
321
331
|
*/
|
|
@@ -23,7 +23,8 @@ import { pkg } from '../../settings'; // Carbon and package components we use.
|
|
|
23
23
|
|
|
24
24
|
import { Close16 as Close, Help16 as Help } from '@carbon/icons-react';
|
|
25
25
|
import { Button, OverflowMenu, OverflowMenuItem } from 'carbon-components-react';
|
|
26
|
-
import { moderate02 } from '@carbon/motion';
|
|
26
|
+
import { moderate02 } from '@carbon/motion';
|
|
27
|
+
import { getDevtoolsProps } from '../../global/js/utils/devtools'; // The block part of our conventional BEM class names (blockClass__E--M).
|
|
27
28
|
|
|
28
29
|
var componentName = 'WebTerminal';
|
|
29
30
|
var blockClass = "".concat(pkg.prefix, "--web-terminal"); // Default values for props
|
|
@@ -90,9 +91,9 @@ export var WebTerminal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
90
91
|
closeTerminal();
|
|
91
92
|
};
|
|
92
93
|
|
|
93
|
-
return shouldRender ? /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
94
|
+
return shouldRender ? /*#__PURE__*/React.createElement("div", _extends({}, _objectSpread(_objectSpread({}, rest), getDevtoolsProps(componentName)), {
|
|
94
95
|
ref: ref,
|
|
95
|
-
className: cx([
|
|
96
|
+
className: cx([blockClass, className, (_ref3 = {}, _defineProperty(_ref3, "".concat(blockClass, "--open"), open), _defineProperty(_ref3, "".concat(blockClass, "--closed"), !open), _ref3)]),
|
|
96
97
|
style: {
|
|
97
98
|
animation: !prefersReducedMotion && webTerminalAnimationName
|
|
98
99
|
},
|
|
@@ -104,6 +105,7 @@ export var WebTerminal = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
104
105
|
}, showDocumentationLinks && /*#__PURE__*/React.createElement(OverflowMenu, {
|
|
105
106
|
renderIcon: Help,
|
|
106
107
|
iconDescription: documentationLinksIconDescription,
|
|
108
|
+
ariaLabel: documentationLinksIconDescription,
|
|
107
109
|
menuOptionsClass: "".concat(blockClass, "__documentation-overflow"),
|
|
108
110
|
size: "lg"
|
|
109
111
|
}, documentationLinks.map(function (_ref4, i) {
|
package/es/components/index.js
CHANGED
|
@@ -37,4 +37,7 @@ export { EditSidePanel } from './EditSidePanel';
|
|
|
37
37
|
export { OptionsTile } from './OptionsTile';
|
|
38
38
|
export { InlineEdit } from './InlineEdit';
|
|
39
39
|
export { DataSpreadsheet } from './DataSpreadsheet';
|
|
40
|
-
export { Datagrid, useDatagrid, useInfiniteScroll, useNestedRows, useSelectRows, useExpandedRow, useOnRowClick, useSortableColumns, useRowIsMouseOver, useColumnRightAlign, useDisableSelectRows, useStickyColumn, useActionsColumn, useCustomizeColumns, useSelectAllWithToggle } from './Datagrid';
|
|
40
|
+
export { Datagrid, useDatagrid, useInfiniteScroll, useNestedRows, useSelectRows, useExpandedRow, useOnRowClick, useSortableColumns, useRowIsMouseOver, useColumnRightAlign, useDisableSelectRows, useStickyColumn, useActionsColumn, useCustomizeColumns, useSelectAllWithToggle } from './Datagrid';
|
|
41
|
+
export { EditTearsheet } from './EditTearsheet';
|
|
42
|
+
export { EditTearsheetNarrow } from './EditTearsheetNarrow';
|
|
43
|
+
export { EditFullPage } from './EditFullPage';
|
|
@@ -65,7 +65,10 @@ var defaults = {
|
|
|
65
65
|
EditSidePanel: false,
|
|
66
66
|
CancelableTextEdit: false,
|
|
67
67
|
DataSpreadsheet: false,
|
|
68
|
-
Datagrid: false
|
|
68
|
+
Datagrid: false,
|
|
69
|
+
EditTearsheet: false,
|
|
70
|
+
EditTearsheetNarrow: false,
|
|
71
|
+
EditFullPage: false
|
|
69
72
|
/* new component flags here - comment used by generate CLI */
|
|
70
73
|
|
|
71
74
|
},
|