@carbon/ibm-products 1.22.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. package/css/components/Datagrid/styles/datagrid.css +87 -11
  2. package/css/components/Datagrid/styles/datagrid.css.map +1 -1
  3. package/css/components/Datagrid/styles/index.css +94 -11
  4. package/css/components/Datagrid/styles/index.css.map +1 -1
  5. package/css/components/Datagrid/styles/useExpandedRow.css +9 -0
  6. package/css/components/Datagrid/styles/useExpandedRow.css.map +1 -0
  7. package/css/index-full-carbon.css +276 -181
  8. package/css/index-full-carbon.css.map +1 -1
  9. package/css/index-full-carbon.min.css +2 -8
  10. package/css/index-full-carbon.min.css.map +1 -1
  11. package/css/index-without-carbon-released-only.css +37 -41
  12. package/css/index-without-carbon-released-only.css.map +1 -1
  13. package/css/index-without-carbon-released-only.min.css +1 -7
  14. package/css/index-without-carbon-released-only.min.css.map +1 -1
  15. package/css/index-without-carbon.css +271 -54
  16. package/css/index-without-carbon.css.map +1 -1
  17. package/css/index-without-carbon.min.css +1 -7
  18. package/css/index-without-carbon.min.css.map +1 -1
  19. package/css/index.css +274 -177
  20. package/css/index.css.map +1 -1
  21. package/css/index.min.css +2 -8
  22. package/css/index.min.css.map +1 -1
  23. package/es/components/AddSelect/AddSelect.js +56 -423
  24. package/es/components/AddSelect/AddSelectBody.js +345 -0
  25. package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -31
  26. package/es/components/AddSelect/AddSelectColumn.js +95 -42
  27. package/es/components/AddSelect/AddSelectFilter.js +2 -3
  28. package/es/components/AddSelect/AddSelectList.js +11 -62
  29. package/es/components/AddSelect/AddSelectMetaPanel.js +9 -8
  30. package/es/components/AddSelect/AddSelectSidebar.js +24 -39
  31. package/es/components/AddSelect/AddSelectSort.js +4 -2
  32. package/es/components/AddSelect/add-select-utils.js +85 -59
  33. package/es/components/AddSelect/hooks/useParentSelect.js +16 -0
  34. package/es/components/AddSelect/hooks/usePath.js +66 -0
  35. package/es/components/Card/Card.js +1 -1
  36. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
  37. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
  38. package/es/components/Datagrid/Datagrid/Datagrid.js +17 -12
  39. package/es/components/Datagrid/Datagrid/DatagridRow.js +4 -2
  40. package/es/components/Datagrid/useExpandedRow.js +1 -0
  41. package/es/components/Datagrid/useOnRowClick.js +10 -3
  42. package/es/components/EditFullPage/EditFullPage.js +79 -0
  43. package/es/components/EditFullPage/index.js +7 -0
  44. package/es/components/EditTearsheet/EditTearsheet.js +205 -0
  45. package/es/components/EditTearsheet/EditTearsheetForm.js +103 -0
  46. package/es/components/EditTearsheet/index.js +8 -0
  47. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +230 -0
  48. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +79 -0
  49. package/es/components/EditTearsheetNarrow/index.js +7 -0
  50. package/es/components/PageHeader/PageHeaderUtils.js +5 -0
  51. package/es/components/TagSet/TagSet.js +15 -5
  52. package/es/components/WebTerminal/WebTerminal.js +5 -3
  53. package/es/components/index.js +4 -1
  54. package/es/global/js/package-settings.js +4 -1
  55. package/lib/components/AddSelect/AddSelect.js +53 -431
  56. package/lib/components/AddSelect/AddSelectBody.js +380 -0
  57. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +11 -30
  58. package/lib/components/AddSelect/AddSelectColumn.js +93 -40
  59. package/lib/components/AddSelect/AddSelectFilter.js +2 -3
  60. package/lib/components/AddSelect/AddSelectList.js +12 -61
  61. package/lib/components/AddSelect/AddSelectMetaPanel.js +9 -8
  62. package/lib/components/AddSelect/AddSelectSidebar.js +22 -38
  63. package/lib/components/AddSelect/AddSelectSort.js +4 -2
  64. package/lib/components/AddSelect/add-select-utils.js +88 -64
  65. package/lib/components/AddSelect/hooks/useParentSelect.js +27 -0
  66. package/lib/components/AddSelect/hooks/usePath.js +75 -0
  67. package/lib/components/Card/Card.js +1 -1
  68. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
  69. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
  70. package/lib/components/Datagrid/Datagrid/Datagrid.js +17 -12
  71. package/lib/components/Datagrid/Datagrid/DatagridRow.js +3 -1
  72. package/lib/components/Datagrid/useExpandedRow.js +1 -0
  73. package/lib/components/Datagrid/useOnRowClick.js +10 -3
  74. package/lib/components/EditFullPage/EditFullPage.js +85 -0
  75. package/lib/components/EditFullPage/index.js +13 -0
  76. package/lib/components/EditTearsheet/EditTearsheet.js +229 -0
  77. package/lib/components/EditTearsheet/EditTearsheetForm.js +122 -0
  78. package/lib/components/EditTearsheet/index.js +21 -0
  79. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +254 -0
  80. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +85 -0
  81. package/lib/components/EditTearsheetNarrow/index.js +13 -0
  82. package/lib/components/PageHeader/PageHeaderUtils.js +5 -0
  83. package/lib/components/TagSet/TagSet.js +15 -5
  84. package/lib/components/WebTerminal/WebTerminal.js +5 -2
  85. package/lib/components/index.js +25 -1
  86. package/lib/global/js/package-settings.js +4 -1
  87. package/package.json +16 -16
  88. package/scss/components/Cascade/_cascade.scss +2 -1
  89. package/scss/components/CreateInfluencer/_create-influencer.scss +2 -2
  90. package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -1
  91. package/scss/components/Datagrid/_datagrid.scss +0 -1
  92. package/scss/components/Datagrid/_storybook-styles.scss +57 -0
  93. package/scss/components/Datagrid/styles/datagrid.scss +97 -12
  94. package/scss/components/Datagrid/styles/index.scss +1 -0
  95. package/scss/components/Datagrid/styles/useExpandedRow.scss +7 -0
  96. package/scss/components/EditFullPage/_edit-full-page.scss +34 -0
  97. package/scss/components/EditFullPage/_index.scss +8 -0
  98. package/scss/components/EditFullPage/_storybook-styles.scss +10 -0
  99. package/scss/components/EditTearsheet/_edit-tearsheet.scss +132 -0
  100. package/scss/components/EditTearsheet/_index.scss +8 -0
  101. package/scss/components/EditTearsheet/_storybook-styles.scss +55 -0
  102. package/scss/components/EditTearsheetNarrow/_edit-tearsheet-narrow.scss +34 -0
  103. package/scss/components/EditTearsheetNarrow/_index.scss +8 -0
  104. package/scss/components/EditTearsheetNarrow/_storybook-styles.scss +10 -0
  105. package/scss/components/InlineEdit/_inline-edit.scss +10 -21
  106. package/scss/components/NotificationsPanel/_notifications-panel.scss +1 -0
  107. package/scss/components/OptionsTile/_options-tile.scss +1 -0
  108. package/scss/components/PageHeader/_page-header.scss +11 -4
  109. package/scss/components/SidePanel/_side-panel.scss +1 -2
  110. package/scss/components/StatusIcon/_status-icon.scss +1 -1
  111. package/scss/components/TagSet/_tag-set.scss +4 -0
  112. package/scss/components/Tearsheet/_tearsheet.scss +2 -2
  113. package/scss/components/WebTerminal/_web-terminal.scss +2 -1
  114. package/scss/components/_index.scss +3 -0
