carbon-react 114.16.0 → 114.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm/__internal__/focus-trap/focus-trap.component.d.ts +2 -2
  2. package/esm/__internal__/focus-trap/index.d.ts +1 -1
  3. package/esm/components/advanced-color-picker/advanced-color-picker-cell.style.d.ts +4 -0
  4. package/esm/components/advanced-color-picker/advanced-color-picker.component.d.ts +43 -0
  5. package/esm/components/advanced-color-picker/advanced-color-picker.component.js +203 -74
  6. package/esm/components/advanced-color-picker/advanced-color-picker.style.d.ts +6 -0
  7. package/esm/components/advanced-color-picker/index.d.ts +2 -1
  8. package/esm/components/alert/alert.component.js +11 -5
  9. package/esm/components/confirm/confirm.component.js +11 -5
  10. package/esm/components/dialog/dialog.component.d.ts +2 -4
  11. package/esm/components/dialog/dialog.component.js +11 -5
  12. package/esm/components/dialog-full-screen/dialog-full-screen.component.d.ts +3 -2
  13. package/esm/components/dialog-full-screen/dialog-full-screen.component.js +14 -8
  14. package/esm/components/search/index.d.ts +1 -1
  15. package/esm/components/simple-color-picker/index.d.ts +1 -1
  16. package/esm/components/simple-color-picker/simple-color-picker.component.d.ts +5 -1
  17. package/esm/components/simple-color-picker/simple-color-picker.component.js +20 -15
  18. package/lib/__internal__/focus-trap/focus-trap.component.d.ts +2 -2
  19. package/lib/__internal__/focus-trap/index.d.ts +1 -1
  20. package/lib/components/advanced-color-picker/advanced-color-picker-cell.style.d.ts +4 -0
  21. package/lib/components/advanced-color-picker/advanced-color-picker.component.d.ts +43 -0
  22. package/lib/components/advanced-color-picker/advanced-color-picker.component.js +203 -76
  23. package/lib/components/advanced-color-picker/advanced-color-picker.style.d.ts +6 -0
  24. package/lib/components/advanced-color-picker/index.d.ts +2 -1
  25. package/lib/components/alert/alert.component.js +11 -5
  26. package/lib/components/confirm/confirm.component.js +11 -5
  27. package/lib/components/dialog/dialog.component.d.ts +2 -4
  28. package/lib/components/dialog/dialog.component.js +11 -5
  29. package/lib/components/dialog-full-screen/dialog-full-screen.component.d.ts +3 -2
  30. package/lib/components/dialog-full-screen/dialog-full-screen.component.js +14 -8
  31. package/lib/components/search/index.d.ts +1 -1
  32. package/lib/components/simple-color-picker/index.d.ts +1 -1
  33. package/lib/components/simple-color-picker/simple-color-picker.component.d.ts +5 -1
  34. package/lib/components/simple-color-picker/simple-color-picker.component.js +19 -12
  35. package/package.json +1 -1
  36. package/esm/components/advanced-color-picker/advanced-color-picker.d.ts +0 -42
  37. package/lib/components/advanced-color-picker/advanced-color-picker.d.ts +0 -42
@@ -1,6 +1,6 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useCallback, useState, useRef, useMemo, useEffect } from "react";
3
+ import React, { useCallback, useState, useRef, useMemo, useEffect, useImperativeHandle } from "react";
4
4
  import PropTypes from "prop-types";
5
5
  import invariant from "invariant";
6
6
  import Events from "../../__internal__/utils/helpers/events";
@@ -12,8 +12,7 @@ import { StyledContent, StyledColorOptions } from "./simple-color-picker.style";
12
12
  import ValidationIcon from "../../__internal__/validations/validation-icon.component";
13
13
  import { InputGroupContext } from "../../__internal__/input-behaviour";
14
14
  import { filterStyledSystemMarginProps } from "../../style/utils";
