@hazelcast/ui 1.3.2-next.9 → 1.3.2-next.91
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/Alert.d.ts +6 -5
- package/lib/Alert.js +2 -2
- package/lib/Alert.js.map +1 -1
- package/lib/Alert.module.scss +15 -11
- package/lib/AutocompleteField.d.ts +10 -7
- package/lib/AutocompleteField.js +12 -7
- package/lib/AutocompleteField.js.map +1 -1
- package/lib/AutocompleteField.module.scss +16 -0
- package/lib/AutocompleteFieldFormik.d.ts +1 -1
- package/lib/Badge.d.ts +4 -4
- package/lib/Button.d.ts +20 -19
- package/lib/Button.js +8 -6
- package/lib/Button.js.map +1 -1
- package/lib/Button.module.scss +60 -7
- package/lib/Calendar/Calendar.d.ts +8 -4
- package/lib/Calendar/Calendar.js +32 -22
- package/lib/Calendar/Calendar.js.map +1 -1
- package/lib/Calendar/Calendar.module.scss +3 -2
- package/lib/Calendar/CalendarRange.d.ts +4 -4
- package/lib/Calendar/CalendarRange.js +5 -5
- package/lib/Calendar/CalendarRange.js.map +1 -1
- package/lib/Calendar/CalendarRange.module.scss +5 -0
- package/lib/Calendar/components/CalendarHeader.d.ts +2 -2
- package/lib/Calendar/components/CalendarInput.d.ts +8 -6
- package/lib/Calendar/components/CalendarInput.js +3 -3
- package/lib/Calendar/components/CalendarInput.js.map +1 -1
- package/lib/Calendar/components/CalendarTime.d.ts +2 -2
- package/lib/Calendar/components/CalendarTime.js +15 -10
- package/lib/Calendar/components/CalendarTime.js.map +1 -1
- package/lib/Calendar/components/CalendarTime.module.scss +4 -0
- package/lib/Calendar/helpers/consts.js +97 -97
- package/lib/Calendar/helpers/consts.js.map +1 -1
- package/lib/Card.d.ts +1 -1
- package/lib/Card.js +2 -2
- package/lib/Card.js.map +1 -1
- package/lib/Card.module.scss +1 -1
- package/lib/Carousel.d.ts +26 -0
- package/lib/Carousel.js +28 -0
- package/lib/Carousel.js.map +1 -0
- package/lib/Carousel.module.scss +43 -0
- package/lib/Checkbox.d.ts +4 -3
- package/lib/Checkbox.js +4 -7
- package/lib/Checkbox.js.map +1 -1
- package/lib/Checkbox.module.scss +10 -7
- package/lib/CheckboxFormik.d.ts +1 -1
- package/lib/CircularProgressBar.d.ts +1 -1
- package/lib/CircularProgressBar.module.scss +1 -1
- package/lib/ContextMenu.d.ts +15 -0
- package/lib/ContextMenu.js +61 -0
- package/lib/ContextMenu.js.map +1 -0
- package/lib/ContextMenu.module.scss +37 -0
- package/lib/Dialog.d.ts +2 -2
- package/lib/EmptyState.d.ts +5 -5
- package/lib/FieldHeader.d.ts +10 -6
- package/lib/FieldHeader.js +3 -3
- package/lib/FieldHeader.js.map +1 -1
- package/lib/Help.d.ts +2 -1
- package/lib/Help.js +2 -2
- package/lib/Help.js.map +1 -1
- package/lib/Icon.d.ts +6 -5
- package/lib/Icon.js +3 -3
- package/lib/Icon.js.map +1 -1
- package/lib/IconButton.d.ts +8 -6
- package/lib/IconButton.js +3 -3
- package/lib/IconButton.js.map +1 -1
- package/lib/InteractiveList.d.ts +11 -7
- package/lib/InteractiveList.js +11 -8
- package/lib/InteractiveList.js.map +1 -1
- package/lib/InteractiveList.module.scss +43 -8
- package/lib/InteractiveListFormik.d.ts +1 -1
- package/lib/InteractiveListFormik.js +24 -21
- package/lib/InteractiveListFormik.js.map +1 -1
- package/lib/Label.d.ts +2 -1
- package/lib/Label.js +1 -1
- package/lib/Label.js.map +1 -1
- package/lib/Label.module.scss +4 -0
- package/lib/Link.d.ts +7 -7
- package/lib/Link.js +3 -3
- package/lib/Link.js.map +1 -1
- package/lib/Loader.d.ts +3 -1
- package/lib/Loader.js +3 -3
- package/lib/Loader.js.map +1 -1
- package/lib/Modal.d.ts +4 -2
- package/lib/Modal.js.map +1 -1
- package/lib/Notification.d.ts +5 -4
- package/lib/Notification.js +5 -3
- package/lib/Notification.js.map +1 -1
- package/lib/Notification.module.scss +14 -10
- package/lib/NumberBadge.d.ts +2 -1
- package/lib/NumberBadge.js +3 -2
- package/lib/NumberBadge.js.map +1 -1
- package/lib/NumberField.d.ts +5 -7
- package/lib/NumberField.js.map +1 -1
- package/lib/NumberFieldFormik.d.ts +1 -1
- package/lib/Overlay.d.ts +7 -2
- package/lib/Overlay.js +5 -5
- package/lib/Overlay.js.map +1 -1
- package/lib/Overlay.module.scss +1 -1
- package/lib/Pagination.d.ts +7 -6
- package/lib/Pagination.js +7 -7
- package/lib/Pagination.js.map +1 -1
- package/lib/Pagination.module.scss +3 -2
- package/lib/PasswordField.d.ts +6 -4
- package/lib/PasswordField.js +7 -3
- package/lib/PasswordField.js.map +1 -1
- package/lib/PasswordField.module.scss +6 -0
- package/lib/PasswordFieldFormik.d.ts +1 -1
- package/lib/Popover.d.ts +2 -0
- package/lib/Popover.js +37 -21
- package/lib/Popover.js.map +1 -1
- package/lib/Radio.d.ts +3 -3
- package/lib/Radio.module.scss +2 -2
- package/lib/RadioFormik.d.ts +1 -1
- package/lib/RadioGroup.d.ts +3 -3
- package/lib/RadioGroupFormik.d.ts +1 -1
- package/lib/SegmentedControl.d.ts +7 -6
- package/lib/SegmentedControl.js +4 -4
- package/lib/SegmentedControl.js.map +1 -1
- package/lib/SegmentedControl.module.scss +2 -2
- package/lib/SegmentedControlFormik.d.ts +1 -1
- package/lib/Select/CheckableSelectField.d.ts +4 -3
- package/lib/Select/CheckableSelectField.js +7 -2
- package/lib/Select/CheckableSelectField.js.map +1 -1
- package/lib/Select/CheckableSelectField.module.scss +10 -4
- package/lib/Select/CheckableSelectFieldFormik.d.ts +1 -1
- package/lib/Select/Common.d.ts +5 -11
- package/lib/Select/Common.js +8 -1
- package/lib/Select/Common.js.map +1 -1
- package/lib/Select/MultiSelectField.d.ts +10 -10
- package/lib/Select/MultiSelectField.js +7 -4
- package/lib/Select/MultiSelectField.js.map +1 -1
- package/lib/Select/MultiSelectFieldFormik.d.ts +1 -1
- package/lib/Select/SelectField.d.ts +8 -9
- package/lib/Select/SelectField.js +9 -6
- package/lib/Select/SelectField.js.map +1 -1
- package/lib/Select/SelectField.module.scss +6 -4
- package/lib/Select/SelectFieldFormik.d.ts +1 -1
- package/lib/Select/helpers.d.ts +4 -4
- package/lib/Select/helpers.js.map +1 -1
- package/lib/SimpleTable.d.ts +1 -1
- package/lib/Slider.d.ts +8 -8
- package/lib/Slider.module.scss +2 -2
- package/lib/SliderFormik.d.ts +1 -1
- package/lib/Table/Cell.d.ts +11 -3
- package/lib/Table/Cell.js +44 -9
- package/lib/Table/Cell.js.map +1 -1
- package/lib/Table/Cell.module.scss +8 -0
- package/lib/Table/CellWrapper.d.ts +11 -0
- package/lib/Table/CellWrapper.js +29 -0
- package/lib/Table/CellWrapper.js.map +1 -0
- package/lib/Table/EnhancedRenderers.d.ts +2 -2
- package/lib/Table/Header.d.ts +1 -2
- package/lib/Table/Header.js +3 -2
- package/lib/Table/Header.js.map +1 -1
- package/lib/Table/Header.module.scss +40 -28
- package/lib/Table/Row.d.ts +4 -4
- package/lib/Table/Row.js +6 -2
- package/lib/Table/Row.js.map +1 -1
- package/lib/Table/Row.module.scss +2 -2
- package/lib/Table/Table.d.ts +15 -19
- package/lib/Table/Table.js +108 -160
- package/lib/Table/Table.js.map +1 -1
- package/lib/Table/Table.module.scss +5 -17
- package/lib/Table/TableContent.d.ts +26 -0
- package/lib/Table/TableContent.js +52 -0
- package/lib/Table/TableContent.js.map +1 -0
- package/lib/Table/TableContent.module.scss +21 -0
- package/lib/Table/constants.d.ts +2 -0
- package/lib/Table/constants.js +3 -0
- package/lib/Table/constants.js.map +1 -0
- package/lib/Table/features/columnsSelection/CellCopyablePopover.d.ts +8 -0
- package/lib/Table/features/columnsSelection/CellCopyablePopover.js +13 -0
- package/lib/Table/features/columnsSelection/CellCopyablePopover.js.map +1 -0
- package/lib/Table/features/columnsSelection/CellCopyablePopover.module.scss +12 -0
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.d.ts +6 -0
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.js +17 -0
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.js.map +1 -0
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.module.scss +6 -0
- package/lib/Table/features/columnsSelection/ContextMenu/index.d.ts +1 -0
- package/lib/Table/features/columnsSelection/ContextMenu/index.js +2 -0
- package/lib/Table/features/columnsSelection/ContextMenu/index.js.map +1 -0
- package/lib/Table/features/columnsSelection/columnsSelection.d.ts +19 -0
- package/lib/Table/features/columnsSelection/columnsSelection.js +71 -0
- package/lib/Table/features/columnsSelection/columnsSelection.js.map +1 -0
- package/lib/Table/features/columnsSelection/helpers.d.ts +7 -0
- package/lib/Table/features/columnsSelection/helpers.js +26 -0
- package/lib/Table/features/columnsSelection/helpers.js.map +1 -0
- package/lib/Table/features/columnsSelection/index.d.ts +4 -0
- package/lib/Table/features/columnsSelection/index.js +5 -0
- package/lib/Table/features/columnsSelection/index.js.map +1 -0
- package/lib/Tabs/Tab.d.ts +6 -6
- package/lib/Tabs/Tab.js +1 -1
- package/lib/Tabs/Tab.js.map +1 -1
- package/lib/Tabs/Tab.module.scss +9 -3
- package/lib/Tabs/TabContext.d.ts +3 -3
- package/lib/Tabs/TabList.d.ts +1 -1
- package/lib/Tabs/TabPanel.d.ts +1 -1
- package/lib/Terminal.d.ts +1 -1
- package/lib/Terminal.module.scss +1 -1
- package/lib/TextArea.d.ts +4 -4
- package/lib/TextArea.module.scss +5 -1
- package/lib/TextAreaFormik.d.ts +1 -1
- package/lib/TextField.d.ts +12 -6
- package/lib/TextField.js +7 -6
- package/lib/TextField.js.map +1 -1
- package/lib/TextField.module.scss +12 -1
- package/lib/TextFieldFormik.d.ts +1 -1
- package/lib/TimeField.d.ts +3 -3
- package/lib/TimeField.js +4 -12
- package/lib/TimeField.js.map +1 -1
- package/lib/TimeField.module.scss +0 -87
- package/lib/TimeFieldFormik.d.ts +1 -1
- package/lib/Toast.d.ts +3 -3
- package/lib/Toast.module.scss +6 -6
- package/lib/Toggle.d.ts +4 -4
- package/lib/Toggle.js +1 -1
- package/lib/Toggle.js.map +1 -1
- package/lib/Toggle.module.scss +1 -1
- package/lib/ToggleFormik.d.ts +1 -1
- package/lib/Tooltip.d.ts +7 -6
- package/lib/Tooltip.js +5 -15
- package/lib/Tooltip.js.map +1 -1
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useCloseOnResize.d.ts +8 -0
- package/lib/hooks/useCloseOnResize.js +16 -0
- package/lib/hooks/useCloseOnResize.js.map +1 -0
- package/lib/hooks/useDimensions.d.ts +1 -1
- package/lib/hooks/useOnClickOutside.d.ts +1 -1
- package/lib/hooks/useOnClickOutside.js +4 -0
- package/lib/hooks/useOnClickOutside.js.map +1 -1
- package/lib/hooks/usePagination.d.ts +2 -2
- package/lib/index.d.ts +3 -4
- package/lib/index.js +3 -4
- package/lib/index.js.map +1 -1
- package/lib/utils/formik.d.ts +2 -2
- package/lib/utils/portal.d.ts +2 -0
- package/lib/utils/portal.js +15 -0
- package/lib/utils/portal.js.map +1 -0
- package/lib/utils/test.d.ts +3 -1
- package/lib/utils/test.js.map +1 -1
- package/lib/utils/types.d.ts +1 -1
- package/package.json +60 -58
- package/styles/constants/_colors.scss +18 -15
- package/styles/constants/_sizes.scss +2 -1
- package/styles/constants/_typography.scss +34 -24
- package/styles/helpers/_gradients.scss +11 -0
- package/styles/helpers/_index.scss +1 -0
- package/styles/typography/fonts/LICENSE.txt +202 -0
- package/styles/typography/fonts/OpenSans-Italic.woff2 +0 -0
- package/styles/typography/fonts/OpenSans-Regular.woff2 +0 -0
- package/styles/typography/fonts/OpenSans-SemiBold.woff2 +0 -0
- package/styles/typography/fonts/OpenSans-SemiBoldItalic.woff2 +0 -0
- package/styles/typography/fonts/PPTelegraf-Light.woff2 +0 -0
- package/styles/typography/fonts/PPTelegraf-Medium.woff2 +0 -0
- package/styles/typography/fonts/PPTelegraf-RegularSlanted.woff2 +0 -0
- package/styles/typography/fonts/PPTelegraf-UltralightSlanted.woff2 +0 -0
- package/styles/typography/open-sans.css +35 -0
- package/styles/typography/pp-telegraf.css +31 -0
- package/lib/Code.d.ts +0 -8
- package/lib/Code.js +0 -16
- package/lib/Code.js.map +0 -1
- package/lib/CodeEditor.d.ts +0 -28
- package/lib/CodeEditor.js +0 -180
- package/lib/CodeEditor.js.map +0 -1
- package/lib/CodeEditor.module.scss +0 -32
- package/lib/CodeEditorFormik.d.ts +0 -9
- package/lib/CodeEditorFormik.js +0 -14
- package/lib/CodeEditorFormik.js.map +0 -1
- package/lib/hooks/useTableCustomizableColumns.d.ts +0 -10
- package/lib/hooks/useTableCustomizableColumns.js +0 -21
- package/lib/hooks/useTableCustomizableColumns.js.map +0 -1
- package/styles/fonts.css +0 -26
package/lib/IconButton.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Icon } from './Icon';
|
|
|
6
6
|
import { Tooltip } from './Tooltip';
|
|
7
7
|
import { Loader } from './Loader';
|
|
8
8
|
import styles from './IconButton.module.scss';
|
|
9
|
-
export const IconButton = forwardRef(({ component: Component = 'button', icon, iconClassName, iconColor, className, size, kind = 'transparent', ariaHidden, ariaLabelledBy, ariaLabel,
|
|
9
|
+
export const IconButton = forwardRef(({ component: Component = 'button', icon, iconClassName, iconColor, iconRole, loaderRole, className, size, kind = 'transparent', ariaHidden, ariaLabelledBy, ariaLabel,
|
|
10
10
|
// Disabled tooltip
|
|
11
11
|
disabled, disabledTooltip, disabledTooltipVisible, disabledTooltipPlacement, rel = 'noopener', target, type = 'button', loading, padding, tooltip, tooltipPlacement, tooltipVisible, ...rest }, ref) => {
|
|
12
12
|
const tooltipId = useUID();
|
|
@@ -18,8 +18,8 @@ disabled, disabledTooltip, disabledTooltipVisible, disabledTooltipPlacement, rel
|
|
|
18
18
|
[styles.paddingNormal]: padding === 'normal',
|
|
19
19
|
}, className), "aria-hidden": ariaHidden, "aria-label": ariaLabel, "aria-labelledby": labelledByFinal, disabled: disabled !== null && disabled !== void 0 ? disabled : loading, rel: Component === 'a' ? relFinal : undefined, target: Component === 'a' ? target : undefined, type: Component === 'button' ? type : undefined, ...rest },
|
|
20
20
|
React.createElement("span", { className: styles.body, ref: mergeRefs([ref, tooltipRef]) },
|
|
21
|
-
loading && React.createElement(Loader, { size: size }),
|
|
22
|
-
!loading && React.createElement(Icon, { className: iconClassName, color: iconColor, icon: icon, size: size, ariaHidden: true }))))));
|
|
21
|
+
loading && React.createElement(Loader, { role: loaderRole, size: size }),
|
|
22
|
+
!loading && React.createElement(Icon, { role: iconRole, className: iconClassName, color: iconColor, icon: icon, size: size, ariaHidden: true }))))));
|
|
23
23
|
});
|
|
24
24
|
IconButton.displayName = 'IconButton';
|
|
25
25
|
//# sourceMappingURL=IconButton.js.map
|
package/lib/IconButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,UAAU,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,MAAM,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"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"}
|
package/lib/InteractiveList.d.ts
CHANGED
|
@@ -2,10 +2,13 @@ import React, { FocusEvent } from 'react';
|
|
|
2
2
|
import { TextFieldExtraProps } from './TextField';
|
|
3
3
|
import { ExtractKeysOfValueType } from './utils/types';
|
|
4
4
|
import { FieldHeaderProps } from './FieldHeader';
|
|
5
|
-
export
|
|
5
|
+
export type InteractiveListExtraProps = {
|
|
6
6
|
children?: React.ReactNode | React.ReactNode[];
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
iconClassName?: string;
|
|
8
|
+
itemClassName?: string;
|
|
9
|
+
listClassName?: string;
|
|
10
|
+
} & Pick<TextFieldExtraProps<'text'>, 'inputIcon' | 'type' | 'placeholder' | 'inputClassName' | 'className'> & Omit<FieldHeaderProps, 'id'>;
|
|
11
|
+
export type InteractiveListCoreProps<V> = {
|
|
9
12
|
name: ExtractKeysOfValueType<V, string[]>;
|
|
10
13
|
value: string[];
|
|
11
14
|
onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void;
|
|
@@ -15,11 +18,12 @@ export declare type InteractiveListCoreProps<V> = {
|
|
|
15
18
|
onAddItem: () => Promise<string | undefined>;
|
|
16
19
|
onRemoveItem: (idx: number) => boolean;
|
|
17
20
|
} & InteractiveListExtraProps;
|
|
18
|
-
export
|
|
19
|
-
export
|
|
21
|
+
export type InteractiveListProps<V> = InteractiveListExtraProps & InteractiveListCoreProps<V>;
|
|
22
|
+
export type InteractiveListInputRef = {
|
|
20
23
|
setValue: (value: string) => void;
|
|
24
|
+
addItem: () => Promise<string | undefined>;
|
|
21
25
|
};
|
|
22
|
-
export
|
|
26
|
+
export type InteractiveListItemProps = {
|
|
23
27
|
content: string;
|
|
24
28
|
error?: string;
|
|
25
29
|
idx: number;
|
|
@@ -30,4 +34,4 @@ export declare const InteractiveListItem: ({ onRemoveItem, content, error, idx }
|
|
|
30
34
|
* This component is meant to be used only from InteractiveListFormik
|
|
31
35
|
* @private
|
|
32
36
|
*/
|
|
33
|
-
export declare const InteractiveList: <V>({ label, children, error, name, value, helperText, inputIcon, type, inputValue, setInputValue, onAddItem, onRemoveItem, }: InteractiveListProps<V>) => JSX.Element;
|
|
37
|
+
export declare const InteractiveList: <V>({ label, children, error, name, value, helperText, inputIcon, type, inputValue, setInputValue, onAddItem, onRemoveItem, className, inputClassName, iconClassName, itemClassName, listClassName, }: InteractiveListProps<V>) => JSX.Element;
|
package/lib/InteractiveList.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Plus, X } from 'react-feather';
|
|
|
5
5
|
import styles from './InteractiveList.module.scss';
|
|
6
6
|
import { useUID } from 'react-uid';
|
|
7
7
|
import { Error, errorId } from './Error';
|
|
8
|
+
import cn from 'classnames';
|
|
8
9
|
export const InteractiveListItem = ({ onRemoveItem, content, error, idx }) => {
|
|
9
10
|
const id = useUID();
|
|
10
11
|
const errorProps = error
|
|
@@ -17,7 +18,7 @@ export const InteractiveListItem = ({ onRemoveItem, content, error, idx }) => {
|
|
|
17
18
|
React.createElement("div", { className: styles.content },
|
|
18
19
|
React.createElement("span", { id: id, ...errorProps }, content),
|
|
19
20
|
' ',
|
|
20
|
-
React.createElement(IconButton, { kind: "
|
|
21
|
+
React.createElement(IconButton, { kind: "primary", ariaLabel: "Remove Item", icon: X, size: "medium", className: styles.removeIcon, onClick: () => {
|
|
21
22
|
onRemoveItem(idx);
|
|
22
23
|
} })),
|
|
23
24
|
error && React.createElement(Error, { error: error, inputId: id })));
|
|
@@ -26,21 +27,23 @@ export const InteractiveListItem = ({ onRemoveItem, content, error, idx }) => {
|
|
|
26
27
|
* This component is meant to be used only from InteractiveListFormik
|
|
27
28
|
* @private
|
|
28
29
|
*/
|
|
29
|
-
export const InteractiveList = ({ label, children, error, name, value, helperText, inputIcon, type, inputValue, setInputValue, onAddItem, onRemoveItem, }) => {
|
|
30
|
+
export const InteractiveList = ({ label, children, error, name, value, helperText, inputIcon, type, inputValue, setInputValue, onAddItem, onRemoveItem, className, inputClassName, iconClassName, itemClassName, listClassName, }) => {
|
|
30
31
|
const id = useUID();
|
|
31
32
|
return (React.createElement(React.Fragment, null,
|
|
32
|
-
React.createElement("div", { className: styles.inputRow },
|
|
33
|
-
React.createElement(TextField, { id: id, type: type, helperText: helperText, inputIcon: inputIcon, error: typeof error === 'string' ? error : undefined, label: label, name: name, value: inputValue, onChange: ({ target: { value } }) => {
|
|
33
|
+
React.createElement("div", { className: cn(styles.inputRow, className) },
|
|
34
|
+
React.createElement(TextField, { id: id, type: type, helperText: helperText, inputIcon: inputIcon, inputClassName: cn(styles.input, inputClassName), inputContainerClassName: styles.inputContainer, inputBorderOverlayClassName: styles.inputBorderOverlay, error: typeof error === 'string' ? error : undefined, label: label, name: name, value: inputValue, onChange: ({ target: { value } }) => {
|
|
34
35
|
setInputValue(value);
|
|
35
|
-
},
|
|
36
|
+
},
|
|
37
|
+
/* eslint-disable-next-line @typescript-eslint/no-misused-promises */
|
|
38
|
+
onKeyPress: async (e) => {
|
|
36
39
|
if (e.key === 'Enter') {
|
|
37
40
|
e.preventDefault();
|
|
38
41
|
await onAddItem();
|
|
39
42
|
}
|
|
40
|
-
} }
|
|
41
|
-
|
|
43
|
+
} },
|
|
44
|
+
React.createElement(IconButton, { "data-test": "interactive-list-add-button", kind: "transparent", ariaLabel: "Add Icon", icon: Plus, className: cn(styles.addIcon, iconClassName), size: "medium", onClick: () => void onAddItem() }))),
|
|
42
45
|
children,
|
|
43
|
-
React.createElement("ul", { className: styles.list }, value.map((str, idx) => (React.createElement("li", { key: str },
|
|
46
|
+
React.createElement("ul", { className: cn(styles.list, listClassName) }, value.map((str, idx) => (React.createElement("li", { key: str, className: itemClassName },
|
|
44
47
|
React.createElement(InteractiveListItem, { onRemoveItem: onRemoveItem, idx: idx, content: str, error: typeof error === 'object' && error[idx] ? error[idx] : undefined })))))));
|
|
45
48
|
};
|
|
46
49
|
//# sourceMappingURL=InteractiveList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveList.js","sourceRoot":"","sources":["../src/InteractiveList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"InteractiveList.js","sourceRoot":"","sources":["../src/InteractiveList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
1
2
|
@use '../styles/constants' as c;
|
|
2
3
|
|
|
3
4
|
$addIconSpacing: c.$grid;
|
|
@@ -6,17 +7,40 @@ $addIconSpacing: c.$grid;
|
|
|
6
7
|
display: flex;
|
|
7
8
|
margin-bottom: c.$grid * 3;
|
|
8
9
|
|
|
10
|
+
.input {
|
|
11
|
+
border-right: none;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.inputBorderOverlay {
|
|
15
|
+
border-radius: c.$borderRadius 0 0 c.$borderRadius;
|
|
16
|
+
border-right: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.inputContainer {
|
|
20
|
+
border-radius: c.$borderRadius 0 0 c.$borderRadius;
|
|
21
|
+
|
|
22
|
+
.input:focus {
|
|
23
|
+
& ~ .inputBorderOverlay {
|
|
24
|
+
border-right: none;
|
|
25
|
+
box-shadow: none;
|
|
26
|
+
border-color: c.$colorPrimary;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
9
31
|
.addIcon {
|
|
10
32
|
display: block;
|
|
11
|
-
|
|
12
|
-
border-radius: c.$inputHeight;
|
|
33
|
+
border-radius: 0 c.$borderRadius c.$borderRadius 0;
|
|
13
34
|
border: c.$borderWidth solid c.$colorPrimary;
|
|
14
|
-
color: c.$colorPrimary;
|
|
15
|
-
|
|
16
|
-
|
|
35
|
+
background-color: c.$colorPrimary;
|
|
36
|
+
color: c.$colorNeutralWhite;
|
|
37
|
+
height: c.$inputHeight;
|
|
38
|
+
width: c.$inputHeight;
|
|
17
39
|
|
|
18
|
-
|
|
19
|
-
|
|
40
|
+
&:hover {
|
|
41
|
+
background-color: c.$colorPrimaryLight;
|
|
42
|
+
border-color: c.$colorPrimaryLight;
|
|
43
|
+
}
|
|
20
44
|
}
|
|
21
45
|
}
|
|
22
46
|
|
|
@@ -25,8 +49,19 @@ ul.list {
|
|
|
25
49
|
padding: 0;
|
|
26
50
|
margin: 0;
|
|
27
51
|
|
|
52
|
+
.removeIcon {
|
|
53
|
+
margin-right: 0;
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
background-color: transparent;
|
|
57
|
+
border-color: transparent;
|
|
58
|
+
color: c.$colorPrimaryLight;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
28
62
|
.content {
|
|
29
|
-
|
|
63
|
+
background: c.$colorOverlayBackground;
|
|
64
|
+
padding: math.div(c.$grid, 3) c.$grid math.div(c.$grid, 3) c.$grid * 2;
|
|
30
65
|
margin-top: c.$grid * 3;
|
|
31
66
|
border: c.$borderWidth solid c.$colorNeutralLight;
|
|
32
67
|
border-radius: c.$borderRadius;
|
|
@@ -2,7 +2,7 @@ import { ReactElement, Ref } from 'react';
|
|
|
2
2
|
import { FieldValidator } from 'formik';
|
|
3
3
|
import { ExtractKeysOfValueType } from './utils/types';
|
|
4
4
|
import { InteractiveListExtraProps, InteractiveListInputRef } from './InteractiveList';
|
|
5
|
-
export
|
|
5
|
+
export type InteractiveListFormikProps<V extends object> = InteractiveListExtraProps & {
|
|
6
6
|
name: ExtractKeysOfValueType<V, string[]>;
|
|
7
7
|
validate?: FieldValidator;
|
|
8
8
|
inputControlRef?: Ref<InteractiveListInputRef>;
|
|
@@ -16,11 +16,15 @@ import { getFieldError } from './utils/formik';
|
|
|
16
16
|
*/
|
|
17
17
|
export const InteractiveListFormik = ({ name, validate, children, inputControlRef, ...props }) => {
|
|
18
18
|
const { validateForm, values: valuesFormik } = useFormikContext();
|
|
19
|
-
const [field, meta, { setTouched, setError }] = useField({
|
|
19
|
+
const [field, meta, { setTouched, setError, setValue }] = useField({
|
|
20
20
|
name,
|
|
21
21
|
validate,
|
|
22
22
|
});
|
|
23
|
-
const
|
|
23
|
+
const [inputValue, setInputValue] = useState('');
|
|
24
|
+
// We want to revalidate on change only after un-successful insert
|
|
25
|
+
const [inputTouched, setInputTouched] = useState(false);
|
|
26
|
+
const normalizedValue = useMemo(() => inputValue.trim(), [inputValue]);
|
|
27
|
+
const getValidationError = useCallback(async () => {
|
|
24
28
|
let validationError = undefined;
|
|
25
29
|
if (normalizedValue.length === 0) {
|
|
26
30
|
validationError = 'You need to provide a non empty value';
|
|
@@ -46,21 +50,33 @@ export const InteractiveListFormik = ({ name, validate, children, inputControlRe
|
|
|
46
50
|
validationError = typeof fieldErrors === 'string' ? fieldErrors : fieldErrors === null || fieldErrors === void 0 ? void 0 : fieldErrors.find((x) => !!x);
|
|
47
51
|
}
|
|
48
52
|
return validationError;
|
|
49
|
-
};
|
|
53
|
+
}, [field.value, name, normalizedValue, validate, validateForm, valuesFormik]);
|
|
50
54
|
const onError = useCallback((value) => {
|
|
51
55
|
setTouched(true, false);
|
|
52
56
|
// @ts-expect-error Formik expects the string[], while documentation says
|
|
53
57
|
// it can be string | string[] which also makes more sense
|
|
54
58
|
setError(value);
|
|
55
59
|
}, [setTouched, setError]);
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
const addItem = useCallback(async () => {
|
|
61
|
+
const validationError = await getValidationError();
|
|
62
|
+
if (validationError) {
|
|
63
|
+
onError(validationError);
|
|
64
|
+
setInputTouched(true);
|
|
65
|
+
return validationError;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
field.value.push(normalizedValue);
|
|
69
|
+
setValue(field.value);
|
|
70
|
+
setInputTouched(false);
|
|
71
|
+
setInputValue('');
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}, [field.value, getValidationError, normalizedValue, onError, setValue]);
|
|
60
75
|
useImperativeHandle(inputControlRef, () => ({
|
|
61
76
|
setValue: (value) => {
|
|
62
77
|
setInputValue(value);
|
|
63
78
|
},
|
|
79
|
+
addItem: addItem,
|
|
64
80
|
}));
|
|
65
81
|
useEffect(() => {
|
|
66
82
|
if (inputTouched) {
|
|
@@ -73,20 +89,7 @@ export const InteractiveListFormik = ({ name, validate, children, inputControlRe
|
|
|
73
89
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
90
|
}, [inputTouched, inputValue]);
|
|
75
91
|
return (React.createElement(FieldArray, { name: name, render: (arrayHelpers) => {
|
|
76
|
-
return (React.createElement(InteractiveList, { ...props, name: name, value: field.value, inputValue: inputValue, setInputValue: setInputValue, error: getFieldError(meta), onAddItem:
|
|
77
|
-
const validationError = await getValidationError();
|
|
78
|
-
if (validationError) {
|
|
79
|
-
onError(validationError);
|
|
80
|
-
setInputTouched(true);
|
|
81
|
-
return validationError;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
arrayHelpers.push(normalizedValue);
|
|
85
|
-
setInputTouched(false);
|
|
86
|
-
setInputValue('');
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
}, onRemoveItem: (idx) => !!arrayHelpers.remove(idx) }, children));
|
|
92
|
+
return (React.createElement(InteractiveList, { ...props, name: name, value: field.value, inputValue: inputValue, setInputValue: setInputValue, error: getFieldError(meta), onAddItem: addItem, onRemoveItem: (idx) => !!arrayHelpers.remove(idx) }, children));
|
|
90
93
|
} }));
|
|
91
94
|
};
|
|
92
95
|
//# sourceMappingURL=InteractiveListFormik.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveListFormik.js","sourceRoot":"","sources":["../src/InteractiveListFormik.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAqB,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChH,OAAO,EAAE,UAAU,EAAkB,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAsD,MAAM,mBAAmB,CAAA;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAQ9C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAmB,EACtD,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,GAAG,KAAK,EACsB,EAAgB,EAAE;IAChD,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAK,CAAA;IACpE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAW;
|
|
1
|
+
{"version":3,"file":"InteractiveListFormik.js","sourceRoot":"","sources":["../src/InteractiveListFormik.tsx"],"names":[],"mappings":"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"}
|
package/lib/Label.d.ts
CHANGED
package/lib/Label.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import styles from './Label.module.scss';
|
|
4
|
-
export const Label = ({ id, label, className }) => (React.createElement("label", { htmlFor: id, className: cn(styles.label, className) }, label));
|
|
4
|
+
export const Label = ({ id, label, className, variant = 'primary' }) => (React.createElement("label", { htmlFor: id, className: cn(styles.label, styles[variant], className) }, label));
|
|
5
5
|
//# sourceMappingURL=Label.js.map
|
package/lib/Label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../src/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,MAAM,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../src/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,MAAM,MAAM,qBAAqB,CAAA;AASxC,MAAM,CAAC,MAAM,KAAK,GAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACtF,+BAAO,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IACxE,KAAK,CACA,CACT,CAAA"}
|
package/lib/Label.module.scss
CHANGED
package/lib/Link.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { AnchorHTMLAttributes, ButtonHTMLAttributes, MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
import { Icon as FeatherIcon } from 'react-feather';
|
|
3
|
-
|
|
3
|
+
import { DataTestProp } from '@hazelcast/helpers';
|
|
4
4
|
declare const sizes: {
|
|
5
5
|
normal: string;
|
|
6
6
|
small: string;
|
|
7
7
|
inherit: string;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type AnchorAttributes = AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
10
|
+
type IconProps = {
|
|
11
11
|
icon: FeatherIcon;
|
|
12
12
|
ariaLabel: string;
|
|
13
13
|
iconClassName?: string;
|
|
@@ -16,15 +16,15 @@ declare type IconProps = {
|
|
|
16
16
|
ariaLabel?: never;
|
|
17
17
|
iconClassName?: never;
|
|
18
18
|
};
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
19
|
+
export type LinkTarget = '_self' | '_blank' | '_parent' | '_top';
|
|
20
|
+
export type LinkRel = 'alternate' | 'author' | 'bookmark' | 'dns-prefetch' | 'external' | 'help' | 'license' | 'next' | 'nofollow' | 'noopener' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag';
|
|
21
|
+
export type LinkProps = IconProps & {
|
|
22
22
|
size?: keyof typeof sizes;
|
|
23
23
|
kind?: 'primary' | 'secondary';
|
|
24
24
|
children: ReactNode;
|
|
25
25
|
bold?: boolean;
|
|
26
26
|
onClick?: MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;
|
|
27
|
-
} & Pick<AnchorAttributes, 'className'> & ({
|
|
27
|
+
} & Pick<AnchorAttributes, 'className'> & DataTestProp & ({
|
|
28
28
|
component: 'button';
|
|
29
29
|
href?: never;
|
|
30
30
|
target?: never;
|
package/lib/Link.js
CHANGED
|
@@ -19,7 +19,7 @@ const sizes = {
|
|
|
19
19
|
* - Link can be used as a stand-alone component with right chevron icon.
|
|
20
20
|
* - You can change underlying semantics with a component property. Typescript will guard you on providing other properties related to the component type.
|
|
21
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
|
+
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, 'data-test': dataTest = 'link', }, ref) => {
|
|
23
23
|
const relFinal = Array.isArray(rel) ? rel.join(' ') : rel;
|
|
24
24
|
const commonProps = {
|
|
25
25
|
className: cn(styles.link, styles[size], {
|
|
@@ -33,9 +33,9 @@ export const Link = forwardRef(({ component = 'a', kind = 'primary', size = 'nor
|
|
|
33
33
|
onClick: onClick,
|
|
34
34
|
};
|
|
35
35
|
const iconComponent = icon && ariaLabel ? (React.createElement(Icon, { bold: bold, icon: icon, ariaLabel: ariaLabel, size: size === 'normal' ? 'medium' : 'small', className: iconClassName })) : undefined;
|
|
36
|
-
return component === 'a' ? (React.createElement("a", { ...commonProps, rel: relFinal, target: target, ref: ref },
|
|
36
|
+
return component === 'a' ? (React.createElement("a", { ...commonProps, rel: relFinal, target: target, ref: ref, "data-test": dataTest },
|
|
37
37
|
children,
|
|
38
|
-
iconComponent)) : (React.createElement("button", { ...commonProps, type: type, ref: ref },
|
|
38
|
+
iconComponent)) : (React.createElement("button", { ...commonProps, type: type, ref: ref, "data-test": dataTest },
|
|
39
39
|
children,
|
|
40
40
|
iconComponent));
|
|
41
41
|
});
|
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;
|
|
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;AAGvC,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAA;AA8DD;;;;;;;;;;;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,EACR,WAAW,EAAE,QAAQ,GAAG,MAAM,GAC/B,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,eAAa,QAAQ;QACpH,QAAQ;QACR,aAAa,CACZ,CACL,CAAC,CAAC,CAAC,CACF,mCAAY,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAA0C,eAAa,QAAQ;QACtG,QAAQ;QACR,aAAa,CACP,CACV,CAAA;AACH,CAAC,CACF,CAAA;AACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA"}
|
package/lib/Loader.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { FC, SVGAttributes } from 'react';
|
|
2
2
|
import { IconSize } from './Icon';
|
|
3
|
-
export
|
|
3
|
+
export type LoaderProps = {
|
|
4
4
|
className?: string;
|
|
5
5
|
size?: IconSize;
|
|
6
6
|
kind?: 'primary' | 'contrast' | 'inherit';
|
|
7
7
|
children?: never;
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
role?: string;
|
|
8
10
|
} & Pick<SVGAttributes<SVGElement>, 'aria-hidden'>;
|
|
9
11
|
export declare const Loader: FC<LoaderProps>;
|
package/lib/Loader.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import styles from './Loader.module.scss';
|
|
4
|
-
export const Loader = ({ className, size = 'medium', kind = 'inherit', ...props }) => (
|
|
4
|
+
export const Loader = ({ className, size = 'medium', kind = 'inherit', role = 'img', ariaLabel, ...props }) => (
|
|
5
5
|
// https://github.com/feathericons/feather/blob/a718a7e9c39447202f703783336e8ba1c8e32405/icons/loader.svg#L1
|
|
6
6
|
// We cannot use it directly as it has `line` elements not in a sequential order
|
|
7
7
|
// And we need the sequential order to easily calculate animation delay
|
|
8
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: cn(styles.loader, {
|
|
8
|
+
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", role: role, className: cn(styles.loader, {
|
|
9
9
|
[styles.small]: size === 'small',
|
|
10
10
|
[styles.smallMedium]: size === 'smallMedium',
|
|
11
11
|
[styles.medium]: size === 'medium',
|
|
@@ -14,7 +14,7 @@ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: cn(
|
|
|
14
14
|
[styles.primary]: kind === 'primary',
|
|
15
15
|
[styles.contrast]: kind === 'contrast',
|
|
16
16
|
[styles.inherit]: kind === 'inherit',
|
|
17
|
-
}, className), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-label":
|
|
17
|
+
}, className), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-label": ariaLabel ? ariaLabel : 'Loader icon', ...props },
|
|
18
18
|
React.createElement("line", { x1: "12", y1: "2", x2: "12", y2: "6" }),
|
|
19
19
|
React.createElement("line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }),
|
|
20
20
|
React.createElement("line", { x1: "2", y1: "12", x2: "6", y2: "12" }),
|
package/lib/Loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,OAAO,MAAM,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAWzC,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC;AAC9H,4GAA4G;AAC5G,gFAAgF;AAChF,uEAAuE;AACvE,6BACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,MAAM,EACb;QACE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO;QAChC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,KAAK,aAAa;QAC5C,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,QAAQ;QAClC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO;QAChC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,QAAQ;QAClC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,SAAS;QACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,UAAU;QACtC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,SAAS;KACrC,EACD,SAAS,CACV,EACD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,gBACV,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,KAC7C,KAAK;IAET,8BAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG;IACtC,8BAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG;IAChD,8BAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG;IACtC,8BAAM,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,GAAG;IAClD,8BAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG;IACxC,8BAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG;IACpD,8BAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG;IACxC,8BAAM,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,GAAG,CAC9C,CACP,CAAA"}
|
package/lib/Modal.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { DataTestProp } from '@hazelcast/helpers';
|
|
|
4
4
|
import { ButtonProps, ButtonTypeButtonProps } from './Button';
|
|
5
5
|
import { IconProps } from './Icon';
|
|
6
6
|
export declare const setAppElement: (appElement: string | HTMLElement) => void;
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type ModalActionProps = ButtonProps<ButtonTypeButtonProps>;
|
|
8
|
+
export type ModalProps = {
|
|
9
9
|
actions?: ModalActionProps[];
|
|
10
10
|
hideActions?: boolean;
|
|
11
11
|
autoFocus?: boolean;
|
|
@@ -16,6 +16,8 @@ export declare type ModalProps = {
|
|
|
16
16
|
headerClassName?: string;
|
|
17
17
|
contentClassName?: string;
|
|
18
18
|
footerClassName?: string;
|
|
19
|
+
overlayClassName?: string;
|
|
20
|
+
className?: string;
|
|
19
21
|
icon?: IconProps['icon'];
|
|
20
22
|
iconAriaLabel?: IconProps['ariaLabel'];
|
|
21
23
|
onClose: ReactModalProps['onRequestClose'];
|
package/lib/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../src/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,OAAO,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,UAAwC,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAsC,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAExC,8CAA8C;AAC9C,wBAAwB;AACxB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAgC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../src/Modal.tsx"],"names":[],"mappings":"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"}
|
package/lib/Notification.d.ts
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
import { Icon as IconType } from 'react-feather';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
3
|
+
export type NotificationType = 'success' | 'info' | 'warning' | 'error';
|
|
4
|
+
export type NotificationIconDescriptor = {
|
|
5
5
|
icon: IconType;
|
|
6
6
|
ariaLabel: string;
|
|
7
7
|
};
|
|
8
8
|
export declare const NotificationIcon: {
|
|
9
9
|
[key in NotificationType]: NotificationIconDescriptor;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type NotificationLink = {
|
|
12
12
|
link: ReactNode;
|
|
13
13
|
linkHref: string;
|
|
14
14
|
} | {
|
|
15
15
|
link?: never;
|
|
16
16
|
linkHref?: never;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type NotificationProps = {
|
|
19
19
|
className?: string;
|
|
20
20
|
type: NotificationType;
|
|
21
21
|
children: ReactNode;
|
|
22
|
+
onClose?: () => void;
|
|
22
23
|
} & NotificationLink;
|
|
23
24
|
export declare const Notification: FC<NotificationProps>;
|
|
24
25
|
export {};
|
package/lib/Notification.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
|
-
import { AlertTriangle, CheckCircle, AlertCircle, Info, ChevronRight } from 'react-feather';
|
|
3
|
+
import { AlertTriangle, CheckCircle, AlertCircle, Info, ChevronRight, X } from 'react-feather';
|
|
4
4
|
import { Icon } from './Icon';
|
|
5
|
+
import { IconButton } from './IconButton';
|
|
5
6
|
import { Link } from './Link';
|
|
6
7
|
import styles from './Notification.module.scss';
|
|
7
8
|
export const NotificationIcon = {
|
|
@@ -22,7 +23,7 @@ export const NotificationIcon = {
|
|
|
22
23
|
ariaLabel: 'Info error circle icon',
|
|
23
24
|
},
|
|
24
25
|
};
|
|
25
|
-
export const Notification = ({ type, children, className, link, linkHref }) => {
|
|
26
|
+
export const Notification = ({ type, children, className, link, linkHref, onClose }) => {
|
|
26
27
|
const { icon, ariaLabel } = NotificationIcon[type];
|
|
27
28
|
return (React.createElement("div", { "data-test": "notification", className: cn(styles.notification, {
|
|
28
29
|
[styles.success]: type === 'success',
|
|
@@ -32,6 +33,7 @@ export const Notification = ({ type, children, className, link, linkHref }) => {
|
|
|
32
33
|
}, className) },
|
|
33
34
|
React.createElement(Icon, { "data-test": "notification-icon", ariaLabel: ariaLabel, icon: icon, className: styles.icon }),
|
|
34
35
|
React.createElement("div", { "data-test": "notification-content", className: styles.content }, children),
|
|
35
|
-
link && linkHref && (React.createElement(Link, { "data-test": "notification-link", component: "a", size: "small", className: styles.link, href: linkHref, icon: ChevronRight, ariaLabel: "Icon chevron right", bold: true }, link))
|
|
36
|
+
link && linkHref && (React.createElement(Link, { "data-test": "notification-link", component: "a", size: "small", className: styles.link, href: linkHref, icon: ChevronRight, ariaLabel: "Icon chevron right", bold: true }, link)),
|
|
37
|
+
onClose && (React.createElement(IconButton, { "data-test": "notification-close", className: styles.closeButton, icon: X, onClick: onClose, ariaLabel: "Notification close button" }))));
|
|
36
38
|
};
|
|
37
39
|
//# sourceMappingURL=Notification.js.map
|
package/lib/Notification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../src/Notification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../src/Notification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAoB,CAAC,EAAE,MAAM,eAAe,CAAA;AAEhH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAS/C,MAAM,CAAC,MAAM,gBAAgB,GAA8D;IACzF,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,mBAAmB;KAC/B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,kBAAkB;KAC9B;IACD,OAAO,EAAE;QACP,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,uBAAuB;KACnC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;KACpC;CACF,CAAA;AAmBD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5G,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAElD,OAAO,CACL,0CACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,YAAY,EACnB;YACE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,SAAS;YACpC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM;YAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,SAAS;YACpC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO;SACjC,EACD,SAAS,CACV;QAED,oBAAC,IAAI,iBAAW,mBAAmB,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI;QAChG,0CAAe,sBAAsB,EAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAC5D,QAAQ,CACL;QACL,IAAI,IAAI,QAAQ,IAAI,CACnB,oBAAC,IAAI,iBACO,mBAAmB,EAC7B,SAAS,EAAC,GAAG,EACb,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,MAAM,CAAC,IAAI,EACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,EAClB,SAAS,EAAC,oBAAoB,EAC9B,IAAI,UAEH,IAAI,CACA,CACR;QACA,OAAO,IAAI,CACV,oBAAC,UAAU,iBACC,oBAAoB,EAC9B,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,2BAA2B,GACrC,CACH,CACG,CACP,CAAA;AACH,CAAC,CAAA"}
|