@@ -204,11 +204,7 @@ var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
204
204
  },
205
205
  invalid: isInvalid,
206
206
  invalidText: "This is a required field",
207
- onBlur: function onBlur() {
208
- if (!stepOneTextInputValue.length) {
209
- setIsInvalid(true);
210
- }
211
- }
207
+ onBlur: function onBlur() {}
212
208
  }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TextInput, {
213
209
  labelText: "Topic description (optional)",
214
210
  id: "tearsheet-multi-step-story-text-input-multi-step-1-input-2",
@@ -226,11 +226,7 @@ var MultiStepWithIntro = function MultiStepWithIntro(_ref) {
226
226
  },
227
227
  invalid: isInvalid,
228
228
  invalidText: "This is a required field",
229
- onBlur: function onBlur() {
230
- if (!stepOneTextInputValue.length) {
231
- setIsInvalid(true);
232
- }
233
- }
229
+ onBlur: function onBlur() {}
234
230
  }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TextInput, {
235
231
  labelText: "Topic description (optional)",
236
232
  id: "tearsheet-multi-step-story-text-input-multi-step-1-input-2",
@@ -63,16 +63,25 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
63
63
  _datagridState$vertic = datagridState.verticalAlign,
64
64
  verticalAlign = _datagridState$vertic === void 0 ? 'center' : _datagridState$vertic,
65
65
  variableRowHeight = datagridState.variableRowHeight,
66
- className = datagridState.className;
66
+ className = datagridState.className,
67
+ gridTitle = datagridState.gridTitle,
68
+ gridDescription = datagridState.gridDescription,
69
+ useDenseHeader = datagridState.useDenseHeader;
67
70
  var rows = DatagridPagination && datagridState.page || datagridState.rows;
68
71
 
69
72
  var dataGrid = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(TableContainer, {
70
- className: (0, _classnames.default)("".concat(blockClass, "__grid-container"), withVirtualScroll || fullHeightDatagrid ? "".concat(blockClass, "__full-height") : '')
71
- }, /*#__PURE__*/_react.default.createElement(Table, (0, _extends2.default)({}, getTableProps(), {
72
- className: (0, _classnames.default)(DatagridPagination ? "".concat(blockClass, "__with-pagination") : '', withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className)
73
+ className: (0, _classnames.default)("".concat(blockClass, "__grid-container"), withVirtualScroll || fullHeightDatagrid ? "".concat(blockClass, "__full-height") : '', DatagridPagination ? "".concat(blockClass, "__with-pagination") : '', useDenseHeader ? "".concat(blockClass, "__dense-header") : ''),
74
+ title: gridTitle,
75
+ description: gridDescription
76
+ }, /*#__PURE__*/_react.default.createElement(_DatagridToolbar.default, datagridState), /*#__PURE__*/_react.default.createElement("div", {
77
+ className: "".concat(blockClass, "__table-container")
78
+ }, leftPanel && leftPanel.isOpen && /*#__PURE__*/_react.default.createElement("div", {
79
+ className: "".concat(blockClass, "__datagridLeftPanel")
80
+ }, leftPanel.panelContent), /*#__PURE__*/_react.default.createElement(Table, (0, _extends2.default)({}, getTableProps(), {
81
+ className: (0, _classnames.default)(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className)
73
82
  }), /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState), /*#__PURE__*/_react.default.createElement(_DatagridBody.default, (0, _extends2.default)({}, datagridState, {
74
83
  rows: rows
75
- })))), (rows === null || rows === void 0 ? void 0 : rows.length) > 0 && !isFetching && DatagridPagination && DatagridPagination(datagridState), CustomizeColumnsModal && /*#__PURE__*/_react.default.createElement(CustomizeColumnsModal, {
84
+ }))))), (rows === null || rows === void 0 ? void 0 : rows.length) > 0 && !isFetching && DatagridPagination && DatagridPagination(datagridState), CustomizeColumnsModal && /*#__PURE__*/_react.default.createElement(CustomizeColumnsModal, {
76
85
  instance: datagridState
77
86
  }));