15
-
16
- const SimpleColorPicker = props => {
15
+ const SimpleColorPicker = /*#__PURE__*/React.forwardRef((props, ref) => {
17
16
  const {
18
17
  children,
19
18
  error,
@@ -51,7 +50,7 @@ const SimpleColorPicker = props => {
51
50
  let blankSlots = itemsPerRow * rowCount - (filteredChildren === null || filteredChildren === void 0 ? void 0 : filteredChildren.length);
52
51
  let currentRow = 1;
53
52
  let loopCounter = 1;
54
- const gridItemRefs = useMemo(() => filteredChildren.map(child => child.ref || /*#__PURE__*/React.createRef()), [filteredChildren]);
53
+ const gridItemRefs = useRef([]);
55
54
  const navigationGrid = filteredChildren.map((child, index) => {
56
55
  const allowUp = currentRow !== 1;
57
56
  let allowDown = false;
@@ -81,7 +80,9 @@ const SimpleColorPicker = props => {
81
80
  }
82
81
 
83
82
  const childProps = {
84
- ref: gridItemRefs[index],
83
+ ref: element => {
84
+ gridItemRefs.current[index] = element;
85
+ },
85
86
  "data-up": allowUp,
86
87
  "data-down": allowDown,
87
88
  "data-item-up": upItem,
@@ -91,6 +92,14 @@ const SimpleColorPicker = props => {
91
92
  loopCounter += 1;
92
93
  return /*#__PURE__*/React.cloneElement(child, childProps);
93
94
  });
95
+ useImperativeHandle(ref, () => ({
96
+ gridItemRefs: gridItemRefs.current
97
+ }), [gridItemRefs]);
98
+ const getElementPosition = useCallback(target => {
99
+ return navigationGrid.findIndex(element => {
100
+ return target.getAttribute("value") === element.props.value;
101
+ });
102
+ }, [navigationGrid]);
94
103
  const onKeyDownHandler = useCallback(e => {
95
104
  if (onKeyDown) {
96
105
  onKeyDown(e);
@@ -111,14 +120,10 @@ const SimpleColorPicker = props => {
111
120
  }
112
121
 
113
122
  if (Events.isLeftKey(e) || Events.isRightKey(e)) {
114
- const position = element => {
115
- return target.getAttribute("value") === element.props.value;
116
- };
117
-
118
123
  if (Events.isLeftKey(e)) {
119
- itemIndex = navigationGrid.findIndex(position) - 1;
124
+ itemIndex = getElementPosition(target) - 1;
120
125
  } else {
121
- itemIndex = navigationGrid.findIndex(position) + 1;
126
+ itemIndex = getElementPosition(target) + 1;
122
127
  }
123
128
 
124
129
  if (itemIndex < 0) {
@@ -131,11 +136,11 @@ const SimpleColorPicker = props => {
131
136
 
132
137
 
133
138
  if (itemIndex !== null) {
134
- const item = gridItemRefs[itemIndex].current;
139
+ const item = gridItemRefs.current[itemIndex];
135
140
  item === null || item === void 0 ? void 0 : item.focus();
136
141
  item === null || item === void 0 ? void 0 : item.click();
137
142
  }
138
- }, [onKeyDown, navigationGrid, gridItemRefs]);
143
+ }, [onKeyDown, navigationGrid, getElementPosition]);
139
144
 
140
145
  const handleClickOutside = ev => {
141
146
  if (internalRef.current && ev.target && !internalRef.current.contains(ev.target)) {
@@ -203,8 +208,7 @@ const SimpleColorPicker = props => {
203
208
  }, navigationGrid))), !validationOnLegend && /*#__PURE__*/React.createElement(ValidationIcon, _extends({}, validationProps, {
204
209
  tooltipFlipOverrides: ["top", "bottom"]
205
210
  }))));
206
- };
207
-
211
+ });
208
212
  SimpleColorPicker.propTypes = {
209
213
  "children": PropTypes.node,
210
214
  "childWidth": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
@@ -377,4 +381,5 @@ SimpleColorPicker.propTypes = {
377
381
  "warning": PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
378
382
  };
379
383
  export { SimpleColorPicker };
384
+ SimpleColorPicker.displayName = "SimpleColorPicker";
380
385
  export default SimpleColorPicker;
@@ -1,12 +1,12 @@
1
1
  import React from "react";
2
- declare type CustomRefObject<T> = {
2
+ export declare type CustomRefObject<T> = {
3
3
  current?: T | null;
4
4
  };
5
5
  export interface FocusTrapProps {
6
6
  children: React.ReactNode;
7
7
  autoFocus?: boolean;
8
8
  /** provide a custom first element to focus */
9
- focusFirstElement?: CustomRefObject<HTMLElement> | HTMLElement;
9
+ focusFirstElement?: CustomRefObject<HTMLElement> | HTMLElement | null;
10
10
  /** a custom callback that will override the default focus trap behaviour */
11
11
  bespokeTrap?: (ev: KeyboardEvent, firstElement?: HTMLElement, lastElement?: HTMLElement) => void;
12
12
  /** optional selector to identify the focusable elements, if not provided a default selector is used */
@@ -1,2 +1,2 @@
1
1
  export { default } from "./focus-trap.component";
2
- export type { FocusTrapProps } from "./focus-trap.component";
2
+ export type { CustomRefObject, FocusTrapProps } from "./focus-trap.component";
@@ -0,0 +1,4 @@
1
+ declare const StyledAdvancedColorPickerCell: import("styled-components").StyledComponent<"button", any, {
2
+ type: "button";
3
+ }, "type">;
4
+ export default StyledAdvancedColorPickerCell;
@@ -0,0 +1,43 @@
1
+ import React from "react";
2
+ import { MarginProps } from "styled-system";
3
+ export interface AdvancedColor {
4
+ label: string;
5
+ value: string;
6
+ }
7
+ export interface AdvancedColorPickerProps extends MarginProps {
8
+ /** Prop to specify the aria-describedby property of the component */
9
+ "aria-describedby"?: string;
10
+ /**
11
+ * Prop to specify the aria-label of the component.
12
+ * To be used only when the title prop is not defined, and the component is not labelled by any internal element.
13
+ */
14
+ "aria-label"?: string;
15
+ /**
16
+ * Prop to specify the aria-labeledby property of the component
17
+ * To be used when the title prop is a custom React Node,
18
+ * or the component is labelled by an internal element other than the title.
19
+ */
20
+ "aria-labelledby"?: string;
21
+ /** Prop for `availableColors` containing array of objects of colors */
22
+ availableColors: AdvancedColor[];
23
+ /** Prop for `defaultColor` containing the default color for `uncontrolled` use */
24
+ defaultColor: string;
25
+ /** Specifies the name prop to be applied to each color in the group */
26
+ name: string;
27
+ /** Prop for `onBlur` event */
28
+ onBlur?: (ev: React.FocusEvent<HTMLInputElement>) => void;
29
+ /** Prop for `onChange` event */
30
+ onChange?: (ev: React.ChangeEvent<HTMLInputElement>) => void;
31
+ /** Prop for `onClose` event */
32
+ onClose?: (ev: React.MouseEvent<HTMLElement>) => void;
33
+ /** Prop for `onOpen` event */
34
+ onOpen?: (ev: React.MouseEvent<HTMLElement>) => void;
35
+ /** Prop for `open` status */
36
+ open?: boolean;
37
+ /** The ARIA role to be applied to the component container */
38
+ role?: string;
39
+ /** Prop for `selectedColor` containing pre-selected color for `controlled` use */
40
+ selectedColor?: string;
41
+ }
42
+ declare const AdvancedColorPicker: ({ "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, availableColors, defaultColor, name, onOpen, onClose, onChange, onBlur, open, role, selectedColor, ...props }: AdvancedColorPickerProps) => JSX.Element;
43
+ export default AdvancedColorPicker;
@@ -9,8 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
13
-
14
12
  var _advancedColorPicker = require("./advanced-color-picker.style");
15
13
 
16
14
  var _simpleColorPicker = require("../simple-color-picker");
@@ -27,31 +25,26 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
27
25
 
28
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
27
 
30
- const marginPropTypes = (0, _utils.filterStyledSystemMarginProps)(_propTypes2.default.space);
31
-
32
28
  const AdvancedColorPicker = ({
33
29
  "aria-describedby": ariaDescribedBy,
34
30
  "aria-label": ariaLabel,
35
31
  "aria-labelledby": ariaLabelledBy,
32
+ availableColors,
33
+ defaultColor,
36
34
  name,
37
- open,
38
35
  onOpen,
39
36
  onClose,
40
37
  onChange,
41
38
  onBlur,
42
- availableColors,
43
- defaultColor,
44
- selectedColor,
39
+ open = false,
45
40
  role,
41
+ selectedColor,
46
42
  ...props
47
43
  }) => {
48
- const isOpen = open || false;
49
44
  const [dialogOpen, setDialogOpen] = (0, _react.useState)();
50
45
  const currentColor = selectedColor || defaultColor;
51
- const [selectedColorRef, setSelectedColorRef] = (0, _react.useState)();
52
- const gridItemRefs = (0, _react.useRef)(Array.from({
53
- length: availableColors.length
54
- }, () => /*#__PURE__*/_react.default.createRef()));
46
+ const [selectedColorRef, setSelectedColorRef] = (0, _react.useState)(null);
47
+ const simpleColorPickerData = (0, _react.useRef)(null);
55
48
  const colors = availableColors.map(({
56
49
  value,
57
50
  label
@@ -59,21 +52,28 @@ const AdvancedColorPicker = ({
59
52
  return {
60
53
  value,
61
54
  label,
62
- ref: gridItemRefs.current[index]
55
+ getRef: () =>
56
+ /* Fallback to null to satisfy the TypeScript compiler */
57
+
58
+ /* istanbul ignore next */
59
+ simpleColorPickerData.current ? simpleColorPickerData.current.gridItemRefs[index] : null
63
60
  };
64
61
  });
65
62
  (0, _react.useEffect)(() => {
66
- if (dialogOpen || isOpen) {
67
- const selected = colors.find(c => currentColor === c.value);
68
- setSelectedColorRef(selected.ref.current);
63
+ if (dialogOpen || open) {
64
+ const newColor = colors === null || colors === void 0 ? void 0 : colors.find(c => currentColor === c.value);
65
+ /* istanbul ignore else */
66
+
67
+ if (newColor) {
68
+ setSelectedColorRef(newColor.getRef());
69
+ }
69
70
  }
70
- }, [colors, currentColor, dialogOpen, isOpen]);
71
+ }, [colors, currentColor, dialogOpen, open]);
71
72
  const handleFocus = (0, _react.useCallback)((e, firstFocusableElement) => {
73
+ /* istanbul ignore else */
72
74
  if (e.key === "Tab") {
73
- /* istanbul ignore else */
74
75
  if (e.shiftKey) {
75
- /* istanbul ignore else */
76
- if (document.activeElement === firstFocusableElement) {
76
+ if (document.activeElement === firstFocusableElement && selectedColorRef) {
77
77
  selectedColorRef.focus();
78
78
  e.preventDefault();
79
79
  }
@@ -98,8 +98,14 @@ const AdvancedColorPicker = ({
98
98
  }
99
99
  }, [onClose]);
100
100
  const handleOnChange = (0, _react.useCallback)(e => {
101
- const selected = colors.find(c => e.target.value === c.value);
102
- setSelectedColorRef(selected.ref.current);
101
+ const newColor = colors === null || colors === void 0 ? void 0 : colors.find(c => e.target.value === c.value);
102
+ /* istanbul ignore else */
103
+
104
+ if (newColor) {
105
+ setSelectedColorRef(newColor.getRef());
106
+ }
107
+ /* istanbul ignore else */
108
+
103
109
 
104
110
  if (onChange) {
105
111
  onChange(e);
@@ -129,12 +135,12 @@ const AdvancedColorPicker = ({
129
135
  onClick: handleOnOpen,
130
136
  onKeyDown: handleOnKeyDown,
131
137
  color: currentColor,
132
- tabIndex: "0"
138
+ tabIndex: 0
133
139
  }), /*#__PURE__*/_react.default.createElement(_advancedColorPicker.DialogStyle, {
134
140
  "aria-describedby": ariaDescribedBy,
135
141
  "aria-label": ariaLabel,
136
142
  "aria-labelledby": ariaLabelledBy,
137
- open: dialogOpen || isOpen,
143
+ open: dialogOpen || open,
138
144
  size: "auto",
139
145
  onCancel: handleOnClose,
140
146
  bespokeFocusTrap: handleFocus,
@@ -148,70 +154,191 @@ const AdvancedColorPicker = ({
148
154
  legend: "",
149
155
  onChange: handleOnChange,
150
156
  onBlur: handleOnBlur,
151
- onKeyDown: handleColorOnKeyDown
152
- }, colors.map(({
157
+ onKeyDown: handleColorOnKeyDown,
158
+ ref: simpleColorPickerData
159
+ }, colors === null || colors === void 0 ? void 0 : colors.map(({
153
160
  value,
154
- label,
155
- ref
161
+ label
156
162
  }) => /*#__PURE__*/_react.default.createElement(_simpleColorPicker.SimpleColor, {
157
163
  value: value,
158
164
  key: value,
159
165
  "aria-label": label,
160
166
  id: value,
161
- defaultChecked: value === currentColor,
162
- ref: ref
167
+ defaultChecked: value === currentColor
163
168
  })))));
164
169
  };
165
170
 
166
171
  AdvancedColorPicker.propTypes = {
167
- /** Filtered styled system margin props */
168
- ...marginPropTypes,
169
-
170
- /** Prop to specify the aria-describedby property of the component */
171
172
  "aria-describedby": _propTypes.default.string,
172
-
173
- /**
174
- * Prop to specify the aria-label of the component.
175
- * To be used only when the title prop is not defined, and the component is not labelled by any internal element.
176
- */
177
173
  "aria-label": _propTypes.default.string,
178
-
179
- /**
180
- * Prop to specify the aria-labeledby property of the component
181
- * To be used when the title prop is a custom React Node,
182
- * or the component is labelled by an internal element other than the title.
183
- */
184
174
  "aria-labelledby": _propTypes.default.string,
185
-
186
- /** Specifies the name prop to be applied to each color in the group */
187
- name: _propTypes.default.string.isRequired,
188
-
189
- /** Prop for `availableColors` containing array of objects of colors */
190
- availableColors: _propTypes.default.array.isRequired,
191
-
192
- /** Prop for `defaultColor` containing the default color for `uncontrolled` use */
193
- defaultColor: _propTypes.default.string.isRequired,
194
-
195
- /** Prop for `selectedColor` containing pre-selected color for `controlled` use */
196
- selectedColor: _propTypes.default.string,
197
-
198
- /** Prop for `onChange` event */
199
- onChange: _propTypes.default.func,
200
-
201
- /** Prop for `onOpen` event */
202
- onOpen: _propTypes.default.func,
203
-
204
- /** Prop for `onClose` event */
205
- onClose: _propTypes.default.func,
206
-
207
- /** Prop for `open` status */
208
- open: _propTypes.default.bool,
209
-
210
- /** Prop for `onBlur` event */
211
- onBlur: _propTypes.default.func,
212
-
213
- /** The ARIA role to be applied to the container */
214
- role: _propTypes.default.string
175
+ "availableColors": _propTypes.default.arrayOf(_propTypes.default.shape({
176
+ "label": _propTypes.default.string.isRequired,
177
+ "value": _propTypes.default.string.isRequired
178
+ })).isRequired,
179
+ "defaultColor": _propTypes.default.string.isRequired,
180
+ "m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
181
+ "__@toStringTag": _propTypes.default.string.isRequired,
182
+ "description": _propTypes.default.string,
183
+ "toString": _propTypes.default.func.isRequired,
184
+ "valueOf": _propTypes.default.func.isRequired
185
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
186
+ "__@toStringTag": _propTypes.default.string.isRequired,
187
+ "description": _propTypes.default.string,
188
+ "toString": _propTypes.default.func.isRequired,
189
+ "valueOf": _propTypes.default.func.isRequired
190
+ }), _propTypes.default.string]),
191
+ "margin": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
192
+ "__@toStringTag": _propTypes.default.string.isRequired,
193
+ "description": _propTypes.default.string,
194
+ "toString": _propTypes.default.func.isRequired,
195
+ "valueOf": _propTypes.default.func.isRequired
196
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
197
+ "__@toStringTag": _propTypes.default.string.isRequired,
198
+ "description": _propTypes.default.string,
199
+ "toString": _propTypes.default.func.isRequired,
200
+ "valueOf": _propTypes.default.func.isRequired
201
+ }), _propTypes.default.string]),
202
+ "marginBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
203
+ "__@toStringTag": _propTypes.default.string.isRequired,
204
+ "description": _propTypes.default.string,
205
+ "toString": _propTypes.default.func.isRequired,
206
+ "valueOf": _propTypes.default.func.isRequired
207
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
208
+ "__@toStringTag": _propTypes.default.string.isRequired,
209
+ "description": _propTypes.default.string,
210
+ "toString": _propTypes.default.func.isRequired,
211
+ "valueOf": _propTypes.default.func.isRequired
212
+ }), _propTypes.default.string]),
213
+ "marginLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
214
+ "__@toStringTag": _propTypes.default.string.isRequired,
215
+ "description": _propTypes.default.string,
216
+ "toString": _propTypes.default.func.isRequired,
217
+ "valueOf": _propTypes.default.func.isRequired
218
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
219
+ "__@toStringTag": _propTypes.default.string.isRequired,
220
+ "description": _propTypes.default.string,
221
+ "toString": _propTypes.default.func.isRequired,
222
+ "valueOf": _propTypes.default.func.isRequired
223
+ }), _propTypes.default.string]),
224
+ "marginRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
225
+ "__@toStringTag": _propTypes.default.string.isRequired,
226
+ "description": _propTypes.default.string,
227
+ "toString": _propTypes.default.func.isRequired,
228
+ "valueOf": _propTypes.default.func.isRequired
229
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
230
+ "__@toStringTag": _propTypes.default.string.isRequired,
231
+ "description": _propTypes.default.string,
232
+ "toString": _propTypes.default.func.isRequired,
233
+ "valueOf": _propTypes.default.func.isRequired
234
+ }), _propTypes.default.string]),
235
+ "marginTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
236
+ "__@toStringTag": _propTypes.default.string.isRequired,
237
+ "description": _propTypes.default.string,
238
+ "toString": _propTypes.default.func.isRequired,
239
+ "valueOf": _propTypes.default.func.isRequired
240
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
241
+ "__@toStringTag": _propTypes.default.string.isRequired,
242
+ "description": _propTypes.default.string,
243
+ "toString": _propTypes.default.func.isRequired,
244
+ "valueOf": _propTypes.default.func.isRequired
245
+ }), _propTypes.default.string]),
246
+ "marginX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
247
+ "__@toStringTag": _propTypes.default.string.isRequired,
248
+ "description": _propTypes.default.string,
249
+ "toString": _propTypes.default.func.isRequired,
250
+ "valueOf": _propTypes.default.func.isRequired
251
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
252
+ "__@toStringTag": _propTypes.default.string.isRequired,
253
+ "description": _propTypes.default.string,
254
+ "toString": _propTypes.default.func.isRequired,
255
+ "valueOf": _propTypes.default.func.isRequired
256
+ }), _propTypes.default.string]),
257
+ "marginY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
258
+ "__@toStringTag": _propTypes.default.string.isRequired,
259
+ "description": _propTypes.default.string,
260
+ "toString": _propTypes.default.func.isRequired,
261
+ "valueOf": _propTypes.default.func.isRequired
262
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
263
+ "__@toStringTag": _propTypes.default.string.isRequired,
264
+ "description": _propTypes.default.string,
265
+ "toString": _propTypes.default.func.isRequired,
266
+ "valueOf": _propTypes.default.func.isRequired
267
+ }), _propTypes.default.string]),
268
+ "mb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
269
+ "__@toStringTag": _propTypes.default.string.isRequired,
270
+ "description": _propTypes.default.string,
271
+ "toString": _propTypes.default.func.isRequired,
272
+ "valueOf": _propTypes.default.func.isRequired
273
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
274
+ "__@toStringTag": _propTypes.default.string.isRequired,
275
+ "description": _propTypes.default.string,
276
+ "toString": _propTypes.default.func.isRequired,
277
+ "valueOf": _propTypes.default.func.isRequired
278
+ }), _propTypes.default.string]),
279
+ "ml": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
280
+ "__@toStringTag": _propTypes.default.string.isRequired,
281
+ "description": _propTypes.default.string,
282
+ "toString": _propTypes.default.func.isRequired,
283
+ "valueOf": _propTypes.default.func.isRequired
284
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
285
+ "__@toStringTag": _propTypes.default.string.isRequired,
286
+ "description": _propTypes.default.string,
287
+ "toString": _propTypes.default.func.isRequired,
288
+ "valueOf": _propTypes.default.func.isRequired
289
+ }), _propTypes.default.string]),
290
+ "mr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
291
+ "__@toStringTag": _propTypes.default.string.isRequired,
292
+ "description": _propTypes.default.string,
293
+ "toString": _propTypes.default.func.isRequired,
294
+ "valueOf": _propTypes.default.func.isRequired
295
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
296
+ "__@toStringTag": _propTypes.default.string.isRequired,
297
+ "description": _propTypes.default.string,
298
+ "toString": _propTypes.default.func.isRequired,
299
+ "valueOf": _propTypes.default.func.isRequired
300
+ }), _propTypes.default.string]),
301
+ "mt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
302
+ "__@toStringTag": _propTypes.default.string.isRequired,
303
+ "description": _propTypes.default.string,
304
+ "toString": _propTypes.default.func.isRequired,
305
+ "valueOf": _propTypes.default.func.isRequired
306
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
307
+ "__@toStringTag": _propTypes.default.string.isRequired,
308
+ "description": _propTypes.default.string,
309
+ "toString": _propTypes.default.func.isRequired,
310
+ "valueOf": _propTypes.default.func.isRequired
311
+ }), _propTypes.default.string]),
312
+ "mx": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
313
+ "__@toStringTag": _propTypes.default.string.isRequired,
314
+ "description": _propTypes.default.string,
315
+ "toString": _propTypes.default.func.isRequired,
316
+ "valueOf": _propTypes.default.func.isRequired
317
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
318
+ "__@toStringTag": _propTypes.default.string.isRequired,
319
+ "description": _propTypes.default.string,
320
+ "toString": _propTypes.default.func.isRequired,
321
+ "valueOf": _propTypes.default.func.isRequired
322
+ }), _propTypes.default.string]),
323
+ "my": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
324
+ "__@toStringTag": _propTypes.default.string.isRequired,
325
+ "description": _propTypes.default.string,
326
+ "toString": _propTypes.default.func.isRequired,
327
+ "valueOf": _propTypes.default.func.isRequired
328
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
329
+ "__@toStringTag": _propTypes.default.string.isRequired,
330
+ "description": _propTypes.default.string,
331
+ "toString": _propTypes.default.func.isRequired,
332
+ "valueOf": _propTypes.default.func.isRequired
333
+ }), _propTypes.default.string]),
334
+ "name": _propTypes.default.string.isRequired,
335
+ "onBlur": _propTypes.default.func,
336
+ "onChange": _propTypes.default.func,
337
+ "onClose": _propTypes.default.func,
338
+ "onOpen": _propTypes.default.func,
339
+ "open": _propTypes.default.bool,
340
+ "role": _propTypes.default.string,
341
+ "selectedColor": _propTypes.default.string
215
342
  };
