@carbon/ibm-products 2.43.1-canary.3 → 2.43.1-canary.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -195,6 +195,9 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
195
195
  expandedRowIds?: object;
196
196
  onRowClick?: (row: any, event: any) => void;
197
197
  onSort?: boolean;
198
+ expandedContentHeight?: number;
199
+ onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
200
+ ExpandedRowContentComponent?: JSXElementConstructor<any>;
198
201
  }
199
202
  export interface ResizeHeaderProps {
200
203
  resizerProps?: ResizerProps;
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useExpandedRow: (hooks: Hooks) => void;
1
9
  export default useExpandedRow;
2
- declare function useExpandedRow(hooks: any): void;
@@ -13,10 +13,11 @@ import useRowExpander from './useRowExpander.js';
13
13
  var useExpandedRow = function useExpandedRow(hooks) {
14
14
  useRowExpander(hooks);
15
15
  var useInstance = function useInstance(instance) {
16
- var rows = instance.rows,
17
- expandedContentHeight = instance.expandedContentHeight,
18
- ExpandedRowContentComponent = instance.ExpandedRowContentComponent,
19
- onRowExpand = instance.onRowExpand;
16
+ var _ref = instance,
17
+ rows = _ref.rows,
18
+ expandedContentHeight = _ref.expandedContentHeight,
19
+ ExpandedRowContentComponent = _ref.ExpandedRowContentComponent,
20
+ onRowExpand = _ref.onRowExpand;
20
21
  var _useState = useState({}),
21
22
  _useState2 = _slicedToArray(_useState, 2),
22
23
  expandedRowsHeight = _useState2[0],
@@ -28,7 +29,7 @@ var useExpandedRow = function useExpandedRow(hooks) {
28
29
  return _objectSpread2(_objectSpread2({}, row), {}, {
29
30
  canExpand: row.original && !row.original.notExpandable,
30
31
  expandedContentHeight: expandedRowsHeight[row.index] || expandedContentHeight,
31
- RowExpansionRenderer: DatagridExpandedRow(ExpandedRowContentComponent),
32
+ RowExpansionRenderer: ExpandedRowContentComponent && DatagridExpandedRow(ExpandedRowContentComponent),
32
33
  onClick: function onClick(row, event) {
33
34
  return onRowExpand === null || onRowExpand === void 0 ? void 0 : onRowExpand(row, event);
34
35
  }
@@ -1,7 +1,82 @@
1
- export const FormContext: React.Context<null>;
2
- export const FormNumberContext: React.Context<number>;
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React, { ReactNode, PropsWithChildren } from 'react';
8
+ export declare const FormContext: React.Context<null>;
9
+ export declare const FormNumberContext: React.Context<number>;
10
+ interface EditTearsheetProps extends PropsWithChildren {
11
+ /**
12
+ * The cancel button text
13
+ */
14
+ cancelButtonText?: string;
15
+ /**
16
+ * The main content of the tearsheet
17
+ */
18
+ children?: ReactNode;
19
+ /**
20
+ * An optional class or classes to be added to the outermost element.
21
+ */
22
+ className?: string;
23
+ /**
24
+ * A description of the flow, displayed in the header area of the tearsheet.
25
+ */
26
+ description?: ReactNode;
27
+ /**
28
+ * Used to set the size of the influencer
29
+ */
30
+ influencerWidth?: 'narrow' | 'wide';
31
+ /**
32
+ * A label for the tearsheet, displayed in the header area of the tearsheet
33
+ * to maintain context for the tearsheet (e.g. as the title changes from page
34
+ * to page of a multi-page task).
35
+ */
36
+ label?: ReactNode;
37
+ /**
38
+ * An optional handler that is called when the user closes the tearsheet (by
39
+ * clicking the close button, if enabled, or clicking outside, if enabled).
40
+ * Returning `false` here prevents the modal from closing.
41
+ */
42
+ onClose?: () => boolean | void;
43
+ /**
44
+ * An optional handler that is called when a user changes forms via clicking
45
+ * an influencer nav item.
46
+ * Returns the index of the selected form.
47
+ */
48
+ onFormChange?: (formIndex: number) => number;
49
+ /**
50
+ * Specify a handler for submitting the tearsheet.
51
+ */
52
+ onRequestSubmit: () => void;
53
+ /**
54
+ * Specifies whether the tearsheet is currently open.
55
+ */
56
+ open?: boolean;
57
+ /**
58
+ * Specifies the aria label for the SideNav from Carbon UIShell
59
+ */
60
+ sideNavAriaLabel?: string;
61
+ /**
62
+ * The submit button text
63
+ */
64
+ submitButtonText?: string;
65
+ /**
66
+ * The main title of the tearsheet, displayed in the header area.
67
+ */
68
+ title?: ReactNode;
69
+ /**
70
+ * The position of the top of tearsheet in the viewport. The 'normal'
71
+ * position (the default) is a short distance down from the top of the
72
+ * viewport, leaving room at the top for a global header bar to show through
73
+ * from below. The 'lower' position provides a little extra room at the top
74
+ * to allow an action bar navigation or breadcrumbs to also show through.
75
+ */
76
+ verticalPosition?: 'normal' | 'lower';
77
+ }
3
78
  /**
4
79
  * Use Tearsheet with medium to complex edits. See usage guidance for further information.
5
80
  */
6
- export let EditTearsheet: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
7
- import React from 'react';
81
+ export declare let EditTearsheet: React.ForwardRefExoticComponent<EditTearsheetProps & React.RefAttributes<HTMLDivElement>>;
82
+ export {};
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { forwardRef, useState, useRef, createContext } from 'react';
10
10
  import PropTypes from '../../node_modules/prop-types/index.js';
11
11
  import cx from 'classnames';
@@ -13,6 +13,7 @@ import { Form, SideNav, SideNavItems, SideNavMenuItem } from '@carbon/react';
13
13
  import { pkg } from '../../settings.js';
14
14
  import { getDevtoolsProps } from '../../global/js/utils/devtools.js';
15
15
  import { TearsheetShell } from '../Tearsheet/TearsheetShell.js';
16
+ import { prepareProps } from '../../global/js/utils/props-helper.js';
16
17
 
17
18
  var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onRequestSubmit", "onFormChange", "sideNavAriaLabel"];
18
19
  var componentName = 'EditTearsheet';
@@ -34,6 +35,9 @@ var defaults = {
34
35
  sideNavAriaLabel: 'Side navigation'
35
36
  };
36
37
 
38
+ // Note that the descriptions here should be kept in sync with those for the
39
+ // corresponding props for TearsheetNarrow and TearsheetShell components.
40
+
37
41
  /**
38
42
  * Use Tearsheet with medium to complex edits. See usage guidance for further information.
39
43
  */
@@ -56,6 +60,17 @@ var EditTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
56
60
  _ref$sideNavAriaLabel = _ref.sideNavAriaLabel,
57
61
  sideNavAriaLabel = _ref$sideNavAriaLabel === void 0 ? defaults.sideNavAriaLabel : _ref$sideNavAriaLabel,
58
62
  rest = _objectWithoutProperties(_ref, _excluded);
63
+ var actions = [{
64
+ key: 'edit-action-button-submit',
65
+ label: submitButtonText,
66
+ onClick: onRequestSubmit,
67
+ kind: 'primary'
68
+ }, {
69
+ key: 'edit-action-button-cancel',
70
+ label: cancelButtonText,
71
+ onClick: onClose,
72
+ kind: 'ghost'
73
+ }];
59
74
  var _useState = useState(0),
60
75
  _useState2 = _slicedToArray(_useState, 2),
61
76
  currentForm = _useState2[0],
@@ -64,7 +79,7 @@ var EditTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
64
79
  _useState4 = _slicedToArray(_useState3, 2),
65
80
  formTitles = _useState4[0],
66
81
  setFormTitles = _useState4[1];
67
- var contentRef = useRef();
82
+ var contentRef = useRef(null);
68
83
  var handleCurrentForm = function handleCurrentForm(formIndex) {
69
84
  setCurrentForm(formIndex);
70
85
  if (onFormChange) {
@@ -89,30 +104,22 @@ var EditTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
89
104
  }, title);
90
105
  }))));
91
106
  }