78
87
 
@@ -80,13 +89,9 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
80
89
  id: tableId,
81
90
  ref: ref,
82
91
  className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
83
- }, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement(_DatagridToolbar.default, datagridState), leftPanel && /*#__PURE__*/_react.default.createElement("div", {
84
- className: "".concat(blockClass, "__grid-container ").concat(blockClass, "__displayFlex")
85
- }, leftPanel && leftPanel.isOpen && /*#__PURE__*/_react.default.createElement("div", {
86
- className: "".concat(blockClass, "__datagridLeftPanel")
87
- }, leftPanel.panelContent), /*#__PURE__*/_react.default.createElement("div", {
88
- className: "".concat(blockClass, "__datagridWithPanel")
89
- }, dataGrid)), leftPanel === undefined && dataGrid);
92
+ }, (0, _devtools.getDevtoolsProps)(componentName)), leftPanel && /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "".concat(blockClass, "__datagridWithPanel ").concat(blockClass, "__displayFlex ").concat(blockClass, "__leftPanel-position")
94
+ }, dataGrid), leftPanel === undefined && dataGrid);
90
95
  }); // Return a placeholder if not released and not enabled by feature flag
91
96
 
92
97
 
@@ -29,9 +29,11 @@ var TableRow = _carbonComponentsReact.DataTable.TableRow,
29
29
  TableCell = _carbonComponentsReact.DataTable.TableCell; // eslint-disable-next-line react/prop-types