216
343
  var _default = AdvancedColorPicker;
217
344
  exports.default = _default;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import StyledAdvancedColorPickerCell from "./advanced-color-picker-cell.style";
3
+ declare const StyledAdvancedColorPickerWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ declare const StyledAdvancedColorPickerPreview: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ declare const DialogStyle: import("styled-components").StyledComponent<({ className, children, open, height, size, title, disableEscKey, subtitle, disableAutoFocus, focusFirstElement, focusableSelectors, onCancel, showCloseIcon, bespokeFocusTrap, disableClose, help, role, contentPadding, focusableContainers, ...rest }: import("../dialog/dialog.component").DialogProps) => JSX.Element, any, {}, never>;
6
+ export { StyledAdvancedColorPickerWrapper, StyledAdvancedColorPickerCell, StyledAdvancedColorPickerPreview, DialogStyle, };
@@ -1 +1,2 @@
1
- export { default } from "./advanced-color-picker";
1
+ export { default } from "./advanced-color-picker.component";
2
+ export type { AdvancedColorPickerProps } from "./advanced-color-picker.component";
@@ -57,15 +57,21 @@ Alert.propTypes = {
57
57
  }
58
58
  })),
59
59
  "focusableSelectors": _propTypes.default.string,
60
- "focusFirstElement": _propTypes.default.shape({
61
- "current": _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), function (props, propName) {
60
+ "focusFirstElement": _propTypes.default.oneOfType([function (props, propName) {
61
+ if (props[propName] == null) {
62
+ return new Error("Prop '" + propName + "' is required but wasn't specified");
63
+ } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
64
+ return new Error("Expected prop '" + propName + "' to be of type Element");
65
+ }
66
+ }, _propTypes.default.shape({
67
+ "current": function (props, propName) {
62
68
  if (props[propName] == null) {
63
- return new Error("Prop '" + propName + "' is required but wasn't specified");
69
+ return null;
64
70
  } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
65
71
  return new Error("Expected prop '" + propName + "' to be of type Element");
66
72
  }
67
- }]).isRequired
68
- }),
73
+ }
74
+ })]),
69
75
  "height": _propTypes.default.string,
