@carbon/react 1.0.0-rc.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +2 -2
  2. package/es/components/Accordion/Accordion.Skeleton.js +1 -7
  3. package/es/components/Accordion/AccordionItem.js +0 -5
  4. package/es/components/Button/Button.Skeleton.js +1 -3
  5. package/es/components/Button/Button.js +51 -113
  6. package/es/components/Checkbox/Checkbox.js +8 -21
  7. package/es/components/CodeSnippet/CodeSnippet.js +3 -11
  8. package/es/components/ComboBox/ComboBox.js +2 -4
  9. package/es/components/ContentSwitcher/index.js +13 -0
  10. package/es/components/DataTable/DataTable.js +5 -14
  11. package/es/components/DataTable/Table.js +3 -11
  12. package/es/components/DataTable/TableBatchAction.js +2 -1
  13. package/es/components/DataTable/TableExpandHeader.js +1 -1
  14. package/es/components/DataTable/TableToolbar.js +1 -2
  15. package/es/components/DataTable/TableToolbarSearch.js +4 -13
  16. package/es/components/DatePickerInput/next/DatePickerInput.js +6 -31
  17. package/es/components/Dropdown/Dropdown.Skeleton.js +4 -13
  18. package/es/components/Dropdown/Dropdown.js +4 -9
  19. package/es/components/ExpandableSearch/ExpandableSearch.js +16 -22
  20. package/es/components/FormGroup/FormGroup.js +4 -14
  21. package/es/components/IconButton/index.js +0 -1
  22. package/es/components/InlineLoading/InlineLoading.js +2 -9
  23. package/es/components/ListBox/ListBox.js +10 -0
  24. package/es/components/Modal/next/Modal.js +5 -8
  25. package/es/components/MultiSelect/FilterableMultiSelect.js +1 -2
  26. package/es/components/MultiSelect/MultiSelect.js +2 -3
  27. package/es/components/MultiSelect/next/FilterableMultiSelect.js +1 -2
  28. package/es/components/Notification/next/Notification.js +18 -39
  29. package/es/components/OverflowMenuItem/OverflowMenuItem.js +1 -9
  30. package/es/components/RadioTile/RadioTile.js +6 -13
  31. package/es/components/Search/index.js +3 -3
  32. package/es/components/Search/next/Search.js +25 -20
  33. package/es/components/Select/Select.js +6 -14
  34. package/es/components/Slider/Slider.js +4 -14
  35. package/es/components/StructuredList/next/StructuredList.js +7 -11
  36. package/es/components/TextInput/ControlledPasswordInput.js +2 -2
  37. package/es/components/Tile/next/Tile.js +12 -51
  38. package/es/components/TileGroup/index.js +13 -0
  39. package/es/components/TimePickerSelect/next/TimePickerSelect.js +0 -6
  40. package/es/components/Toggletip/index.js +252 -0
  41. package/es/components/Tooltip/next/DefinitionTooltip.js +1 -1
  42. package/es/index.js +6 -10
  43. package/es/internal/useEvent.js +29 -0
  44. package/icons/package.json +2 -1
  45. package/lib/components/Accordion/Accordion.Skeleton.js +1 -7
  46. package/lib/components/Accordion/AccordionItem.js +0 -5
  47. package/lib/components/Button/Button.Skeleton.js +1 -3
  48. package/lib/components/Button/Button.js +49 -130
  49. package/lib/components/Checkbox/Checkbox.js +8 -21
  50. package/lib/components/CodeSnippet/CodeSnippet.js +3 -11
  51. package/lib/components/ComboBox/ComboBox.js +2 -4
  52. package/lib/components/ContentSwitcher/index.js +17 -0
  53. package/lib/components/DataTable/DataTable.js +5 -33
  54. package/lib/components/DataTable/Table.js +3 -30
  55. package/lib/components/DataTable/TableBatchAction.js +2 -1
  56. package/lib/components/DataTable/TableExpandHeader.js +1 -1
  57. package/lib/components/DataTable/TableToolbar.js +1 -21
  58. package/lib/components/DataTable/TableToolbarSearch.js +4 -13
  59. package/lib/components/DatePickerInput/next/DatePickerInput.js +5 -30
  60. package/lib/components/Dropdown/Dropdown.Skeleton.js +4 -13
  61. package/lib/components/Dropdown/Dropdown.js +4 -9
  62. package/lib/components/ExpandableSearch/ExpandableSearch.js +15 -21
  63. package/lib/components/FormGroup/FormGroup.js +3 -13
  64. package/lib/components/IconButton/index.js +0 -1
  65. package/lib/components/InlineLoading/InlineLoading.js +2 -9
  66. package/lib/components/ListBox/ListBox.js +10 -0
  67. package/lib/components/Modal/next/Modal.js +5 -8
  68. package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -2
  69. package/lib/components/MultiSelect/MultiSelect.js +2 -3
  70. package/lib/components/MultiSelect/next/FilterableMultiSelect.js +1 -2
  71. package/lib/components/Notification/next/Notification.js +18 -39
  72. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +1 -9
  73. package/lib/components/RadioTile/RadioTile.js +6 -13
  74. package/lib/components/Search/next/Search.js +25 -20
  75. package/lib/components/Select/Select.js +6 -33
  76. package/lib/components/Slider/Slider.js +4 -14
  77. package/lib/components/StructuredList/next/StructuredList.js +7 -11
  78. package/lib/components/TextInput/ControlledPasswordInput.js +2 -2
  79. package/lib/components/Tile/next/Tile.js +12 -51
  80. package/lib/components/TileGroup/index.js +17 -0
  81. package/lib/components/TimePickerSelect/next/TimePickerSelect.js +0 -6
  82. package/lib/components/Toggletip/index.js +266 -0
  83. package/lib/components/Tooltip/next/DefinitionTooltip.js +1 -1
  84. package/lib/index.js +102 -110
  85. package/lib/internal/useEvent.js +33 -0
  86. package/package.json +9 -9
  87. package/es/components/ToggleSmall/ToggleSmall.js +0 -104
  88. package/es/components/Toolbar/Toolbar.js +0 -121
  89. package/es/components/ToolbarSearch/ToolbarSearch.js +0 -168
  90. package/es/components/TooltipDefinition/TooltipDefinition.js +0 -167
  91. package/es/components/TooltipIcon/TooltipIcon.js +0 -235
  92. package/es/tools/createPropAdapter.js +0 -63
  93. package/lib/components/ToggleSmall/ToggleSmall.js +0 -114
  94. package/lib/components/Toolbar/Toolbar.js +0 -135
  95. package/lib/components/ToolbarSearch/ToolbarSearch.js +0 -178
  96. package/lib/components/TooltipDefinition/TooltipDefinition.js +0 -178
  97. package/lib/components/TooltipIcon/TooltipIcon.js +0 -245
  98. package/lib/tools/createPropAdapter.js +0 -67