92
- return /*#__PURE__*/React__default.createElement(TearsheetShell, _extends({}, rest, getDevtoolsProps(componentName), {
93
- actions: [{
94
- key: 'edit-action-button-submit',
95
- label: submitButtonText,
96
- onClick: onRequestSubmit,
97
- kind: 'primary'
98
- }, {
99
- key: 'edit-action-button-cancel',
100
- label: cancelButtonText,
101
- onClick: onClose,
102
- kind: 'ghost'
103
- }],
107
+ return /*#__PURE__*/React__default.createElement(TearsheetShell, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, getDevtoolsProps(componentName)), prepareProps(rest)), {}, {
108
+ actions: actions,
109
+ children: children,
104
110
  className: cx(blockClass, className),
105
111
  description: description,
106
- hasCloseIcon: false,
107
- influencer: defaultInfluencer(),
108
- influencerPosition: "left",
112
+ influencerPosition: 'left',
109
113
  influencerWidth: influencerWidth,
110
114
  label: label,
111
115
  onClose: onClose,
112
116
  open: open,
113
- size: "wide",
117
+ size: 'wide',
114
118
  title: title,
115
- verticalPosition: verticalPosition,
119
+ verticalPosition: verticalPosition
120
+ }, rest), {}, {
121
+ hasCloseIcon: false,
122
+ influencer: defaultInfluencer(),
116
123
  ref: ref
117
124
  }), /*#__PURE__*/React__default.createElement("div", {
118
125
  className: "".concat(blockClass, "__content"),
@@ -195,6 +195,9 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
195
195
  expandedRowIds?: object;
196
196
  onRowClick?: (row: any, event: any) => void;
197
197
  onSort?: boolean;
198
+ expandedContentHeight?: number;
199
+ onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
200
+ ExpandedRowContentComponent?: JSXElementConstructor<any>;
198
201
  }
199
202
  export interface ResizeHeaderProps {
200
203
  resizerProps?: ResizerProps;
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useExpandedRow: (hooks: Hooks) => void;
1
9
  export default useExpandedRow;
2
- declare function useExpandedRow(hooks: any): void;
@@ -17,10 +17,11 @@ var useRowExpander = require('./useRowExpander.js');
17
17
  var useExpandedRow = function useExpandedRow(hooks) {
18
18
  useRowExpander["default"](hooks);
19
19
  var useInstance = function useInstance(instance) {
20
- var rows = instance.rows,
21
- expandedContentHeight = instance.expandedContentHeight,
22
- ExpandedRowContentComponent = instance.ExpandedRowContentComponent,
23
- onRowExpand = instance.onRowExpand;
20
+ var _ref = instance,
21
+ rows = _ref.rows,
22
+ expandedContentHeight = _ref.expandedContentHeight,
23
+ ExpandedRowContentComponent = _ref.ExpandedRowContentComponent,
24
+ onRowExpand = _ref.onRowExpand;
24
25
  var _useState = React.useState({}),
25
26
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
26
27
  expandedRowsHeight = _useState2[0],
@@ -32,7 +33,7 @@ var useExpandedRow = function useExpandedRow(hooks) {
32
33
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, row), {}, {
33
34
  canExpand: row.original && !row.original.notExpandable,
34
35
  expandedContentHeight: expandedRowsHeight[row.index] || expandedContentHeight,
35
- RowExpansionRenderer: DatagridExpandedRow["default"](ExpandedRowContentComponent),
36
+ RowExpansionRenderer: ExpandedRowContentComponent && DatagridExpandedRow["default"](ExpandedRowContentComponent),
36
37
  onClick: function onClick(row, event) {
37
38
  return onRowExpand === null || onRowExpand === void 0 ? void 0 : onRowExpand(row, event);
38
39
  }
@@ -1,7 +1,82 @@
1
- export const FormContext: React.Context<null>;
2
- export const FormNumberContext: React.Context<number>;
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React, { ReactNode, PropsWithChildren } from 'react';
8
+ export declare const FormContext: React.Context<null>;
9
+ export declare const FormNumberContext: React.Context<number>;
10
+ interface EditTearsheetProps extends PropsWithChildren {
11
+ /**
12
+ * The cancel button text
13
+ */
14
+ cancelButtonText?: string;
15
+ /**
16
+ * The main content of the tearsheet
17
+ */
18
+ children?: ReactNode;
19
+ /**
20
+ * An optional class or classes to be added to the outermost element.
21
+ */
22
+ className?: string;
23
+ /**
24
+ * A description of the flow, displayed in the header area of the tearsheet.
25
+ */
26
+ description?: ReactNode;
27
+ /**
28
+ * Used to set the size of the influencer
29
+ */
30
+ influencerWidth?: 'narrow' | 'wide';
31
+ /**
32
+ * A label for the tearsheet, displayed in the header area of the tearsheet
33
+ * to maintain context for the tearsheet (e.g. as the title changes from page
34
+ * to page of a multi-page task).
35
+ */
36
+ label?: ReactNode;
37
+ /**
38
+ * An optional handler that is called when the user closes the tearsheet (by
39
+ * clicking the close button, if enabled, or clicking outside, if enabled).
40
+ * Returning `false` here prevents the modal from closing.
41
+ */
42
+ onClose?: () => boolean | void;
43
+ /**
44
+ * An optional handler that is called when a user changes forms via clicking
45
+ * an influencer nav item.
46
+ * Returns the index of the selected form.
47
+ */
48
+ onFormChange?: (formIndex: number) => number;
49
+ /**
50
+ * Specify a handler for submitting the tearsheet.
51
+ */
52
+ onRequestSubmit: () => void;
53
+ /**
54
+ * Specifies whether the tearsheet is currently open.
55
+ */
56
+ open?: boolean;
57
+ /**
58
+ * Specifies the aria label for the SideNav from Carbon UIShell
59
+ */
60
+ sideNavAriaLabel?: string;
61
+ /**
62
+ * The submit button text
63
+ */
64
+ submitButtonText?: string;
65
+ /**
66
+ * The main title of the tearsheet, displayed in the header area.
67
+ */
68
+ title?: ReactNode;
69
+ /**
70
+ * The position of the top of tearsheet in the viewport. The 'normal'
71
+ * position (the default) is a short distance down from the top of the
72
+ * viewport, leaving room at the top for a global header bar to show through
73
+ * from below. The 'lower' position provides a little extra room at the top
74
+ * to allow an action bar navigation or breadcrumbs to also show through.
75
+ */
76
+ verticalPosition?: 'normal' | 'lower';
77
+ }
3
78
  /**
4
79
  * Use Tearsheet with medium to complex edits. See usage guidance for further information.
5
80
  */
6
- export let EditTearsheet: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
7
- import React from 'react';
81
+ export declare let EditTearsheet: React.ForwardRefExoticComponent<EditTearsheetProps & React.RefAttributes<HTMLDivElement>>;
82
+ export {};
@@ -17,6 +17,7 @@ var react = require('@carbon/react');
17
17
  var settings = require('../../settings.js');
18
18
  var devtools = require('../../global/js/utils/devtools.js');
19
19
  var TearsheetShell = require('../Tearsheet/TearsheetShell.js');
20
+ var propsHelper = require('../../global/js/utils/props-helper.js');
20
21
 
21
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
23
 
@@ -43,6 +44,9 @@ var defaults = {
43
44
  sideNavAriaLabel: 'Side navigation'
44
45
  };
45
46
 
47
+ // Note that the descriptions here should be kept in sync with those for the
48
+ // corresponding props for TearsheetNarrow and TearsheetShell components.
49
+
46
50
  /**
47
51
  * Use Tearsheet with medium to complex edits. See usage guidance for further information.
48
52
  */
@@ -65,6 +69,17 @@ exports.EditTearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
69
  _ref$sideNavAriaLabel = _ref.sideNavAriaLabel,
66
70
  sideNavAriaLabel = _ref$sideNavAriaLabel === void 0 ? defaults.sideNavAriaLabel : _ref$sideNavAriaLabel,
67
71
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
72
+ var actions = [{
73
+ key: 'edit-action-button-submit',
74
+ label: submitButtonText,
75
+ onClick: onRequestSubmit,
76
+ kind: 'primary'
77
+ }, {
78
+ key: 'edit-action-button-cancel',
79
+ label: cancelButtonText,
80
+ onClick: onClose,
81
+ kind: 'ghost'
82
+ }];
68
83
  var _useState = React.useState(0),
69
84
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
70
85
  currentForm = _useState2[0],
@@ -73,7 +88,7 @@ exports.EditTearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
73
88
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
74
89
  formTitles = _useState4[0],
75
90
  setFormTitles = _useState4[1];
76
- var contentRef = React.useRef();
91
+ var contentRef = React.useRef(null);
77
92
  var handleCurrentForm = function handleCurrentForm(formIndex) {
78
93
  setCurrentForm(formIndex);
79
94
  if (onFormChange) {
@@ -98,30 +113,22 @@ exports.EditTearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
98
113
  }, title);
99
114
  }))));