70
76
  "help": _propTypes.default.string,
71
77
  "onCancel": _propTypes.default.func,
@@ -165,15 +165,21 @@ Confirm.propTypes = {
165
165
  "disableCancel": _propTypes.default.bool,
166
166
  "disableConfirm": _propTypes.default.bool,
167
167
  "disableEscKey": _propTypes.default.bool,
168
- "focusFirstElement": _propTypes.default.shape({
169
- "current": _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), function (props, propName) {
168
+ "focusFirstElement": _propTypes.default.oneOfType([function (props, propName) {
169
+ if (props[propName] == null) {
170
+ return new Error("Prop '" + propName + "' is required but wasn't specified");
171
+ } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
172
+ return new Error("Expected prop '" + propName + "' to be of type Element");
173
+ }
174
+ }, _propTypes.default.shape({
175
+ "current": function (props, propName) {
170
176
  if (props[propName] == null) {
171
- return new Error("Prop '" + propName + "' is required but wasn't specified");
177
+ return null;
172
178
  } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
173
179
  return new Error("Expected prop '" + propName + "' to be of type Element");
174
180
  }
175
- }]).isRequired
176
- }),
181
+ }
182
+ })]),
177
183
  "height": _propTypes.default.string,
178
184
  "iconType": _propTypes.default.oneOf(["error", "warning"]),