30
30
 
31
31
  var DatagridRow = function DatagridRow(datagridState) {
32
+ var _cx;
33
+
32
34
  var row = datagridState.row;
33
35
  return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
34
- className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded))
36
+ className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), _cx))
35
37
  }, row.getRowProps(), {
36
38
  key: row.id,
37
39
  onMouseEnter: function onMouseEnter(event) {
@@ -42,6 +42,7 @@ var useExpandedRow = function useExpandedRow(hooks) {
42
42
  return _objectSpread(_objectSpread({}, row), {}, {
43
43
  canExpand: row.original && !row.original.notExpandable,
44
44
  expandedContentHeight: expandedRowsHeight[row.index] || expandedContentHeight,
45
+ // RowRenderer: DatagridExpandedRow(row.RowRenderer, expansionRenderer),
45
46
  RowRenderer: (0, _DatagridExpandedRow.default)(row.RowRenderer, ExpandedRowContentComponent)
46
47
  });
47
48
  });
@@ -13,16 +13,23 @@ exports.default = void 0;
13
13
  * restricted by GSA ADP Schedule Contract with IBM Corp.
14
14
  */
15
15
  var useOnRowClick = function useOnRowClick(hooks) {
16
- var useInstance = function useInstance(instance) {
17
- var onRowClick = instance.onRowClick;
16
+ var useInstance = function useInstance(rowInstance) {
17
+ var onRowClick = rowInstance.onRowClick;
18
18
 
19
19
  var getRowProps = function getRowProps(props, datagridState) {
20
20
  var isFetching = datagridState.isFetching,
21
- row = datagridState.row;
21
+ row = datagridState.row,
22
+ instance = datagridState.instance;
23
+ var id = row.id,
24
+ toggleRowSelected = row.toggleRowSelected;
22
25
 
23
26
  var onClick = function onClick() {
24
27
  if (!isFetching && onRowClick) {
25
28
  onRowClick(row);
29
+ instance.selectedFlatRows && instance.selectedFlatRows.map(function (toggleRow) {
30
+ return toggleRow.toggleRowSelected(false);
31
+ });
32
+ toggleRowSelected(id, true);
26
33
  }
27
34
  };
28
35
 
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EditFullPage = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _devtools = require("../../global/js/utils/devtools");
21
+
22
+ var _settings = require("../../settings");
23
+
24
+ var _excluded = ["children", "className"];
25
+ // Carbon and package components we use.
26
+
27
+ /* TODO: @import(s) of carbon components and other package components. */
28
+ // The block part of our conventional BEM class names (blockClass__E--M).
29
+ var blockClass = "".concat(_settings.pkg.prefix, "--edit-full-page");
30
+ var componentName = 'EditFullPage'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
31
+ // Default values can be included here and then assigned to the prop params,
32
+ // e.g. prop = defaults.prop,
33
+ // This gathers default values together neatly and ensures non-primitive
34
+ // values are initialized early to avoid react making unnecessary re-renders.
35
+ // Note that default values are not required for props that are 'required',
36
+ // nor for props where the component can apply undefined values reasonably.
37
+ // Default values should be provided when the component needs to make a choice
38
+ // or assumption when a prop is not supplied.
39
+ // Default values for props
40
+ // const defaults = {
41
+ // /* TODO: add defaults for relevant props if needed */
42
+ // };
43
+
44
+ /**
45
+ * TODO: A description of the component.
46
+ */
47
+
48
+ var EditFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
49
+ var children = _ref.children,
50
+ className = _ref.className,
51
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
52
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
53
+ className: (0, _classnames.default)(blockClass, // Apply the block class to the main HTML element
54
+ className, // Apply any supplied class names to the main HTML element.
55
+ // example: `${blockClass}__template-string-class-${kind}-n-${size}`,
56
+ {// switched classes dependant on props or state
57
+ // example: [`${blockClass}__here-if-small`]: size === 'sm',
58
+ }),
59
+ ref: ref,
60
+ role: "main"
61
+ }, (0, _devtools.getDevtoolsProps)(componentName)), children);
62
+ }); // Return a placeholder if not released and not enabled by feature flag
63
+
64
+
65
+ exports.EditFullPage = EditFullPage;
66
+ exports.EditFullPage = EditFullPage = _settings.pkg.checkComponentEnabled(EditFullPage, componentName); // The display name of the component, used by React. Note that displayName
67
+ // is used in preference to relying on function.name.
68
+
69
+ EditFullPage.displayName = componentName; // The types and DocGen commentary for the component props,
70
+ // in alphabetical order (for consistency).
71
+ // See https://www.npmjs.com/package/prop-types#usage.
72
+
73
+ EditFullPage.propTypes = {
74
+ /**
75
+ * Provide the contents of the EditFullPage.
76
+ */
77
+ children: _propTypes.default.node.isRequired,
78
+
79
+ /**
80
+ * Provide an optional class to be applied to the containing node.
81
+ */
82
+ className: _propTypes.default.string
83
+ /* TODO: add types and DocGen for all props. */
84
+
85
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EditFullPage", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _EditFullPage.EditFullPage;
10
+ }
11
+ });
12
+
13
+ var _EditFullPage = require("./EditFullPage");
@@ -0,0 +1,229 @@
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.FormNumberContext = exports.FormContext = exports.EditTearsheet = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ var _carbonComponentsReact = require("carbon-components-react");
25
+
26
+ var _settings = require("../../settings");
27
+
28
+ var _devtools = require("../../global/js/utils/devtools");
29
+
30
+ var _TearsheetShell = require("../Tearsheet/TearsheetShell");
31
+
32
+ var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onHandleModalClick"];
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ var componentName = 'EditTearsheet';
39
+ var blockClass = "".concat(_settings.pkg.prefix, "--tearsheet-edit"); // This is a general context for the forms container
40
+ // containing information about the state of the container
41
+ // and providing some callback methods for forms to use
42
+
43
+ var FormContext = /*#__PURE__*/(0, _react.createContext)(null); // This is a context supplied separately to each form in the container
44
+ // to let it know what number it is in the sequence of forms
45
+
46
+ exports.FormContext = FormContext;
47
+ var FormNumberContext = /*#__PURE__*/(0, _react.createContext)(0); // Default values for props
48
+
49
+ exports.FormNumberContext = FormNumberContext;
50
+ var defaults = {
51
+ verticalPosition: 'normal',
52
+ influencerWidth: 'narrow'
53
+ };
54
+ var EditTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
55
+ var cancelButtonText = _ref.cancelButtonText,
56
+ children = _ref.children,
57
+ className = _ref.className,
58
+ description = _ref.description,
59
+ _ref$influencerWidth = _ref.influencerWidth,
60
+ influencerWidth = _ref$influencerWidth === void 0 ? defaults.influencerWidth : _ref$influencerWidth,
61
+ label = _ref.label,
62
+ onClose = _ref.onClose,
63
+ open = _ref.open,
64
+ submitButtonText = _ref.submitButtonText,
65
+ title = _ref.title,
66
+ _ref$verticalPosition = _ref.verticalPosition,
67
+ verticalPosition = _ref$verticalPosition === void 0 ? defaults.verticalPosition : _ref$verticalPosition,
68
+ onHandleModalClick = _ref.onHandleModalClick,
69
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
70
+
71
+ var _useState = (0, _react.useState)(0),
72
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
73
+ currentForm = _useState2[0],
74
+ setCurrentForm = _useState2[1];
75
+
76
+ var contentRef = (0, _react.useRef)();
77
+
78
+ var handleCurrentForm = function handleCurrentForm(form) {
79
+ setCurrentForm(form);
80
+ };
81
+
82
+ var sideNavItems = [{
83
+ label: 'Topic Name'
84
+ }, {
85
+ label: 'Location'
86
+ }, {
87
+ label: 'Partitions'
88
+ }, {
89
+ label: 'Message retention'
90
+ }];
91
+
92
+ var influencer = /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "tearsheet-stories__dummy-influencer-block"
94
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.SideNav, {
95
+ "aria-label": "Side navigation",
96
+ className: "".concat(blockClass, "__side-nav"),
97
+ expanded: true,
98
+ isFixedNav: false
99
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.SideNavItems, null, sideNavItems.map(function (item, index) {
100
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.SideNavMenuItem, {
101
+ key: index,
102
+ onClick: function onClick() {
103
+ return handleCurrentForm(index);
104
+ },
105
+ isActive: currentForm === index
106
+ }, item.label);
107
+ }))));
108
+
109
+ return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, (0, _extends2.default)({}, rest, (0, _devtools.getDevtoolsProps)(componentName), {
110
+ actions: [{
111
+ label: submitButtonText,
112
+ onClick: onHandleModalClick,
113
+ kind: 'primary'
114
+ }, {
115
+ label: cancelButtonText,
116
+ onClick: onHandleModalClick,
117
+ kind: 'secondary'
118
+ }],
119
+ className: (0, _classnames.default)(blockClass, className),
120
+ description: description,
121
+ hasCloseIcon: false,
122
+ influencer: influencer,
123
+ influencerPosition: "left",
124
+ influencerWidth: influencerWidth,
125
+ label: label,
126
+ onClose: onClose,
127
+ open: open,
128
+ size: "wide",
129
+ title: title,
130
+ verticalPosition: verticalPosition,
131
+ ref: ref
132
+ }), /*#__PURE__*/_react.default.createElement("div", {
133
+ className: "".concat(blockClass, "__content"),
134
+ ref: contentRef,
135
+ role: "main"
136
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Grid, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Form, null, /*#__PURE__*/_react.default.createElement(FormContext.Provider, {
137
+ value: {
138
+ currentForm: currentForm
139
+ }
140
+ }, _react.default.Children.map(children, function (child, index) {
141
+ return /*#__PURE__*/_react.default.createElement(FormNumberContext.Provider, {
142
+ value: index
143
+ }, child);
144
+ }))))));
145
+ }); // Return a placeholder if not released and not enabled by feature flag
146
+
147
+ exports.EditTearsheet = EditTearsheet;
148
+ exports.EditTearsheet = EditTearsheet = _settings.pkg.checkComponentEnabled(EditTearsheet, componentName); // The display name of the component, used by React. Note that displayName
149
+ // is used in preference to relying on function.name.
150
+
151
+ EditTearsheet.displayName = componentName; // Note that the descriptions here should be kept in sync with those for the
152
+ // corresponding props for TearsheetNarrow and TearsheetShell components.
153
+
154
+ EditTearsheet.propTypes = {
155
+ /**
156
+ * The cancel button text
157
+ */
158
+ cancelButtonText: _propTypes.default.string,
159
+
160
+ /**
161
+ * The main content of the tearsheet
162
+ */
163
+ children: _propTypes.default.node,
164
+
165
+ /**
166
+ * An optional class or classes to be added to the outermost element.
167
+ */
168
+ className: _propTypes.default.string,
169
+
170
+ /**
171
+ * A description of the flow, displayed in the header area of the tearsheet.
172
+ */
173
+ description: _propTypes.default.node,
174
+
175
+ /**
176
+ * The content for the influencer section of the tearsheet, displayed
177
+ * alongside the main content. This is typically a menu, or filter, or
178
+ * progress indicator, or similar.
179
+ */
180
+ influencer: _propTypes.default.element,
181
+
182
+ /**
183
+ * Used to set the size of the influencer
184
+ */
185
+ influencerWidth: _propTypes.default.oneOf(['narrow', 'wide']),
186
+
187
+ /**
188
+ * A label for the tearsheet, displayed in the header area of the tearsheet
189
+ * to maintain context for the tearsheet (e.g. as the title changes from page
190
+ * to page of a multi-page task).
191
+ */
192
+ label: _propTypes.default.node,
193
+
194
+ /**
195
+ * An optional handler that is called when the user closes the tearsheet (by
196
+ * clicking the close button, if enabled, or clicking outside, if enabled).
197
+ * Returning `false` here prevents the modal from closing.
198
+ */
199
+ onClose: _propTypes.default.func,
200
+
201
+ /**
202
+ * Specifies whether the tearsheet is currently open.
203
+ */
204
+ onHandleModalClick: _propTypes.default.func,
205
+
206
+ /**
207
+ * Specifies whether the tearsheet is currently open.
208
+ */
209
+ open: _propTypes.default.bool,
210
+
211
+ /**
212
+ * The submit button text
213
+ */
214
+ submitButtonText: _propTypes.default.string,
215
+
216
+ /**
217
+ * The main title of the tearsheet, displayed in the header area.
218
+ */
219
+ title: _propTypes.default.node,
220
+
221
+ /**
222
+ * The position of the top of tearsheet in the viewport. The 'normal'
223
+ * position (the default) is a short distance down from the top of the
224
+ * viewport, leaving room at the top for a global header bar to show through
225
+ * from below. The 'lower' position provides a little extra room at the top
226
+ * to allow an action bar navigation or breadcrumbs to also show through.
227
+ */
228
+ verticalPosition: _propTypes.default.oneOf(['normal', 'lower'])
229
+ };
@@ -0,0 +1,122 @@
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.EditTearsheetForm = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ var _carbonComponentsReact = require("carbon-components-react");
25
+
26
+ var _EditTearsheet = require("./EditTearsheet");
27
+
28
+ var _settings = require("../../settings");
29
+
30
+ var _pconsole = _interopRequireDefault(require("../../global/js/utils/pconsole"));
31
+
32
+ var _excluded = ["children", "className", "description", "fieldsetLegendText", "hasFieldset", "subtitle", "title"];
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ var componentName = 'EditTearsheetForm';
39
+ var blockClass = "".concat(_settings.pkg.prefix, "--tearsheet-edit__form"); // Default values for props
40
+
41
+ var defaults = {
42
+ hasFieldset: true
43
+ };
44
+ var EditTearsheetForm = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
45
+ var _cx;
46
+
47
+ var children = _ref.children,
48
+ className = _ref.className,
49
+ description = _ref.description,
50
+ fieldsetLegendText = _ref.fieldsetLegendText,
51
+ _ref$hasFieldset = _ref.hasFieldset,
52
+ hasFieldset = _ref$hasFieldset === void 0 ? defaults.hasFieldset : _ref$hasFieldset,
53
+ subtitle = _ref.subtitle,
54
+ title = _ref.title,
55
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
56
+ var formContext = (0, _react.useContext)(_EditTearsheet.FormContext);
57
+ var formNumber = (0, _react.useContext)(_EditTearsheet.FormNumberContext);
58
+ return formContext ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
59
+ className: (0, _classnames.default)(blockClass, className, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__form--hidden-form"), formNumber !== (formContext === null || formContext === void 0 ? void 0 : formContext.currentForm)), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__form--visible-form"), formNumber === (formContext === null || formContext === void 0 ? void 0 : formContext.currentForm)), _cx)),
60
+ ref: ref
61
+ }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Row, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Column, {
62
+ xlg: 12,
63
+ lg: 12,
64
+ md: 8,
65
+ sm: 8
66
+ }, /*#__PURE__*/_react.default.createElement("h4", {
67
+ className: "".concat(blockClass, "--title")
68
+ }, title), subtitle && /*#__PURE__*/_react.default.createElement("h6", {
69
+ className: "".concat(blockClass, "--subtitle")
70
+ }, subtitle), description && /*#__PURE__*/_react.default.createElement("p", {
71
+ className: "".concat(blockClass, "--description")
72
+ }, description))), hasFieldset ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.FormGroup, {
73
+ legendText: fieldsetLegendText,
74
+ className: "".concat(blockClass, "--fieldset")
75
+ }, children) : children) : _pconsole.default.warn("You have tried using a ".concat(componentName, " component outside of a EditTearsheet. This is not allowed. ").concat(componentName, "s should always be children of the EditTearsheet"));
76
+ }); // Return a placeholder if not released and not enabled by feature flag
77
+
78
+ exports.EditTearsheetForm = EditTearsheetForm;
79
+ exports.EditTearsheetForm = EditTearsheetForm = _settings.pkg.checkComponentEnabled(EditTearsheetForm, componentName);
80
+ EditTearsheetForm.propTypes = {
81
+ /**
82
+ * Content that shows in the tearsheet form
83
+ */
84
+ children: _propTypes.default.node,
85
+
86
+ /**
87
+ * Sets an optional className to be added to the tearsheet form
88
+ */
89
+ className: _propTypes.default.string,
90
+
91
+ /**
92
+ * Sets an optional description on the form component
93
+ */
94
+ description: _propTypes.default.string,
95
+
96
+ /**
97
+ * This is the required legend text that appears above a fieldset html element for accessibility purposes.
98
+ * You can set the `hasFieldset` prop to false if you have multiple fieldset elements or want to control the children of your Full Page's form content.
99
+ * Otherwise, use CSS to hide/remove this label text.
100
+ */
101
+ fieldsetLegendText: _propTypes.default.string.isRequired.if(function (_ref2) {
102
+ var hasFieldset = _ref2.hasFieldset;
103
+ return !!hasFieldset;
104
+ }),
105
+
106
+ /**
107
+ * This optional prop will render your form content inside of a fieldset html element
108
+ * and is defaulted to true.
109
+ * You can set this prop to `false` if you have multiple fieldset elements or want to control the children of your Full Page's form content.
110
+ */
111
+ hasFieldset: _propTypes.default.bool,
112
+
113
+ /**
114
+ * Sets an optional subtitle on the form component
115
+ */
116
+ subtitle: _propTypes.default.string,
117
+
118
+ /**
119
+ * Sets the title text for a tearsheet form
120
+ */
121
+ title: _propTypes.default.node.isRequired
122
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EditTearsheet", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _EditTearsheet.EditTearsheet;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "EditTearsheetForm", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _EditTearsheetForm.EditTearsheetForm;
16
+ }
17
+ });
18
+
19
+ var _EditTearsheet = require("./EditTearsheet");
20
+
21
+ var _EditTearsheetForm = require("./EditTearsheetForm");