100
115
  }
101
- return /*#__PURE__*/React__default["default"].createElement(TearsheetShell.TearsheetShell, _rollupPluginBabelHelpers["extends"]({}, rest, devtools.getDevtoolsProps(componentName), {
102
- actions: [{
103
- key: 'edit-action-button-submit',
104
- label: submitButtonText,
105
- onClick: onRequestSubmit,
106
- kind: 'primary'
107
- }, {
108
- key: 'edit-action-button-cancel',
109
- label: cancelButtonText,
110
- onClick: onClose,
111
- kind: 'ghost'
112
- }],
116
+ return /*#__PURE__*/React__default["default"].createElement(TearsheetShell.TearsheetShell, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, devtools.getDevtoolsProps(componentName)), propsHelper.prepareProps(rest)), {}, {
117
+ actions: actions,
118
+ children: children,
113
119
  className: cx__default["default"](blockClass, className),
114
120
  description: description,
115
- hasCloseIcon: false,
116
- influencer: defaultInfluencer(),
117
- influencerPosition: "left",
121
+ influencerPosition: 'left',
118
122
  influencerWidth: influencerWidth,
119
123
  label: label,
120
124
  onClose: onClose,
121
125
  open: open,
122
- size: "wide",
126
+ size: 'wide',
123
127
  title: title,
124
- verticalPosition: verticalPosition,
128
+ verticalPosition: verticalPosition
129
+ }, rest), {}, {
130
+ hasCloseIcon: false,
131
+ influencer: defaultInfluencer(),
125
132
  ref: ref
126
133
  }), /*#__PURE__*/React__default["default"].createElement("div", {
127
134
  className: "".concat(blockClass, "__content"),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.43.1-canary.3+8929392ba",
4
+ "version": "2.43.1-canary.5+2e7a930f9",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -121,5 +121,5 @@
121
121
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
122
122
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
123
123
  },
124
- "gitHead": "8929392ba3157e6621cadf2add03b78913a55318"
124
+ "gitHead": "2e7a930f99fd6dcadd47a328793ce6a259dc144e"
125
125
  }