179
185
  "isLoadingConfirm": _propTypes.default.bool,
@@ -2,11 +2,9 @@ import React from "react";
2
2
  import { ModalProps } from "../modal";
3
3
  import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
4
4
  import { DialogSizes } from "./dialog.config";
5
+ import { CustomRefObject } from "../../__internal__/focus-trap";
5
6
  declare const PADDING_VALUES: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8];
6
7
  declare type PaddingValues = typeof PADDING_VALUES[number];
7
- declare type CustomRefObject<T> = {
8
- current?: T | null;
9
- };
10
8
  export interface ContentPaddingInterface {
11
9
  p?: PaddingValues;
12
10
  py?: PaddingValues;
@@ -37,7 +35,7 @@ export interface DialogProps extends ModalProps, TagProps {
37
35
  */
38
36
  bespokeFocusTrap?: (ev: KeyboardEvent, firstElement?: HTMLElement, lastElement?: HTMLElement) => void;
39
37
  /** Optional reference to an element meant to be focused on open */
40
- focusFirstElement?: React.MutableRefObject<HTMLElement | null>;
38
+ focusFirstElement?: CustomRefObject<HTMLElement> | HTMLElement | null;
41
39
  /** Optional selector to identify the focusable elements, if not provided a default selector is used */
42
40
  focusableSelectors?: string;
43
41
  /** Allows developers to specify a specific height for the dialog. */
@@ -248,15 +248,21 @@ Dialog.propTypes = {
248
248
  }
249
249
  })),
250
250
  "focusableSelectors": _propTypes.default.string,
251
- "focusFirstElement": _propTypes.default.shape({
252
- "current": _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), function (props, propName) {
251
+ "focusFirstElement": _propTypes.default.oneOfType([function (props, propName) {
252
+ if (props[propName] == null) {
253
+ return new Error("Prop '" + propName + "' is required but wasn't specified");
254
+ } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
255
+ return new Error("Expected prop '" + propName + "' to be of type Element");
256
+ }
257
+ }, _propTypes.default.shape({
258
+ "current": function (props, propName) {
253
259
  if (props[propName] == null) {
254
- return new Error("Prop '" + propName + "' is required but wasn't specified");
260
+ return null;
255
261
  } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
256
262
  return new Error("Expected prop '" + propName + "' to be of type Element");
257
263
  }
258
- }]).isRequired
259
- }),
264
+ }
265
+ })]),
260
266
  "height": _propTypes.default.string,
261
267
  "help": _propTypes.default.string,
262
268
  "onCancel": _propTypes.default.func,