@hazelcast/ui 1.3.1 → 1.3.2-next.12
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.
- package/lib/AutocompleteField.d.ts +1 -0
- package/lib/AutocompleteField.js +6 -3
- package/lib/AutocompleteField.js.map +1 -1
- package/lib/Calendar/Calendar.d.ts +2 -0
- package/lib/Calendar/Calendar.js +5 -5
- package/lib/Calendar/Calendar.js.map +1 -1
- package/lib/Checkbox.d.ts +2 -1
- package/lib/Checkbox.js +2 -2
- package/lib/Checkbox.js.map +1 -1
- package/lib/Code.d.ts +1 -0
- package/lib/Code.js +2 -2
- package/lib/Code.js.map +1 -1
- package/lib/CodeEditor.d.ts +1 -0
- package/lib/CodeEditor.js +2 -2
- package/lib/CodeEditor.js.map +1 -1
- package/lib/FieldHeader.js +3 -3
- package/lib/FieldHeader.js.map +1 -1
- package/lib/Link.d.ts +2 -1
- package/lib/Link.js +3 -2
- package/lib/Link.js.map +1 -1
- package/lib/Link.module.scss +12 -2
- package/lib/Popover.d.ts +2 -0
- package/lib/Popover.js +10 -5
- package/lib/Popover.js.map +1 -1
- package/lib/Select/SelectField.d.ts +1 -0
- package/lib/Select/SelectField.js +9 -2
- package/lib/Select/SelectField.js.map +1 -1
- package/lib/Table/Header.d.ts +4 -1
- package/lib/Table/Header.js +46 -7
- package/lib/Table/Header.js.map +1 -1
- package/lib/Table/Header.module.scss +19 -0
- package/lib/Table/Table.d.ts +19 -6
- package/lib/Table/Table.js +161 -36
- package/lib/Table/Table.js.map +1 -1
- package/lib/Table/Table.module.scss +23 -0
- package/lib/Tabs/Tab.d.ts +18 -4
- package/lib/Tabs/Tab.js +15 -4
- package/lib/Tabs/Tab.js.map +1 -1
- package/lib/Tooltip.d.ts +2 -2
- package/lib/Tooltip.js +2 -12
- package/lib/Tooltip.js.map +1 -1
- package/lib/hooks/useTableCustomizableColumns.d.ts +9 -8
- package/lib/hooks/useTableCustomizableColumns.js +15 -17
- package/lib/hooks/useTableCustomizableColumns.js.map +1 -1
- package/lib/utils/portal.d.ts +2 -0
- package/lib/utils/portal.js +15 -0
- package/lib/utils/portal.js.map +1 -0
- package/package.json +2 -2
- package/lib/Calendar/components/CalendarHeader.tsx +0 -45
- package/lib/Calendar/components/CalendarInput.tsx +0 -50
- package/lib/Calendar/components/CalendarTime.tsx +0 -117
- package/lib/Calendar/helpers/consts.ts +0 -99
package/lib/AutocompleteField.js
CHANGED
|
@@ -54,7 +54,7 @@ export const highlightOptionText = (labelText, inputValue) => {
|
|
|
54
54
|
}), key: val + `${i}` }, val)))
|
|
55
55
|
: labelText;
|
|
56
56
|
};
|
|
57
|
-
export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', renderOption, ...rest }) => {
|
|
57
|
+
export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', renderOption, openMenuOnClick = true, ...rest }) => {
|
|
58
58
|
// when the user clicks on an input with the value, the value should disappear,
|
|
59
59
|
// but then it should appear after the user selects something or blurs the input
|
|
60
60
|
const [isValueHidden, setValueHidden] = useState(false);
|
|
@@ -78,7 +78,9 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
|
|
|
78
78
|
if (onFocus) {
|
|
79
79
|
onFocus(e);
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
if (!openMenuOnClick) {
|
|
82
|
+
setValueHidden(true);
|
|
83
|
+
}
|
|
82
84
|
}, [onFocus]);
|
|
83
85
|
const onBlurFn = React.useCallback((e) => {
|
|
84
86
|
if (onBlur) {
|
|
@@ -130,6 +132,7 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
|
|
|
130
132
|
ClearIndicator,
|
|
131
133
|
Input,
|
|
132
134
|
},
|
|
135
|
+
openMenuOnClick,
|
|
133
136
|
...rest,
|
|
134
137
|
};
|
|
135
138
|
return (React.createElement("div", { "data-test": dataTest, className: cn(styles.container, {
|
|
@@ -144,7 +147,7 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
|
|
|
144
147
|
styles.menuContainer, className) },
|
|
145
148
|
React.createElement(Label, { id: id, label: label, className: cn(styles.label, labelClassName) }),
|
|
146
149
|
React.createElement("div", { className: styles.selectBlock },
|
|
147
|
-
React.createElement(ReactSelect, { onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn,
|
|
150
|
+
React.createElement(ReactSelect, { onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn, styles: {
|
|
148
151
|
...props.styles,
|
|
149
152
|
singleValue: (base) => {
|
|
150
153
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtF,OAAO,WAAW,EAAE,EAAc,UAAU,EAAa,MAAM,cAAc,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,MAAM,MAAM,iCAAiC,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { ReactDatePickerProps } from 'react-datepicker';
|
|
3
|
+
import { PortalContainer } from '../utils/portal';
|
|
3
4
|
export declare type CalendarSize = 'medium' | 'small';
|
|
4
5
|
export declare type CalendarProps = {
|
|
5
6
|
containerClassName?: string;
|
|
@@ -8,5 +9,6 @@ export declare type CalendarProps = {
|
|
|
8
9
|
inputClassName?: string;
|
|
9
10
|
onDateChange: ReactDatePickerProps['onChange'];
|
|
10
11
|
size?: CalendarSize;
|
|
12
|
+
container?: PortalContainer;
|
|
11
13
|
} & Omit<ReactDatePickerProps, 'value' | 'onChange'>;
|
|
12
14
|
export declare const Calendar: FC<CalendarProps>;
|
package/lib/Calendar/Calendar.js
CHANGED
|
@@ -5,15 +5,15 @@ import DatePicker from 'react-datepicker';
|
|
|
5
5
|
import { CalendarInput } from './components/CalendarInput';
|
|
6
6
|
import { CalendarHeader } from './components/CalendarHeader';
|
|
7
7
|
import { CalendarTime } from './components/CalendarTime';
|
|
8
|
-
import { canUseDOM } from '../utils/ssr';
|
|
9
8
|
import styles from './Calendar.module.scss';
|
|
9
|
+
import { getPortalContainer } from '../utils/portal';
|
|
10
10
|
const DATE_FORMAT = 'yyyy-MM-dd';
|
|
11
11
|
const DATE_FORMAT_WITH_TIME = 'yyyy-MM-dd hh:mm a';
|
|
12
|
-
const CalendarPopperContainer = ({ children }) =>
|
|
12
|
+
const CalendarPopperContainer = (container) => ({ children }) => container && children
|
|
13
13
|
? createPortal(React.createElement("div", { className: styles.popper },
|
|
14
|
-
React.createElement("div", { "data-test": "date-picker-popper-container", className: "hz-date-picker-popper-container" }, children)),
|
|
14
|
+
React.createElement("div", { "data-test": "date-picker-popper-container", className: "hz-date-picker-popper-container" }, children)), container)
|
|
15
15
|
: null;
|
|
16
|
-
export const Calendar = ({ calendarClassName, className, containerClassName, date, inputLabel, inputClassName, onDateChange, showTimeInput, size = 'medium', ...props }) => (React.createElement("div", { className: cn(styles.container, {
|
|
16
|
+
export const Calendar = ({ calendarClassName, className, containerClassName, date, inputLabel, inputClassName, onDateChange, showTimeInput, size = 'medium', container = `body`, ...props }) => (React.createElement("div", { className: cn(styles.container, {
|
|
17
17
|
[styles.time]: showTimeInput,
|
|
18
18
|
}, containerClassName) },
|
|
19
19
|
React.createElement(DatePicker, { ...props, calendarClassName: cn(styles.calendar, calendarClassName), className: className,
|
|
@@ -21,7 +21,7 @@ export const Calendar = ({ calendarClassName, className, containerClassName, dat
|
|
|
21
21
|
* Note: The library instantiates the component using React.cloneElement
|
|
22
22
|
* Source: https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L926
|
|
23
23
|
*/
|
|
24
|
-
customInput: React.createElement(CalendarInput, { label: inputLabel, textFieldSize: size, className: inputClassName }), customTimeInput: React.createElement(CalendarTime, null), dateFormat: showTimeInput ? DATE_FORMAT_WITH_TIME : DATE_FORMAT, onChange: onDateChange, popperContainer: CalendarPopperContainer,
|
|
24
|
+
customInput: React.createElement(CalendarInput, { label: inputLabel, textFieldSize: size, className: inputClassName }), customTimeInput: React.createElement(CalendarTime, null), dateFormat: showTimeInput ? DATE_FORMAT_WITH_TIME : DATE_FORMAT, onChange: onDateChange, popperContainer: CalendarPopperContainer(getPortalContainer(container)),
|
|
25
25
|
/*
|
|
26
26
|
* Note:
|
|
27
27
|
* 'renderCustomHeader' is the only child component override prop that is not instantiated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,UAAoC,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,UAAoC,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAmB,MAAM,iBAAiB,CAAA;AAErE,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAElD,MAAM,uBAAuB,GAC3B,CAAC,SAA6B,EAAM,EAAE,CACtC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACf,SAAS,IAAI,QAAQ;IACnB,CAAC,CAAC,YAAY,CACV,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;QAC3B,0CAAe,8BAA8B,EAAC,SAAS,EAAC,iCAAiC,IACtF,QAAQ,CACL,CACF,EACN,SAAS,CACV;IACH,CAAC,CAAC,IAAI,CAAA;AAcZ,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAC1C,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,IAAI,GAAG,QAAQ,EACf,SAAS,GAAG,MAAM,EAClB,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,6BACE,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;QACE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa;KAC7B,EACD,kBAAkB,CACnB;IAED,oBAAC,UAAU,OACL,KAAK,EACT,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,SAAS;QACpB;;;WAGG;QACH,WAAW,EAAE,oBAAC,aAAa,IAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,GAAI,EACjG,eAAe,EAAE,oBAAC,YAAY,OAAG,EACjC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAC/D,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvE;;;;WAIG;QACH,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,KAAK,EACtB,aAAa,EAAE,aAAa,GAC5B,CACE,CACP,CAAA"}
|
package/lib/Checkbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeEvent, FC, FocusEvent, ReactElement, ReactText } from 'react';
|
|
1
|
+
import { ChangeEvent, FC, FocusEvent, ReactElement, ReactText, MouseEvent } from 'react';
|
|
2
2
|
import { DataTestProp } from '@hazelcast/helpers';
|
|
3
3
|
import { HelpProps } from './Help';
|
|
4
4
|
declare type CheckboxCoreProps = {
|
|
@@ -6,6 +6,7 @@ declare type CheckboxCoreProps = {
|
|
|
6
6
|
value?: string;
|
|
7
7
|
onBlur?: (e: FocusEvent<HTMLInputElement>) => void;
|
|
8
8
|
onChange: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
9
|
+
onClick?: (e: MouseEvent<HTMLInputElement>) => void;
|
|
9
10
|
error?: string;
|
|
10
11
|
checked?: boolean;
|
|
11
12
|
};
|
package/lib/Checkbox.js
CHANGED
|
@@ -17,7 +17,7 @@ import { TruncatedText } from './TruncatedText';
|
|
|
17
17
|
* - They can have a special indeterminate state, that represents a '3rd' value, usually used in tree structures, etc.
|
|
18
18
|
*/
|
|
19
19
|
export const Checkbox = (props) => {
|
|
20
|
-
const { checked, name, onChange, onBlur, className, classNameLabel, value, indeterminate = false, label, helperText, error, disabled = false, required, 'data-test': dataTest, } = props;
|
|
20
|
+
const { checked, name, onChange, onBlur, className, classNameLabel, value, indeterminate = false, label, helperText, error, disabled = false, required, 'data-test': dataTest, onClick, } = props;
|
|
21
21
|
const inputRef = useRef(null);
|
|
22
22
|
const id = useUID();
|
|
23
23
|
let ariaChecked = checked ? 'true' : 'false';
|
|
@@ -32,7 +32,7 @@ export const Checkbox = (props) => {
|
|
|
32
32
|
}, classNameLabel), htmlFor: id },
|
|
33
33
|
label !== undefined && (React.createElement("div", { className: styles.name, "data-test": "input-checkbox-label" },
|
|
34
34
|
React.createElement(TruncatedText, { text: label }))),
|
|
35
|
-
React.createElement("input", { type: "checkbox", ref: inputRef, id: id, name: name, checked: !!checked, onChange: onChange, onBlur: onBlur, value: value, disabled: disabled, "aria-checked": ariaChecked, "aria-invalid": !!error, "aria-required": required, "aria-describedby": helperText && helpTooltipId(id), "aria-errormessage": error && errorId(id) }),
|
|
35
|
+
React.createElement("input", { type: "checkbox", ref: inputRef, id: id, name: name, checked: !!checked, onChange: onChange, onBlur: onBlur, onClick: onClick, value: value, disabled: disabled, "aria-checked": ariaChecked, "aria-invalid": !!error, "aria-required": required, "aria-describedby": helperText && helpTooltipId(id), "aria-errormessage": error && errorId(id) }),
|
|
36
36
|
indeterminate ? React.createElement(Minus, { className: styles.checkmark }) : React.createElement(Check, { className: styles.checkmark }),
|
|
37
37
|
helperText && React.createElement(Help, { parentId: id, helperText: helperText, className: styles.helperText })),
|
|
38
38
|
React.createElement(Error, { truncated: true, error: error, className: styles.errorContainer, inputId: id })));
|
package/lib/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwE,MAAM,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwE,MAAM,EAAc,MAAM,OAAO,CAAA;AACvH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,IAAI,EAAa,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEvD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAwB/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,KAAK,EAAE,EAAE;IACnD,MAAM,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,aAAa,GAAG,KAAK,EACrB,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,WAAW,EAAE,QAAQ,EACrB,OAAO,GACR,GAAG,KAAK,CAAA;IACT,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAEnB,IAAI,WAAW,GAAmC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5E,IAAI,aAAa,EAAE;QACjB,WAAW,GAAG,OAAO,CAAA;KACtB;IAED,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,eAAa,QAAQ;QAKlG,+BACE,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,OAAO,EACd;gBACE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK;gBACvB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO;gBACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;aAC5B,EACD,cAAc,CACf,EACD,OAAO,EAAE,EAAE;YAEV,KAAK,KAAK,SAAS,IAAI,CACtB,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,eAAY,sBAAsB;gBAC3D,oBAAC,aAAa,IAAC,IAAI,EAAE,KAAK,GAAI,CAC1B,CACP;YACD,+BACE,IAAI,EAAC,UAAU,EACf,GAAG,EAAE,QAAQ,EACb,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,kBACJ,WAAW,kBACX,CAAC,CAAC,KAAK,mBACN,QAAQ,sBACL,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC,uBAC9B,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,GACvC;YACD,aAAa,CAAC,CAAC,CAAC,oBAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,oBAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAI;YAC/F,UAAU,IAAI,oBAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,GAAI,CACrF;QACR,oBAAC,KAAK,IAAC,SAAS,QAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,GAAI,CAC5E,CACP,CAAA;AACH,CAAC,CAAA"}
|
package/lib/Code.d.ts
CHANGED
package/lib/Code.js
CHANGED
|
@@ -10,7 +10,7 @@ const DEFAULT_OPTIONS = {
|
|
|
10
10
|
lineWrapping: false,
|
|
11
11
|
lineNumbers: true,
|
|
12
12
|
};
|
|
13
|
-
export const Code = ({ value, className, options = DEFAULT_OPTIONS }) => {
|
|
14
|
-
return React.createElement(CodeEditor, { value: value, options: options, className: className, customExtensions: [EditorView.editable.of(false)] });
|
|
13
|
+
export const Code = ({ value, className, options = DEFAULT_OPTIONS, dataTest = 'code' }) => {
|
|
14
|
+
return (React.createElement(CodeEditor, { value: value, options: options, dataTest: dataTest, className: className, customExtensions: [EditorView.editable.of(false)] }));
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=Code.js.map
|
package/lib/Code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../src/Code.tsx"],"names":[],"mappings":"AAAA;;;;EAIE;AAEF,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../src/Code.tsx"],"names":[],"mappings":"AAAA;;;;EAIE;AAEF,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,cAAc,CAAA;AASlE,MAAM,eAAe,GAAgB;IACnC,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,IAAI;CAClB,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,eAAe,EAAE,QAAQ,GAAG,MAAM,EAAE,EAAE,EAAE;IACxG,OAAO,CACL,oBAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GACjD,CACH,CAAA;AACH,CAAC,CAAA"}
|
package/lib/CodeEditor.d.ts
CHANGED
package/lib/CodeEditor.js
CHANGED
|
@@ -66,7 +66,7 @@ const DEFAULT_OPTIONS = {
|
|
|
66
66
|
lineWrapping: false,
|
|
67
67
|
lineNumbers: true,
|
|
68
68
|
};
|
|
69
|
-
export const CodeEditor = ({ name, value, className, options = {}, onChange, onBlur, customExtensions, customKeymap, innerRef, error, errorClassName, }) => {
|
|
69
|
+
export const CodeEditor = ({ name, value, className, options = {}, onChange, onBlur, customExtensions, customKeymap, innerRef, error, errorClassName, dataTest = 'code-editor', }) => {
|
|
70
70
|
const id = useUID();
|
|
71
71
|
const parentRef = useRef(null);
|
|
72
72
|
const cm = useRef(null);
|
|
@@ -174,7 +174,7 @@ export const CodeEditor = ({ name, value, className, options = {}, onChange, onB
|
|
|
174
174
|
});
|
|
175
175
|
}, [value]);
|
|
176
176
|
return (React.createElement(React.Fragment, null,
|
|
177
|
-
React.createElement("div", { className: cn(styles.container, className), id: name, ref: parentRef }),
|
|
177
|
+
React.createElement("div", { className: cn(styles.container, className), id: name, ref: parentRef, "data-test": dataTest }),
|
|
178
178
|
React.createElement(Error, { error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
|
|
179
179
|
};
|
|
180
180
|
//# sourceMappingURL=CodeEditor.js.map
|
package/lib/CodeEditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../src/CodeEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCE;AAEF,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAgC,MAAM,OAAO,CAAA;AACvG,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EACL,UAAU,EAEV,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,MAAM,GAGP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../src/CodeEditor.tsx"],"names":[],"mappings":"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"}
|
package/lib/FieldHeader.js
CHANGED
|
@@ -8,8 +8,8 @@ export const FieldHeader = (props) => {
|
|
|
8
8
|
if (showAriaLabel) {
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
11
|
-
return (React.createElement("div", { className: styles.root },
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
return label ? (React.createElement("div", { className: styles.root },
|
|
12
|
+
React.createElement(Label, { id: id, label: label, "data-test": dataTest ? `${dataTest}-label` : undefined, className: cn(styles.label, { [styles.small]: size === 'small' }, labelClassName) }),
|
|
13
|
+
helperText && (React.createElement(Help, { parentId: id, helperText: helperText, className: styles.helperText, "data-test": dataTest ? `${dataTest}-helperText` : undefined })))) : null;
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=FieldHeader.js.map
|
package/lib/FieldHeader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldHeader.js","sourceRoot":"","sources":["../src/FieldHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAGxC,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAY9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACrD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAE9G,IAAI,aAAa,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,
|
|
1
|
+
{"version":3,"file":"FieldHeader.js","sourceRoot":"","sources":["../src/FieldHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAGxC,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAY9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACrD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAE9G,IAAI,aAAa,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI;QACzB,oBAAC,KAAK,IACJ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,eACD,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC,CAAC,CAAC,SAAS,EACrD,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,EAAE,cAAc,CAAC,GACjF;QACD,UAAU,IAAI,CACb,oBAAC,IAAI,IACH,QAAQ,EAAE,EAAE,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,CAAC,UAAU,eACjB,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC,CAAC,SAAS,GAC1D,CACH,CACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA"}
|
package/lib/Link.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare type LinkKind = 'primary' | 'secondary';
|
|
|
4
4
|
declare const sizes: {
|
|
5
5
|
normal: string;
|
|
6
6
|
small: string;
|
|
7
|
+
inherit: string;
|
|
7
8
|
};
|
|
8
9
|
declare type AnchorAttributes = AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
9
10
|
declare type IconProps = {
|
|
@@ -43,7 +44,7 @@ export declare type LinkProps = IconProps & {
|
|
|
43
44
|
*
|
|
44
45
|
* ### General Info
|
|
45
46
|
* - There are 2 kinds (colors) of Link available - primary (default) and secondary.
|
|
46
|
-
* - There are
|
|
47
|
+
* - There are 3 sizes of Link available - normal (default), small and inherit.
|
|
47
48
|
* - The default state of all types of link is underlined and on hover it has no underline.
|
|
48
49
|
* - Link can be used as a stand-alone component with right chevron icon.
|
|
49
50
|
* - You can change underlying semantics with a component property. Typescript will guard you on providing other properties related to the component type.
|
package/lib/Link.js
CHANGED
|
@@ -5,6 +5,7 @@ import styles from './Link.module.scss';
|
|
|
5
5
|
const sizes = {
|
|
6
6
|
normal: styles.normal,
|
|
7
7
|
small: styles.small,
|
|
8
|
+
inherit: styles.inherit,
|
|
8
9
|
};
|
|
9
10
|
/**
|
|
10
11
|
* ### Purpose
|
|
@@ -13,7 +14,7 @@ const sizes = {
|
|
|
13
14
|
*
|
|
14
15
|
* ### General Info
|
|
15
16
|
* - There are 2 kinds (colors) of Link available - primary (default) and secondary.
|
|
16
|
-
* - There are
|
|
17
|
+
* - There are 3 sizes of Link available - normal (default), small and inherit.
|
|
17
18
|
* - The default state of all types of link is underlined and on hover it has no underline.
|
|
18
19
|
* - Link can be used as a stand-alone component with right chevron icon.
|
|
19
20
|
* - You can change underlying semantics with a component property. Typescript will guard you on providing other properties related to the component type.
|
|
@@ -21,7 +22,7 @@ const sizes = {
|
|
|
21
22
|
export const Link = forwardRef(({ component = 'a', kind = 'primary', size = 'normal', bold = false, icon, ariaLabel, iconClassName, href, rel = 'noopener', target = '_self', type = 'button', onClick, className, children, }, ref) => {
|
|
22
23
|
const relFinal = Array.isArray(rel) ? rel.join(' ') : rel;
|
|
23
24
|
const commonProps = {
|
|
24
|
-
className: cn(styles[size], {
|
|
25
|
+
className: cn(styles.link, styles[size], {
|
|
25
26
|
// kind
|
|
26
27
|
[styles.primary]: kind === 'primary',
|
|
27
28
|
[styles.secondary]: kind === 'secondary',
|
package/lib/Link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8C,UAAU,EAAkD,MAAM,OAAO,CAAA;AAErI,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAIvC,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8C,UAAU,EAAkD,MAAM,OAAO,CAAA;AAErI,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAIvC,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAA;AA6DD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAC5B,CACE,EACE,SAAS,GAAG,GAAG,EACf,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,KAAK,EACZ,IAAI,EACJ,SAAS,EACT,aAAa,EACb,IAAI,EACJ,GAAG,GAAG,UAAU,EAChB,MAAM,GAAG,OAAO,EAChB,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAEzD,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,IAAI,CAAC,EACZ;YACE,OAAO;YACP,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,SAAS;YACpC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,KAAK,WAAW;YACxC,OAAO;YACP,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI;SACpB,EACD,SAAS,CACV;QACD,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;KACjB,CAAA;IAED,MAAM,aAAa,GACjB,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAClB,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,GAAI,CAC/H,CAAC,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CACzB,8BAAO,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAA0C;QAC/F,QAAQ;QACR,aAAa,CACZ,CACL,CAAC,CAAC,CAAC,CACF,mCAAY,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAA0C;QACjF,QAAQ;QACR,aAAa,CACP,CACV,CAAA;AACH,CAAC,CACF,CAAA;AACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA"}
|
package/lib/Link.module.scss
CHANGED
|
@@ -34,16 +34,26 @@
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.
|
|
37
|
+
.link {
|
|
38
38
|
@include link;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.normal {
|
|
39
42
|
@include c.typographyBodyNormal;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
.small {
|
|
43
|
-
@include link;
|
|
44
46
|
@include c.typographyBodySmall;
|
|
45
47
|
}
|
|
46
48
|
|
|
49
|
+
.inherit {
|
|
50
|
+
font-family: inherit;
|
|
51
|
+
font-size: inherit;
|
|
52
|
+
letter-spacing: inherit;
|
|
53
|
+
line-height: inherit;
|
|
54
|
+
font-weight: inherit;
|
|
55
|
+
}
|
|
56
|
+
|
|
47
57
|
.bold {
|
|
48
58
|
@include c.typographyBodyWeight('bold');
|
|
49
59
|
}
|
package/lib/Popover.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { Placement } from '@popperjs/core';
|
|
3
|
+
import { PortalContainer } from './utils/portal';
|
|
3
4
|
import { DataTestProp } from '../../helpers';
|
|
4
5
|
export interface PopoverProps extends DataTestProp {
|
|
5
6
|
open: boolean;
|
|
@@ -17,5 +18,6 @@ export interface PopoverProps extends DataTestProp {
|
|
|
17
18
|
onClose: () => void;
|
|
18
19
|
matchReferenceSize?: boolean;
|
|
19
20
|
onUpdateLayout?: () => void;
|
|
21
|
+
container?: PortalContainer;
|
|
20
22
|
}
|
|
21
23
|
export declare const Popover: FC<PopoverProps>;
|
package/lib/Popover.js
CHANGED
|
@@ -3,11 +3,11 @@ import { createPortal } from 'react-dom';
|
|
|
3
3
|
import { usePopper } from 'react-popper';
|
|
4
4
|
import cls from 'classnames';
|
|
5
5
|
import FocusTrap from 'focus-trap-react';
|
|
6
|
-
import {
|
|
6
|
+
import { getPortalContainer } from './utils/portal';
|
|
7
7
|
import { useOnClickOutside, useRefValue } from './hooks';
|
|
8
8
|
import styles from './Popover.module.scss';
|
|
9
9
|
export const Popover = (props) => {
|
|
10
|
-
const { open, children, anchorElement, placement = 'bottom-end', className, offset, arrowElement, onClose, 'data-test': dataTest, matchReferenceSize, onUpdateLayout, } = props;
|
|
10
|
+
const { open, children, anchorElement, placement = 'bottom-end', className, offset, arrowElement, onClose, 'data-test': dataTest, matchReferenceSize, onUpdateLayout, container = `body`, } = props;
|
|
11
11
|
const getOnUpdate = useRefValue(onUpdateLayout);
|
|
12
12
|
const [popperElement, setPopperElement] = useState(null);
|
|
13
13
|
const hasFocusableElements = useMemo(() => {
|
|
@@ -62,8 +62,13 @@ export const Popover = (props) => {
|
|
|
62
62
|
placement,
|
|
63
63
|
modifiers,
|
|
64
64
|
});
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const containerEl = getPortalContainer(container, anchorElement);
|
|
66
|
+
useOnClickOutside(open, {
|
|
67
|
+
target: popperElement,
|
|
68
|
+
excludeElement: anchorElement,
|
|
69
|
+
handler: onClose,
|
|
70
|
+
});
|
|
71
|
+
return (React.createElement(React.Fragment, null, containerEl
|
|
67
72
|
? createPortal(open && (React.createElement(FocusTrap, { active: hasFocusableElements, focusTrapOptions: {
|
|
68
73
|
initialFocus: false,
|
|
69
74
|
setReturnFocus: anchorElement || undefined,
|
|
@@ -71,7 +76,7 @@ export const Popover = (props) => {
|
|
|
71
76
|
allowOutsideClick: true,
|
|
72
77
|
onDeactivate: onClose,
|
|
73
78
|
} },
|
|
74
|
-
React.createElement("div", { ref: setPopperElement, "data-test": dataTest, className: cls(styles.root, className), style: popper.styles.popper, ...popper.attributes.popper }, children))),
|
|
79
|
+
React.createElement("div", { ref: setPopperElement, "data-test": dataTest, className: cls(styles.root, className), style: popper.styles.popper, ...popper.attributes.popper }, children))), containerEl)
|
|
75
80
|
: children));
|
|
76
81
|
};
|
|
77
82
|
//# sourceMappingURL=Popover.js.map
|
package/lib/Popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAmB,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,MAAM,MAAM,uBAAuB,CAAA;AAkB1C,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,KAAK,EAAE,EAAE;IACjD,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,GAAG,YAAY,EACxB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EAAE,QAAQ,EACrB,kBAAkB,EAClB,cAAc,EACd,SAAS,GAAG,MAAM,GACnB,GAAG,KAAK,CAAA;IACT,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;IAC/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAE5E,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;;QACxC,OAAO,IAAI;YACT,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,CAC9B,2MAA2M,CAC5M,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,KAAK,CAAA;IACX,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAA;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAgD,EAAE;;QAC1E,MAAM,SAAS,GAAgD;YAC7D;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,CAAC,mCAAI,CAAC,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,CAAC,mCAAI,CAAC,CAAC;iBACzC;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACP,YAAY,EAAE,UAAU;iBACzB;aACF;YACD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;SACtD,CAAA;QAED,IAAI,kBAAkB,EAAE;YACtB,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;oBAC1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;oBAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;oBAEpH,IAAI,CAAC,aAAa;wBAAE,OAAM;oBAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAmB,CAAC,CAAA;oBACrH,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;oBAE1D,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;wBAAE,OAAM;oBAEhE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,IAAI,CAAA;oBACzD,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAA;oBACtB,IAAI,QAAQ,EAAE;wBACZ,QAAQ,EAAE,CAAA;qBACX;gBACH,CAAC;gBACD,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,CAAC,eAAe,CAAC;aAC5B,CAAC,CAAA;SACH;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE1E,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE;QACrD,SAAS;QACT,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEhE,iBAAiB,CAAC,IAAI,EAAE;QACtB,MAAM,EAAE,aAAa;QACrB,cAAc,EAAE,aAAa;QAC7B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO,CACL,0CACG,WAAW;QACV,CAAC,CAAC,YAAY,CACV,IAAI,IAAI,CACN,oBAAC,SAAS,IACR,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,EAAE;gBAChB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,aAAa,IAAI,SAAS;gBAC1C,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,OAAO;aACtB;YAED,6BACE,GAAG,EAAE,gBAAgB,eACV,QAAQ,EACnB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KACvB,MAAM,CAAC,UAAU,CAAC,MAAM,IAE3B,QAAQ,CACL,CACI,CACb,EACD,WAAW,CACZ;QACH,CAAC,CAAC,QAAQ,CACX,CACJ,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -36,6 +36,7 @@ export declare type SelectFieldExtraProps<V> = {
|
|
|
36
36
|
formatOptionLabel?: ReactSelectProps<SelectFieldOption<V>>['formatOptionLabel'];
|
|
37
37
|
renderMenuFooter?: RenderMenuFooterFunction;
|
|
38
38
|
styles?: ReactSelectProps<SelectFieldOption<V>>['styles'];
|
|
39
|
+
singleValueTooltipVisible?: boolean;
|
|
39
40
|
} & DataTestProp & Pick<InputHTMLAttributes<HTMLElement>, 'autoFocus' | 'disabled' | 'required' | 'placeholder'> & Pick<ReactSelectProps, 'isSearchable' | 'isClearable' | 'menuIsOpen' | 'menuPlacement' | 'noOptionsMessage' | 'inputValue'> & SelectFieldIconLeftProps & Omit<FieldHeaderProps, 'id'>;
|
|
40
41
|
export declare type SelectFieldProps<V> = SelectFieldCoreStaticProps<V> & SelectFieldExtraProps<V>;
|
|
41
42
|
export declare const SelectField: <V extends string | number = string>(props: SelectFieldProps<V>) => React.ReactElement<SelectFieldProps<V>, string | React.JSXElementConstructor<any>>;
|
|
@@ -10,8 +10,9 @@ import { Icon } from '../Icon';
|
|
|
10
10
|
import { getMenuContainer, getOptionsMap } from './helpers';
|
|
11
11
|
import { components } from './Common';
|
|
12
12
|
import styles from './SelectField.module.scss';
|
|
13
|
+
import { components as rsComponents } from 'react-select';
|
|
13
14
|
export const SelectField = (props) => {
|
|
14
|
-
const { 'data-test': dataTest, className, disabled, error, errorClassName, helperText, isClearable = false, isCreatable, isSearchable = true, label, labelClassName, showAriaLabel = false, size = 'medium', menuIsOpen, menuPortalTarget = 'body', menuPlacement = 'auto', name, onChange, options, placeholder, required, value, formatGroupLabel, formatOptionLabel, renderMenuFooter, ...iconAndRest } = props;
|
|
15
|
+
const { 'data-test': dataTest, className, disabled, error, errorClassName, helperText, isClearable = false, isCreatable, isSearchable = true, label, labelClassName, showAriaLabel = false, size = 'medium', menuIsOpen, menuPortalTarget = 'body', menuPlacement = 'auto', name, onChange, options, placeholder, required, value, formatGroupLabel, formatOptionLabel, renderMenuFooter, singleValueTooltipVisible = true, ...iconAndRest } = props;
|
|
15
16
|
const id = useUID();
|
|
16
17
|
const { iconLeft, iconLeftAriaLabel, iconLeftClassName, iconLeftContainerClassName, ...rest } = iconAndRest;
|
|
17
18
|
useIsomorphicLayoutEffect(() => {
|
|
@@ -39,6 +40,12 @@ export const SelectField = (props) => {
|
|
|
39
40
|
menuIsOpen ? selectRef.current.focus() : selectRef.current.blur();
|
|
40
41
|
}
|
|
41
42
|
}, [menuIsOpen]);
|
|
43
|
+
const innerComponents = useMemo(() => singleValueTooltipVisible
|
|
44
|
+
? components
|
|
45
|
+
: {
|
|
46
|
+
...components,
|
|
47
|
+
SingleValue: rsComponents.SingleValue,
|
|
48
|
+
}, [singleValueTooltipVisible]);
|
|
42
49
|
const selectProps = {
|
|
43
50
|
ref: selectRef,
|
|
44
51
|
inputId: id,
|
|
@@ -60,7 +67,7 @@ export const SelectField = (props) => {
|
|
|
60
67
|
menuIsOpen,
|
|
61
68
|
menuPlacement,
|
|
62
69
|
menuPortalTarget: getMenuContainer(menuPortalTarget),
|
|
63
|
-
components,
|
|
70
|
+
components: innerComponents,
|
|
64
71
|
formatGroupLabel,
|
|
65
72
|
formatOptionLabel,
|
|
66
73
|
renderMenuFooter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../../src/Select/SelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiD,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrH,OAAO,WAAkG,MAAM,cAAc,CAAA;AAC7H,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAa,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA4C,MAAM,WAAW,CAAA;AACrG,OAAO,EAAE,UAAU,EAA4B,MAAM,UAAU,CAAA;AAE/D,OAAO,MAAM,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../../src/Select/SelectField.tsx"],"names":[],"mappings":"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"}
|
package/lib/Table/Header.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC, MouseEvent, KeyboardEvent } from 'react';
|
|
1
|
+
import { FC, MouseEvent, KeyboardEvent, DragEvent } from 'react';
|
|
2
2
|
import { TableHeaderProps, TableResizerProps } from 'react-table';
|
|
3
3
|
export declare type HeaderProps = {
|
|
4
4
|
/**
|
|
@@ -15,5 +15,8 @@ export declare type HeaderProps = {
|
|
|
15
15
|
isResizing: boolean;
|
|
16
16
|
getResizerProps: (props?: Partial<TableResizerProps>) => TableResizerProps;
|
|
17
17
|
isLastHeader: boolean;
|
|
18
|
+
index: number;
|
|
19
|
+
onDragStart?: (e: DragEvent) => void;
|
|
20
|
+
onDrop?: (e: DragEvent, index: number) => void;
|
|
18
21
|
} & Omit<TableHeaderProps, 'key'>;
|
|
19
22
|
export declare const Header: FC<HeaderProps>;
|
package/lib/Table/Header.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import React, { useMemo, useCallback } from 'react';
|
|
2
|
-
import { ChevronDown, ChevronUp } from 'react-feather';
|
|
1
|
+
import React, { useMemo, useCallback, useRef } from 'react';
|
|
2
|
+
import { ChevronDown, ChevronUp, Menu } from 'react-feather';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { Icon } from '../Icon';
|
|
5
5
|
import { keyIsOneOf } from '../utils/keyboard';
|
|
6
6
|
import styles from './Header.module.scss';
|
|
7
|
-
export const Header = ({ align = 'left', colSpan, children, canSort, isSorted, isSortedDesc, canResize, isResizing, getResizerProps, isLastHeader, onClick, style, className, role, }) => {
|
|
7
|
+
export const Header = ({ align = 'left', colSpan, children, canSort, isSorted, isSortedDesc, canResize, isResizing, getResizerProps, isLastHeader, onClick, style, className, role, index, onDragStart, onDrop, }) => {
|
|
8
|
+
const rootRef = useRef(null);
|
|
9
|
+
const isDragStarterRef = useRef(false);
|
|
10
|
+
const counterRef = useRef(0);
|
|
11
|
+
const draggable = !!onDrop && !!onDragStart;
|
|
8
12
|
let ariaSort;
|
|
9
13
|
if (isSorted) {
|
|
10
14
|
ariaSort = isSortedDesc ? 'descending' : 'ascending';
|
|
@@ -13,6 +17,7 @@ export const Header = ({ align = 'left', colSpan, children, canSort, isSorted, i
|
|
|
13
17
|
[styles.left]: align === 'left',
|
|
14
18
|
[styles.right]: align === 'right',
|
|
15
19
|
}), icon: !isSorted ? ChevronUp : isSortedDesc ? ChevronDown : ChevronUp, ariaLabel: !isSorted ? 'Not Sorted' : isSortedDesc ? 'Descending' : 'Ascending', size: "smallMedium" })), [align, isSorted, isSortedDesc]);
|
|
20
|
+
const DraggableIcon = (React.createElement(Icon, { icon: Menu, size: "small", ariaLabel: "draggable-indicator", className: cn(styles.dragIcon, { [styles.dragIconRight]: align === 'right' }) }));
|
|
16
21
|
const onKeyPress = useCallback((event) => {
|
|
17
22
|
event.preventDefault();
|
|
18
23
|
if (keyIsOneOf(event, 'Enter') && onClick) {
|
|
@@ -25,16 +30,50 @@ export const Header = ({ align = 'left', colSpan, children, canSort, isSorted, i
|
|
|
25
30
|
onKeyPress: onClick ? onKeyPress : undefined,
|
|
26
31
|
onClick,
|
|
27
32
|
};
|
|
28
|
-
return (React.createElement("div", { "data-test": "table-header-container", className: cn(styles.container, className), style: style, role: role, "aria-colspan": colSpan, "aria-sort": ariaSort },
|
|
29
|
-
React.createElement("div", { "data-test": "table-header-content", className: cn(styles.th, {
|
|
33
|
+
return (React.createElement("div", { ref: rootRef, "data-test": "table-header-container", className: cn(styles.container, className), style: style, role: role, "aria-colspan": colSpan, "aria-sort": ariaSort },
|
|
34
|
+
React.createElement("div", { draggable: draggable, "data-test": "table-header-content", className: cn(styles.th, {
|
|
30
35
|
[styles.sortable]: canSort,
|
|
31
36
|
[styles.alignLeft]: align === 'left',
|
|
32
37
|
[styles.alignRight]: align === 'right',
|
|
33
38
|
[styles.alignCenter]: align === 'center',
|
|
34
|
-
}),
|
|
39
|
+
}), onDragStart: draggable
|
|
40
|
+
? (e) => {
|
|
41
|
+
e.dataTransfer.setData('text/plain', String(index));
|
|
42
|
+
isDragStarterRef.current = true;
|
|
43
|
+
onDragStart && onDragStart(e);
|
|
44
|
+
}
|
|
45
|
+
: undefined, onDragEnd: () => {
|
|
46
|
+
isDragStarterRef.current = false;
|
|
47
|
+
}, onDragOver: (e) => e.preventDefault(), onDragEnter: draggable
|
|
48
|
+
? (e) => {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
if (!isDragStarterRef.current && rootRef.current && counterRef.current === 0) {
|
|
51
|
+
rootRef.current.classList.add(styles.dragOver);
|
|
52
|
+
}
|
|
53
|
+
counterRef.current++;
|
|
54
|
+
}
|
|
55
|
+
: undefined, onDragLeave: draggable
|
|
56
|
+
? () => {
|
|
57
|
+
counterRef.current--;
|
|
58
|
+
if (rootRef.current && counterRef.current === 0) {
|
|
59
|
+
rootRef.current.classList.remove(styles.dragOver);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
: undefined, onDrop: draggable
|
|
63
|
+
? (e) => {
|
|
64
|
+
onDrop && onDrop(e, index);
|
|
65
|
+
if (rootRef.current) {
|
|
66
|
+
rootRef.current.classList.remove(styles.dragOver);
|
|
67
|
+
}
|
|
68
|
+
isDragStarterRef.current = false;
|
|
69
|
+
counterRef.current = 0;
|
|
70
|
+
}
|
|
71
|
+
: undefined, ...buttonRoleProps },
|
|
72
|
+
draggable && align === 'right' && DraggableIcon,
|
|
35
73
|
canSort && align === 'right' && Chevron,
|
|
36
74
|
children,
|
|
37
|
-
canSort && (align === 'left' || align === 'center') && Chevron
|
|
75
|
+
canSort && (align === 'left' || align === 'center') && Chevron,
|
|
76
|
+
draggable && (align === 'left' || align === 'center') && DraggableIcon),
|
|
38
77
|
canResize && !isLastHeader && (React.createElement("div", { "data-test": "table-header-column-resizer-container", className: styles.resizer, ...getResizerProps() },
|
|
39
78
|
React.createElement("div", { "data-test": "table-header-column-resizer", className: cn(styles.separator, {
|
|
40
79
|
[styles.resizing]: isResizing,
|