@carbon/ibm-products 2.32.0 → 2.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. package/css/index-full-carbon.css +351 -3
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +351 -3
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +351 -3
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +1 -1
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/ActionBar/ActionBar.js +8 -1
  14. package/es/components/CreateSidePanel/CreateSidePanel.d.ts +81 -2
  15. package/es/components/CreateSidePanel/CreateSidePanel.js +5 -2
  16. package/es/components/CreateTearsheet/CreateTearsheetDivider.d.ts +12 -1
  17. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +1 -1
  18. package/es/components/DataSpreadsheet/DataSpreadsheet.js +39 -145
  19. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +60 -112
  20. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.d.ts +3 -1
  21. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +10 -3
  22. package/es/components/DataSpreadsheet/utils/commonEventHandlers.d.ts +4 -0
  23. package/es/components/DataSpreadsheet/utils/commonEventHandlers.js +304 -0
  24. package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -1
  25. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +4 -1
  26. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  27. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  28. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +6 -2
  29. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.d.ts +1 -1
  30. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -0
  31. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  32. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +4 -3
  33. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +5 -5
  34. package/es/components/Datagrid/useRowSize.js +4 -2
  35. package/es/components/DescriptionList/DescriptionList.d.ts +0 -37
  36. package/es/components/DescriptionList/DescriptionList.js +7 -12
  37. package/es/components/DescriptionList/DescriptionListBody.d.ts +2 -0
  38. package/es/components/DescriptionList/DescriptionListBody.js +39 -0
  39. package/es/components/DescriptionList/DescriptionListCell.d.ts +2 -0
  40. package/es/components/DescriptionList/DescriptionListCell.js +39 -0
  41. package/es/components/DescriptionList/DescriptionListRow.d.ts +2 -0
  42. package/es/components/DescriptionList/DescriptionListRow.js +41 -0
  43. package/es/components/DescriptionList/index.d.ts +4 -1
  44. package/es/components/EditSidePanel/EditSidePanel.d.ts +92 -2
  45. package/es/components/EditSidePanel/EditSidePanel.js +8 -10
  46. package/es/components/FilterPanel/FilterPanel.d.ts +5 -0
  47. package/es/components/FilterPanel/FilterPanel.js +55 -0
  48. package/es/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.d.ts +5 -0
  49. package/es/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.js +83 -0
  50. package/es/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.d.ts +5 -0
  51. package/es/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.js +94 -0
  52. package/es/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.d.ts +5 -0
  53. package/es/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.js +80 -0
  54. package/es/components/FilterPanel/FilterPanelCheckbox/index.d.ts +1 -0
  55. package/es/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.d.ts +10 -0
  56. package/es/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.js +157 -0
  57. package/es/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.d.ts +5 -0
  58. package/es/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.js +72 -0
  59. package/es/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.d.ts +5 -0
  60. package/es/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.js +63 -0
  61. package/es/components/FilterPanel/FilterPanelLabel/index.d.ts +1 -0
  62. package/es/components/FilterPanel/index.d.ts +7 -0
  63. package/es/components/OptionsTile/OptionsTile.d.ts +77 -3
  64. package/es/components/OptionsTile/OptionsTile.js +9 -20
  65. package/es/components/RemoveModal/RemoveModal.d.ts +81 -7
  66. package/es/components/RemoveModal/RemoveModal.js +1 -0
  67. package/es/components/ScrollGradient/ScrollGradient.d.ts +5 -0
  68. package/es/components/ScrollGradient/ScrollGradient.js +156 -0
  69. package/es/components/ScrollGradient/constants.d.ts +15 -0
  70. package/es/components/ScrollGradient/constants.js +121 -0
  71. package/es/components/ScrollGradient/index.d.ts +1 -0
  72. package/es/components/SidePanel/SidePanel.d.ts +144 -2
  73. package/es/components/SidePanel/SidePanel.js +88 -112
  74. package/es/components/StatusIcon/StatusIcon.d.ts +34 -2
  75. package/es/components/StatusIcon/StatusIcon.js +97 -95
  76. package/es/components/Tearsheet/TearsheetShell.js +9 -1
  77. package/es/components/Toolbar/ToolbarGroup.d.ts +17 -2
  78. package/es/components/Toolbar/ToolbarGroup.js +0 -1
  79. package/es/components/TruncatedList/TruncatedList.js +5 -3
  80. package/es/components/UserAvatar/UserAvatar.js +3 -2
  81. package/es/components/index.d.ts +4 -1
  82. package/es/global/js/hooks/useFocus.js +9 -2
  83. package/es/global/js/package-settings.d.ts +12 -0
  84. package/es/global/js/package-settings.js +12 -0
  85. package/es/index.js +12 -0
  86. package/es/settings.d.ts +12 -0
  87. package/lib/components/ActionBar/ActionBar.js +11 -6
  88. package/lib/components/CreateSidePanel/CreateSidePanel.d.ts +81 -2
  89. package/lib/components/CreateSidePanel/CreateSidePanel.js +5 -2
  90. package/lib/components/CreateTearsheet/CreateTearsheetDivider.d.ts +12 -1
  91. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +1 -1
  92. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +39 -145
  93. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +60 -112
  94. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.d.ts +3 -1
  95. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +9 -2
  96. package/lib/components/DataSpreadsheet/utils/commonEventHandlers.d.ts +4 -0
  97. package/lib/components/DataSpreadsheet/utils/commonEventHandlers.js +311 -0
  98. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -1
  99. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +4 -1
  100. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  101. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  102. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +5 -1
  103. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.d.ts +1 -1
  104. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -0
  105. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  106. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +4 -3
  107. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +5 -5
  108. package/lib/components/Datagrid/useRowSize.js +4 -2
  109. package/lib/components/DescriptionList/DescriptionList.d.ts +0 -37
  110. package/lib/components/DescriptionList/DescriptionList.js +6 -11
  111. package/lib/components/DescriptionList/DescriptionListBody.d.ts +2 -0
  112. package/lib/components/DescriptionList/DescriptionListBody.js +46 -0
  113. package/lib/components/DescriptionList/DescriptionListCell.d.ts +2 -0
  114. package/lib/components/DescriptionList/DescriptionListCell.js +46 -0
  115. package/lib/components/DescriptionList/DescriptionListRow.d.ts +2 -0
  116. package/lib/components/DescriptionList/DescriptionListRow.js +48 -0
  117. package/lib/components/DescriptionList/index.d.ts +4 -1
  118. package/lib/components/EditSidePanel/EditSidePanel.d.ts +92 -2
  119. package/lib/components/EditSidePanel/EditSidePanel.js +8 -10
  120. package/lib/components/FilterPanel/FilterPanel.d.ts +5 -0
  121. package/lib/components/FilterPanel/FilterPanel.js +62 -0
  122. package/lib/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.d.ts +5 -0
  123. package/lib/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.js +90 -0
  124. package/lib/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.d.ts +5 -0
  125. package/lib/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.js +101 -0
  126. package/lib/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.d.ts +5 -0
  127. package/lib/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.js +87 -0
  128. package/lib/components/FilterPanel/FilterPanelCheckbox/index.d.ts +1 -0
  129. package/lib/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.d.ts +10 -0
  130. package/lib/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.js +164 -0
  131. package/lib/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.d.ts +5 -0
  132. package/lib/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.js +79 -0
  133. package/lib/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.d.ts +5 -0
  134. package/lib/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.js +70 -0
  135. package/lib/components/FilterPanel/FilterPanelLabel/index.d.ts +1 -0
  136. package/lib/components/FilterPanel/index.d.ts +7 -0
  137. package/lib/components/OptionsTile/OptionsTile.d.ts +77 -3
  138. package/lib/components/OptionsTile/OptionsTile.js +9 -20
  139. package/lib/components/RemoveModal/RemoveModal.d.ts +81 -7
  140. package/lib/components/RemoveModal/RemoveModal.js +1 -0
  141. package/lib/components/ScrollGradient/ScrollGradient.d.ts +5 -0
  142. package/lib/components/ScrollGradient/ScrollGradient.js +163 -0
  143. package/lib/components/ScrollGradient/constants.d.ts +15 -0
  144. package/lib/components/ScrollGradient/constants.js +128 -0
  145. package/lib/components/ScrollGradient/index.d.ts +1 -0
  146. package/lib/components/SidePanel/SidePanel.d.ts +144 -2
  147. package/lib/components/SidePanel/SidePanel.js +88 -112
  148. package/lib/components/StatusIcon/StatusIcon.d.ts +34 -2
  149. package/lib/components/StatusIcon/StatusIcon.js +97 -95
  150. package/lib/components/Tearsheet/TearsheetShell.js +9 -1
  151. package/lib/components/Toolbar/ToolbarGroup.d.ts +17 -2
  152. package/lib/components/Toolbar/ToolbarGroup.js +0 -1
  153. package/lib/components/TruncatedList/TruncatedList.js +5 -3
  154. package/lib/components/UserAvatar/UserAvatar.js +3 -2
  155. package/lib/components/index.d.ts +4 -1
  156. package/lib/global/js/hooks/useFocus.js +9 -2
  157. package/lib/global/js/package-settings.d.ts +12 -0
  158. package/lib/global/js/package-settings.js +12 -0
  159. package/lib/index.js +60 -0
  160. package/lib/settings.d.ts +12 -0
  161. package/package.json +3 -3
  162. package/scss/components/FilterPanel/_carbon-imports.scss +9 -0
  163. package/scss/components/FilterPanel/_filter-panel-accordion-item.scss +56 -0
  164. package/scss/components/FilterPanel/_filter-panel-accordion.scss +6 -0
  165. package/scss/components/FilterPanel/_filter-panel-checkbox-with-overflow.scss +62 -0
  166. package/scss/components/FilterPanel/_filter-panel-checkbox.scss +54 -0
  167. package/scss/components/FilterPanel/_filter-panel-group.scss +39 -0
  168. package/scss/components/FilterPanel/_filter-panel-label.scss +39 -0
  169. package/scss/components/FilterPanel/_filter-panel.scss +31 -0
  170. package/scss/components/FilterPanel/_index-with-carbon.scss +15 -0
  171. package/scss/components/FilterPanel/_index.scss +14 -0
  172. package/scss/components/ScrollGradient/_carbon-imports.scss +9 -0
  173. package/scss/components/ScrollGradient/_index-with-carbon.scss +9 -0
  174. package/scss/components/ScrollGradient/_index.scss +8 -0
  175. package/scss/components/ScrollGradient/_scroll-gradient.scss +102 -0
  176. package/scss/components/UserAvatar/_user-avatar.scss +37 -4
  177. package/scss/components/_index-with-carbon.scss +2 -0
  178. package/scss/components/_index.scss +2 -0