@@ -1,245 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2016, 2021
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 cx = require('classnames');
14
- var React = require('react');
15
- var PropTypes = require('prop-types');
16
- var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
17
- var events = require('../../tools/events.js');
18
- var toggleClass = require('../../tools/toggleClass.js');
19
- var usePrefix = require('../../internal/usePrefix.js');
20
- var match = require('../../internal/keyboard/match.js');
21
- var keys = require('../../internal/keyboard/keys.js');
22
-
23
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
-
25
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
26
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
28
-
29
- var _excluded = ["id", "className", "children", "direction", "disabled", "align", "onClick", "onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "renderIcon", "tooltipText"];
30
- var getInstanceId = setupGetInstanceId["default"]();
31
-
32
- var TooltipIcon = function TooltipIcon(_ref) {
33
- var _cx;
34
-
35
- var id = _ref.id,
36
- className = _ref.className,
37
- children = _ref.children,
38
- direction = _ref.direction,
39
- disabled = _ref.disabled,
40
- align = _ref.align,
41
- onClick = _ref.onClick,
42
- onBlur = _ref.onBlur,
43
- onFocus = _ref.onFocus,
44
- onMouseEnter = _ref.onMouseEnter,
45
- onMouseLeave = _ref.onMouseLeave,
46
- IconElement = _ref.renderIcon,
47
- tooltipText = _ref.tooltipText,
48
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
49
-
50
- var prefix = usePrefix.usePrefix();
51
-
52
- var _useState = React.useState(true),
53
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
54
- allowTooltipVisibility = _useState2[0],
55
- setAllowTooltipVisibility = _useState2[1];
56
-
57
- var _useState3 = React.useState(false),
58
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
59
- isHovered = _useState4[0],
60
- setIsHovered = _useState4[1];
61
-
62
- var _useState5 = React.useState(false),
63
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
64
- isFocused = _useState6[0],
65
- setIsFocused = _useState6[1];
66
-
67
- var tooltipRef = React.useRef(null);
68
- var tooltipTimeout = React.useRef(null);
69
- var tooltipId = id || "icon-tooltip-".concat(getInstanceId());
70
- var tooltipTriggerClasses = cx__default["default"]("".concat(prefix, "--tooltip__trigger"), "".concat(prefix, "--tooltip--a11y"), className, (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--tooltip--").concat(direction), direction), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--tooltip--align-").concat(align), align), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--tooltip--hidden"), !allowTooltipVisibility || disabled), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--tooltip--visible"), isHovered), _cx));
71
-
72
- var closeTooltips = function closeTooltips(evt) {
73
- var _document;
74
-
75
- var tooltipNode = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelectorAll(".".concat(prefix, "--tooltip--a11y"));
76
-
77
- _rollupPluginBabelHelpers.toConsumableArray(tooltipNode).map(function (node) {
78
- toggleClass["default"](node, "".concat(prefix, "--tooltip--hidden"), node !== evt.currentTarget);
79
- });
80
- };
81
-
82
- var handleFocus = function handleFocus(evt) {
83
- closeTooltips(evt);
84
- setIsFocused(true);
85
- setAllowTooltipVisibility(true);
86
- };
87
-
88
- var handleBlur = function handleBlur() {
89
- setIsHovered(false);
90
- setIsFocused(false);
91
- setAllowTooltipVisibility(false);
92
- };
93
-
94
- var handleMouseEnter = function handleMouseEnter(evt) {
95
- if (!disabled) {
96
- tooltipTimeout.current && clearTimeout(tooltipTimeout.current);
97
-
98
- if (evt.target === tooltipRef.current) {
99
- setAllowTooltipVisibility(true);
100
- return;
101
- }
102
-
103
- closeTooltips(evt);
104
- setAllowTooltipVisibility(true);
105
- }
106
- };
107
-
108
- var handleMouseLeave = function handleMouseLeave() {
109
- if (!isFocused) {
110
- tooltipTimeout.current = setTimeout(function () {
111
- setAllowTooltipVisibility(false);
112
- setIsHovered(false);
113
- }, 100);
114
- }
115
- };
116
-
117
- var handleClick = function handleClick(evt) {
118
- setAllowTooltipVisibility(false); // Prevent clicks on the tooltip from triggering the button click event
119
-
120
- if (evt.target === tooltipRef.current) {
121
- evt.preventDefault();
122
- return;
123
- }
124
- };
125
-
126
- React.useEffect(function () {
127
- var handleEscKeyDown = function handleEscKeyDown(event) {
128
- if (match.matches(event, [keys.Escape])) {
129
- setAllowTooltipVisibility(false);
130
- setIsHovered(false);
131
- }
132
- };
133
-
134
- document.addEventListener('keydown', handleEscKeyDown);
135
- return function () {
136
- return document.removeEventListener('keydown', handleEscKeyDown);
137
- };
138
- }, []);
139
- var cursorStyle;
140
-
141
- if (disabled) {
142
- cursorStyle = 'not-allowed';
143
- } else {
144
- cursorStyle = onClick ? 'pointer' : 'default';
145
- }
146
-
147
- return /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
148
- disabled: disabled,
149
- style: {
150
- cursor: cursorStyle
151
- }
152
- }, rest, {
153
- type: "button",
154
- className: tooltipTriggerClasses,
155
- "aria-describedby": tooltipId,
156
- onMouseEnter: events.composeEventHandlers([onMouseEnter, handleMouseEnter]),
157
- onMouseLeave: events.composeEventHandlers([onMouseLeave, handleMouseLeave]),
158
- onFocus: events.composeEventHandlers([onFocus, handleFocus]),
159
- onBlur: events.composeEventHandlers([onBlur, handleBlur]),
160
- onClick: events.composeEventHandlers([handleClick, onClick])
161
- }), /*#__PURE__*/React__default["default"].createElement("span", {
162
- ref: tooltipRef,
163
- onMouseEnter: handleMouseEnter,
164
- className: "".concat(prefix, "--assistive-text"),
165
- id: tooltipId
166
- }, tooltipText), IconElement && /*#__PURE__*/React__default["default"].createElement(IconElement, null), !IconElement && children);
167
- };
168
-
169
- TooltipIcon.propTypes = {
170
- /**
171
- * Specify the alignment (to the trigger button) of the tooltip.
172
- * Can be one of: start, center, or end.
173
- */
174
- align: PropTypes__default["default"].oneOf(['start', 'center', 'end']),
175
-
176
- /**
177
- * Specify an icon as children that will be used as the tooltip trigger. This
178
- * can be an icon from our Icon component, or a custom SVG element.
179
- */
180
- children: PropTypes__default["default"].node,
181
-
182
- /**
183
- * Specify an optional className to be applied to the trigger node
184
- */
185
- className: PropTypes__default["default"].string,
186
-
187
- /**
188
- * Specify the direction of the tooltip. Can be either top or bottom.
189
- */
190
- direction: PropTypes__default["default"].oneOf(['top', 'right', 'left', 'bottom']),
191
-
192
- /**
193
- * Specify whether the `<TooltipIcon>` should be disabled
194
- */
195
- disabled: PropTypes__default["default"].bool,
196
-
197
- /**
198
- * Optionally specify a custom id for the tooltip. If one is not provided, we
199
- * generate a unique id for you.
200
- */
201
- id: PropTypes__default["default"].string,
202
-
203
- /**
204
- * The event handler for the `blur` event.
205
- */
206
- onBlur: PropTypes__default["default"].func,
207
-
208
- /**
209
- * The event handler for the `click` event.
210
- */
211
- onClick: PropTypes__default["default"].func,
212
-
213
- /**
214
- * The event handler for the `focus` event.
215
- */
216
- onFocus: PropTypes__default["default"].func,
217
-
218
- /**
219
- * The event handler for the `mouseenter` event.
220
- */
221
- onMouseEnter: PropTypes__default["default"].func,
222
-
223
- /**
224
- * The event handler for the `mouseleave` event.
225
- */
226
- onMouseLeave: PropTypes__default["default"].func,
227
-
228
- /**
229
- * Function called to override icon rendering.
230
- */
231
- renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
232
-
233
- /**
234
- * Provide the ARIA label for the tooltip.
235
- * TODO: rename this prop (will be a breaking change)
236
- */
237
- tooltipText: PropTypes__default["default"].node.isRequired
238
- };
239
- TooltipIcon.defaultProps = {
240
- direction: 'bottom',
241
- align: 'center'
242
- };
243
- var TooltipIcon$1 = TooltipIcon;
244
-
245
- exports["default"] = TooltipIcon$1;
@@ -1,67 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2016, 2021
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
-
14
- /**
15
- * Copyright IBM Corp. 2016, 2018
16
- *
17
- * This source code is licensed under the Apache-2.0 license found in the
18
- * LICENSE file in the root directory of this source tree.
19
- */
20
-
21
- /**
22
- * Create an adapter that converts an object of props with potentially deprecated
23
- * prop names to the replacement prop names in a newer version. Useful for guarding
24
- * against breaking changes when a prop has been renamed
25
- *
26
- * @param {Array} spec - an array of options which specify a text or regex
27
- * matcher alongside a replacement if there is a match
28
- * @returns {Function}
29
- */
30
- function createPropAdapter(spec) {
31
- // if props aren't passed in we should default the prop to empty object
32
- return function () {
33
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
- var output = {};
35
- Object.keys(input).forEach(function (key) {
36
- var match = spec.find(function (_ref) {
37
- var _ref2 = _rollupPluginBabelHelpers.slicedToArray(_ref, 1),
38
- regex = _ref2[0];
39
-
40
- return key.match(regex);
41
- });
42
-
43
- if (match) {
44
- var _match = _rollupPluginBabelHelpers.slicedToArray(match, 2),
45
- regex = _match[0],
46
- replacer = _match[1];
47
-
48
- output[key.replace(regex, replacer)] = input[key];
49
- return;
50
- }
51
-
52
- output[key] = input[key];
53
- });
54
- return output;
55
- };
56
- }
57
- /**
58
- * TODO: REMOVE IN v11
59
- * props staring with "default..." were changed to "initial..." in Downshift v3
60
- *
61
- * @see https://github.com/downshift-js/downshift/releases/tag/v3.0.0
62
- */
63
-
64
-
65
- var mapDownshiftProps = createPropAdapter([[/^default/g, 'initial']]);
66
-
67
- exports.mapDownshiftProps = mapDownshiftProps;