@@ -0,0 +1,90 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var react = require('@carbon/react');
17
+ var devtools = require('../../../global/js/utils/devtools.js');
18
+ var settings = require('../../../settings.js');
19
+ var FilterPanelGroup = require('../FilterPanelGroup/FilterPanelGroup.js');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
+
26
+ var _excluded = ["accordionProps", "children", "className", "count", "labelText", "title"],
27
+ _excluded2 = ["align"];
28
+
29
+ // The block part of our conventional BEM class names (blockClass__E--M).
30
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-accordion");
31
+ var componentName = 'FilterPanelAccordion';
32
+ var defaults = {
33
+ accordionProps: {}
34
+ };
35
+
36
+ /**
37
+ * A container with a label and optional count.
38
+ */
39
+ exports.FilterPanelAccordion = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
40
+ var _ref$accordionProps = _ref.accordionProps,
41
+ accordionProps = _ref$accordionProps === void 0 ? defaults.accordionProps : _ref$accordionProps,
42
+ children = _ref.children,
43
+ className = _ref.className,
44
+ count = _ref.count,
45
+ labelText = _ref.labelText,
46
+ title = _ref.title,
47
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
48
+ var align = accordionProps.align,
49
+ otherAccordionProps = _rollupPluginBabelHelpers.objectWithoutProperties(accordionProps, _excluded2);
50
+ return /*#__PURE__*/React__default["default"].createElement(FilterPanelGroup.FilterPanelGroup, _rollupPluginBabelHelpers["extends"]({}, rest, {
51
+ className: cx__default["default"](blockClass, className),
52
+ count: count,
53
+ labelText: labelText,
54
+ ref: ref,
55
+ title: title
56
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement(react.Accordion, _rollupPluginBabelHelpers["extends"]({}, otherAccordionProps, {
57
+ align: align || 'start',
58
+ className: "".concat(blockClass, "__list")
59
+ }), children));
60
+ });
61
+
62
+ // Return a placeholder if not released and not enabled by feature flag
63
+ exports.FilterPanelAccordion = settings.pkg.checkComponentEnabled(exports.FilterPanelAccordion, componentName);
64
+ exports.FilterPanelAccordion.displayName = componentName;
65
+ exports.FilterPanelAccordion.propTypes = {
66
+ /**
67
+ * Props specific to the internal `Accordion`.
68
+ */
69
+ accordionProps: index["default"].shape({}),
70
+ /**
71
+ * Provide the contents of the FilterPanelAccordion.
72
+ */
73
+ children: index["default"].node.isRequired,
74
+ /**
75
+ * Optional class to be applied to the containing node.
76
+ */
77
+ className: index["default"].string,
78
+ /**
79
+ * Number to be displayed with the label.
80
+ */
81
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
82
+ /**
83
+ * The label for the component.
84
+ */
85
+ labelText: index["default"].node.isRequired,
86
+ /**
87
+ * Optional title attribute for the label.
88
+ */
89
+ title: index["default"].string
90
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A container with a label and optional count.
3
+ */
4
+ export let FilterPanelAccordionItem: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
+ import React from 'react';
@@ -0,0 +1,101 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var react = require('@carbon/react');
17
+ var devtools = require('../../../global/js/utils/devtools.js');
18
+ var settings = require('../../../settings.js');
19
+ var FilterPanelLabel = require('../FilterPanelLabel/FilterPanelLabel.js');
20
+ var TruncatedList = require('../../TruncatedList/TruncatedList.js');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
26
+
27
+ var _excluded = ["accordionItemProps", "truncatedListProps", "children", "className", "count", "labelText", "title"];
28
+
29
+ // The block part of our conventional BEM class names (blockClass__E--M).
30
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-accordion-item");
31
+ var componentName = 'FilterPanelAccordionItem';
32
+ var defaults = {
33
+ accordionItemProps: {},
34
+ truncatedListProps: {}
35
+ };
36
+
37
+ /**
38
+ * A container with a label and optional count.
39
+ */
40
+ exports.FilterPanelAccordionItem = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
41
+ var _ref$accordionItemPro = _ref.accordionItemProps,
42
+ accordionItemProps = _ref$accordionItemPro === void 0 ? defaults.accordionItemProps : _ref$accordionItemPro,
43
+ _ref$truncatedListPro = _ref.truncatedListProps,
44
+ truncatedListProps = _ref$truncatedListPro === void 0 ? defaults.truncatedListProps : _ref$truncatedListPro,
45
+ children = _ref.children,
46
+ className = _ref.className,
47
+ count = _ref.count,
48
+ labelText = _ref.labelText,
49
+ title = _ref.title,
50
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
51
+ return /*#__PURE__*/React__default["default"].createElement(react.AccordionItem, _rollupPluginBabelHelpers["extends"]({}, accordionItemProps, {
52
+ className: cx__default["default"](blockClass, className),
53
+ ref: ref,
54
+ title: /*#__PURE__*/React__default["default"].createElement(FilterPanelLabel.FilterPanelLabel, _rollupPluginBabelHelpers["extends"]({}, rest, {
55
+ count: count,
56
+ labelText: labelText,
57
+ title: title
58
+ }))
59
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement(TruncatedList.TruncatedList, _rollupPluginBabelHelpers["extends"]({}, truncatedListProps, {
60
+ className: "".concat(blockClass, "__list")
61
+ }), React.Children.map(children, function (child) {
62
+ return /*#__PURE__*/React__default["default"].createElement(react.ListItem, {
63
+ className: "".concat(blockClass, "__list-item"),
64
+ key: child.key
65
+ }, child);
66
+ })));
67
+ });
68
+
69
+ // Return a placeholder if not released and not enabled by feature flag
70
+ exports.FilterPanelAccordionItem = settings.pkg.checkComponentEnabled(exports.FilterPanelAccordionItem, componentName);
71
+ exports.FilterPanelAccordionItem.displayName = componentName;
72
+ exports.FilterPanelAccordionItem.propTypes = {
73
+ /**
74
+ * Props specific to the internal `AccordionItem`.
75
+ */
76
+ accordionItemProps: index["default"].shape({}),
77
+ /**
78
+ * Provide the contents of the FilterPanelAccordionItem.
79
+ */
80
+ children: index["default"].node.isRequired,
81
+ /**
82
+ * Optional class to be applied to the containing node.
83
+ */
84
+ className: index["default"].string,
85
+ /**
86
+ * Number to be displayed with the label.
87
+ */
88
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
89
+ /**
90
+ * The label for the component.
91
+ */
92
+ labelText: index["default"].node.isRequired,
93
+ /**
94
+ * Optional title attribute for the label.
95
+ */
96
+ title: index["default"].string,
97
+ /**
98
+ * Props specific to the internal `TruncatedList`.
99
+ */
100
+ truncatedListProps: index["default"].shape({})
101
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Provides a checkbox, label, and count.
3
+ */
4
+ export let FilterPanelCheckbox: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
+ import React from 'react';
@@ -0,0 +1,87 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var react = require('@carbon/react');
17
+ var devtools = require('../../../global/js/utils/devtools.js');
18
+ var settings = require('../../../settings.js');
19
+ var FilterPanelLabel = require('../FilterPanelLabel/FilterPanelLabel.js');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
+
26
+ var _excluded = ["className", "count", "id", "labelText", "title"];
27
+
28
+ // The block part of our conventional BEM class names (blockClass__E--M).
29
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-checkbox");
30
+ var componentName = 'FilterPanelCheckbox';
31
+
32
+ /**
33
+ * Provides a checkbox, label, and count.
34
+ */
35
+ exports.FilterPanelCheckbox = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
36
+ var className = _ref.className,
37
+ count = _ref.count,
38
+ id = _ref.id,
39
+ labelText = _ref.labelText,
40
+ title = _ref.title,
41
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
42
+ return /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({}, rest, {
43
+ className: cx__default["default"](blockClass, className),
44
+ id: id,
45
+ labelText: /*#__PURE__*/React__default["default"].createElement(FilterPanelLabel.FilterPanelLabel, {
46
+ count: count,
47
+ labelText: labelText,
48
+ title: title
49
+ }),
50
+ ref: ref
51
+ }, devtools.getDevtoolsProps(componentName)));
52
+ });
53
+
54
+ // Return a placeholder if not released and not enabled by feature flag
55
+ exports.FilterPanelCheckbox = settings.pkg.checkComponentEnabled(exports.FilterPanelCheckbox, componentName);
56
+ exports.FilterPanelCheckbox.displayName = componentName;
57
+ exports.FilterPanelCheckbox.propTypes = {
58
+ /**
59
+ * IMPORTANT NOTE
60
+ *
61
+ * This component is returning Carbon's Checkbox.
62
+ *
63
+ * All of Carbon Checkbox's props are directly available
64
+ * through "...rest", including id, onClick, etc.
65
+ */
66
+
67
+ /**
68
+ * Optional class to be applied to the containing node.
69
+ */
70
+ className: index["default"].string,
71
+ /**
72
+ * Number to be displayed with the checkbox.
73
+ */
74
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
75
+ /**
76
+ * Unique identifier.
77
+ */
78
+ id: index["default"].string.isRequired,
79
+ /**
80
+ * Label to be displayed with the checkbox.
81
+ */
82
+ labelText: index["default"].node.isRequired,
83
+ /**
84
+ * Optional title attribute for the label.
85
+ */
86
+ title: index["default"].string
87
+ };
@@ -0,0 +1 @@
1
+ export { FilterPanelCheckbox } from "./FilterPanelCheckbox";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Provides a filter panel checkbox with an overflow menu.
3
+ *
4
+ * This component's props refer to the Carbon Checkbox,
5
+ * just like FilterPanelCheckbox.
6
+ *
7
+ * Use `overflowMenuProps` for properties specific to the OverflowMenu.
8
+ */
9
+ export let FilterPanelCheckboxWithOverflow: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
10
+ import React from 'react';
@@ -0,0 +1,164 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var react = require('@carbon/react');
17
+ var devtools = require('../../../global/js/utils/devtools.js');
18
+ var settings = require('../../../settings.js');
19
+ var FilterPanelCheckbox = require('../FilterPanelCheckbox/FilterPanelCheckbox.js');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
+
26
+ var _excluded = ["children", "className", "count", "id", "labelText", "overflowMenuProps", "title"];
27
+
28
+ // The block part of our conventional BEM class names (blockClass__E--M).
29
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-checkbox-with-overflow");
30
+ var componentName = 'FilterPanelCheckboxWithOverflow';
31
+ var defaults = {
32
+ overflowMenuProps: {}
33
+ };
34
+
35
+ /**
36
+ * Provides a filter panel checkbox with an overflow menu.
37
+ *
38
+ * This component's props refer to the Carbon Checkbox,
39
+ * just like FilterPanelCheckbox.
40
+ *
41
+ * Use `overflowMenuProps` for properties specific to the OverflowMenu.
42
+ */
43
+ exports.FilterPanelCheckboxWithOverflow = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
44
+ var children = _ref.children,
45
+ className = _ref.className,
46
+ count = _ref.count,
47
+ id = _ref.id,
48
+ labelText = _ref.labelText,
49
+ _ref$overflowMenuProp = _ref.overflowMenuProps,
50
+ overflowMenuProps = _ref$overflowMenuProp === void 0 ? defaults.overflowMenuProps : _ref$overflowMenuProp,
51
+ title = _ref.title,
52
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
53
+ var _useState = React.useState(false),
54
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
55
+ menuIsOpen = _useState2[0],
56
+ setMenuIsOpen = _useState2[1];
57
+ var _useState3 = React.useState(false),
58
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
59
+ showMenuButton = _useState4[0],
60
+ setShowMenuButton = _useState4[1];
61
+ // Destructure overflow menu properties.
62
+ var other = _rollupPluginBabelHelpers["extends"]({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(overflowMenuProps), overflowMenuProps));
63
+ var backupRef = React.useRef();
64
+ var localRef = ref || backupRef;
65
+ var setHideButton = function setHideButton(activeElement) {
66
+ if (!menuIsOpen && !localRef.current.contains(activeElement)) {
67
+ setShowMenuButton(false);
68
+ }
69
+ };
70
+ React.useEffect(function () {
71
+ setShowMenuButton(menuIsOpen);
72
+ }, [menuIsOpen]);
73
+ return (
74
+ /*#__PURE__*/
75
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
76
+ React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
77
+ className: cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--open"), menuIsOpen)),
78
+ onBlur: function onBlur(_ref2) {
79
+ var relatedTarget = _ref2.relatedTarget;
80
+ return setHideButton(relatedTarget);
81
+ },
82
+ onFocus: function onFocus() {
83
+ return setShowMenuButton(true);
84
+ }
85
+ /**
86
+ * Desired behavior: onMouseEnter shows the menu, even when the user mouse-presses and -releases the checkbox/label.
87
+ * Issue: onMouseDown > checkbox/label triggers an onBlur event and hides the menu button.
88
+ * Releasing the mouse button then shows the button again.
89
+ * This behavior "flickers" the menu button.
90
+ * Solution: onMouseDown > preventDefault prevents onBlur from being called.
91
+ * The menu button remains visible at all times.
92
+ * This applies only when using the mouse; it is not an issue using the keyboard.
93
+ */,
94
+ onMouseDown: function onMouseDown(event) {
95
+ return event.preventDefault();
96
+ },
97
+ onMouseEnter: function onMouseEnter() {
98
+ return setShowMenuButton(true);
99
+ },
100
+ onMouseLeave: function onMouseLeave() {
101
+ return setHideButton(document.activeElement);
102
+ },
103
+ ref: localRef
104
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement(FilterPanelCheckbox.FilterPanelCheckbox, _rollupPluginBabelHelpers["extends"]({}, rest, {
105
+ className: cx__default["default"]("".concat(blockClass, "__checkbox")),
106
+ count: count,
107
+ id: id,
108
+ labelText: labelText,
109
+ title: title
110
+ })), showMenuButton && /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, _rollupPluginBabelHelpers["extends"]({
111
+ open: overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps.open,
112
+ className: cx__default["default"]("".concat(blockClass, "__overflow-button"), overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps.menuClass),
113
+ menuOptionsClass: cx__default["default"]("".concat(blockClass, "__overflow-options"), overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps.menuOptionsClass),
114
+ "aria-label": overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps['aria-label'],
115
+ iconDescription: overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps['aria-label'],
116
+ onOpen: function onOpen() {
117
+ return setMenuIsOpen(true);
118
+ },
119
+ onClose: function onClose() {
120
+ return setMenuIsOpen(false);
121
+ },
122
+ flipped: (overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps.flipped) || true,
123
+ selectorPrimaryFocus: overflowMenuProps === null || overflowMenuProps === void 0 ? void 0 : overflowMenuProps.selectorPrimaryFocus
124
+ }, other), children))
125
+ );
126
+ });
127
+
128
+ // Return a placeholder if not released and not enabled by feature flag
129
+ exports.FilterPanelCheckboxWithOverflow = settings.pkg.checkComponentEnabled(exports.FilterPanelCheckboxWithOverflow, componentName);
130
+ exports.FilterPanelCheckboxWithOverflow.displayName = componentName;
131
+ exports.FilterPanelCheckboxWithOverflow.propTypes = {
132
+ /**
133
+ * Children containing `OverflowMenuItems`.
134
+ */
135
+ children: index["default"].node.isRequired,
136
+ /**
137
+ * Optional class to be applied to the containing node.
138
+ */
139
+ className: index["default"].string,
140
+ /**
141
+ * Number to be displayed with the checkbox.
142
+ */
143
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
144
+ /**
145
+ * Unique identifier.
146
+ */
147
+ id: index["default"].string.isRequired,
148
+ /**
149
+ * Label to be displayed with the checkbox.
150
+ */
151
+ labelText: index["default"].node.isRequired,
152
+ /**
153
+ * Checkbox event handler.
154
+ */
155
+ onChange: index["default"].func,
156
+ /**
157
+ * Props specific to the internal `OverflowMenu`.
158
+ */
159
+ overflowMenuProps: index["default"].shape(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, 'aria-label', index["default"].string), "flipped", index["default"].bool), "menuClass", index["default"].string), "menuOptionsClass", index["default"].string), "open", index["default"].bool), "selectorPrimaryFocus", index["default"].string)),
160
+ /**
161
+ * Optional title attribute for the label.
162
+ */
163
+ title: index["default"].string
164
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A container with a label and optional count.
3
+ */
4
+ export let FilterPanelGroup: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
+ import React from 'react';
@@ -0,0 +1,79 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var devtools = require('../../../global/js/utils/devtools.js');
17
+ var settings = require('../../../settings.js');
18
+ var FilterPanelLabel = require('../FilterPanelLabel/FilterPanelLabel.js');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
+
25
+ var _excluded = ["children", "className", "count", "labelText", "title"];
26
+
27
+ // The block part of our conventional BEM class names (blockClass__E--M).
28
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-group");
29
+ var componentName = 'FilterPanelGroup';
30
+
31
+ /**
32
+ * A container with a label and optional count.
33
+ */
34
+ exports.FilterPanelGroup = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
35
+ var children = _ref.children,
36
+ className = _ref.className,
37
+ count = _ref.count,
38
+ labelText = _ref.labelText,
39
+ title = _ref.title,
40
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
41
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
42
+ className: cx__default["default"](blockClass, className),
43
+ ref: ref
44
+ }, devtools.getDevtoolsProps(componentName)), labelText && /*#__PURE__*/React__default["default"].createElement("h2", {
45
+ className: "".concat(blockClass, "__title")
46
+ }, /*#__PURE__*/React__default["default"].createElement(FilterPanelLabel.FilterPanelLabel, {
47
+ count: count,
48
+ labelText: labelText,
49
+ title: title
50
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
51
+ className: "".concat(blockClass, "__content")
52
+ }, children));
53
+ });
54
+
55
+ // Return a placeholder if not released and not enabled by feature flag
56
+ exports.FilterPanelGroup = settings.pkg.checkComponentEnabled(exports.FilterPanelGroup, componentName);
57
+ exports.FilterPanelGroup.displayName = componentName;
58
+ exports.FilterPanelGroup.propTypes = {
59
+ /**
60
+ * Provide the contents of the FilterPanelGroup.
61
+ */
62
+ children: index["default"].node.isRequired,
63
+ /**
64
+ * Optional class to be applied to the containing node.
65
+ */
66
+ className: index["default"].string,
67
+ /**
68
+ * Number to be displayed with the label.
69
+ */
70
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
71
+ /**
72
+ * The label for the component.
73
+ */
74
+ labelText: index["default"].node.isRequired,
75
+ /**
76
+ * Optional title attribute for the label.
77
+ */
78
+ title: index["default"].string
79
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A container with a label and optional count.
3
+ */
4
+ export let FilterPanelLabel: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
+ import React from 'react';
@@ -0,0 +1,70 @@
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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var devtools = require('../../../global/js/utils/devtools.js');
17
+ var settings = require('../../../settings.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
+
24
+ var _excluded = ["className", "count", "labelText", "title"];
25
+
26
+ // The block part of our conventional BEM class names (blockClass__E--M).
27
+ var blockClass = "".concat(settings.pkg.prefix, "--filter-panel-label");
28
+ var componentName = 'FilterPanelLabel';
29
+
30
+ /**
31
+ * A container with a label and optional count.
32
+ */
33
+ exports.FilterPanelLabel = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
34
+ var className = _ref.className,
35
+ count = _ref.count,
36
+ labelText = _ref.labelText,
37
+ title = _ref.title,
38
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
39
+ return /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({}, rest, {
40
+ className: cx__default["default"](blockClass, className),
41
+ ref: ref
42
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement("span", {
43
+ className: "".concat(blockClass, "__text"),
44
+ title: title
45
+ }, labelText), count && /*#__PURE__*/React__default["default"].createElement("span", {
46
+ className: "".concat(blockClass, "__count")
47
+ }, count), ' ');
48
+ });
49
+
50
+ // Return a placeholder if not released and not enabled by feature flag
51
+ exports.FilterPanelLabel = settings.pkg.checkComponentEnabled(exports.FilterPanelLabel, componentName);
52
+ exports.FilterPanelLabel.displayName = componentName;
53
+ exports.FilterPanelLabel.propTypes = {
54
+ /**
55
+ * Optional class to be applied to the containing node.
56
+ */
57
+ className: index["default"].string,
58
+ /**
59
+ * Number to be displayed with the label.
60
+ */
61
+ count: index["default"].oneOfType([index["default"].number, index["default"].string]),
62
+ /**
63
+ * The label for the component.
64
+ */
65
+ labelText: index["default"].node.isRequired,
66
+ /**
67
+ * Optional title attribute for the label.
68
+ */
69
+ title: index["default"].string
70
+ };
@@ -0,0 +1 @@
1
+ export { FilterPanelLabel } from "./FilterPanelLabel";
@@ -0,0 +1,7 @@
1
+ export { FilterPanel } from "./FilterPanel";
2
+ export { FilterPanelAccordion } from "./FilterPanelAccordion/FilterPanelAccordion";
3
+ export { FilterPanelAccordionItem } from "./FilterPanelAccordionItem/FilterPanelAccordionItem";
4
+ export { FilterPanelCheckbox } from "./FilterPanelCheckbox/FilterPanelCheckbox";
5
+ export { FilterPanelCheckboxWithOverflow } from "./FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow";
6
+ export { FilterPanelGroup } from "./FilterPanelGroup/FilterPanelGroup";
7
+ export { FilterPanelLabel } from "./FilterPanelLabel/FilterPanelLabel";