@lumx/react 3.20.1-alpha.28 → 3.20.1-alpha.29
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/index.js +14033 -63
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.js +158 -3
- package/utils/index.js.map +1 -1
- package/_internal/Button-5a87fee9.js +0 -97
- package/_internal/Button-5a87fee9.js.map +0 -1
- package/_internal/ButtonRoot-bf682215.js +0 -117
- package/_internal/ButtonRoot-bf682215.js.map +0 -1
- package/_internal/Chip-8d0aae06.js +0 -143
- package/_internal/Chip-8d0aae06.js.map +0 -1
- package/_internal/ClickAwayProvider-1204f237.js +0 -95
- package/_internal/ClickAwayProvider-1204f237.js.map +0 -1
- package/_internal/DisabledStateContext-ea04260d.js +0 -29
- package/_internal/DisabledStateContext-ea04260d.js.map +0 -1
- package/_internal/HeadingLevelProvider-ebdcb0c7.js +0 -61
- package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +0 -1
- package/_internal/IconButton-351389b0.js +0 -77
- package/_internal/IconButton-351389b0.js.map +0 -1
- package/_internal/ImageCaption-4109b433.js +0 -75
- package/_internal/ImageCaption-4109b433.js.map +0 -1
- package/_internal/List-b7882a99.js +0 -817
- package/_internal/List-b7882a99.js.map +0 -1
- package/_internal/PopoverDialog-2e7b9ed5.js +0 -655
- package/_internal/PopoverDialog-2e7b9ed5.js.map +0 -1
- package/_internal/Portal-3f86608e.js +0 -45
- package/_internal/Portal-3f86608e.js.map +0 -1
- package/_internal/RawClickable-2c2b6a89.js +0 -52
- package/_internal/RawClickable-2c2b6a89.js.map +0 -1
- package/_internal/Slides-83646e84.js +0 -679
- package/_internal/Slides-83646e84.js.map +0 -1
- package/_internal/ThemeContext-3181f000.js +0 -14
- package/_internal/ThemeContext-3181f000.js.map +0 -1
- package/_internal/Thumbnail-741501a5.js +0 -314
- package/_internal/Thumbnail-741501a5.js.map +0 -1
- package/_internal/check-circle-de24f857.js +0 -4
- package/_internal/check-circle-de24f857.js.map +0 -1
- package/_internal/chevron-right-827b804a.js +0 -6
- package/_internal/chevron-right-827b804a.js.map +0 -1
- package/_internal/chevron-up-0b9c76cb.js +0 -6
- package/_internal/chevron-up-0b9c76cb.js.map +0 -1
- package/_internal/close-circle-ef5d1aac.js +0 -4
- package/_internal/close-circle-ef5d1aac.js.map +0 -1
- package/_internal/close-eaf6c45a.js +0 -4
- package/_internal/close-eaf6c45a.js.map +0 -1
- package/_internal/components/alert-dialog-5df4f133.js +0 -163
- package/_internal/components/alert-dialog-5df4f133.js.map +0 -1
- package/_internal/components/autocomplete-824c779e.js +0 -261
- package/_internal/components/autocomplete-824c779e.js.map +0 -1
- package/_internal/components/avatar-69b66f01.js +0 -83
- package/_internal/components/avatar-69b66f01.js.map +0 -1
- package/_internal/components/badge-63cd3b1c.js +0 -81
- package/_internal/components/badge-63cd3b1c.js.map +0 -1
- package/_internal/components/button-eebd4e00.js +0 -47
- package/_internal/components/button-eebd4e00.js.map +0 -1
- package/_internal/components/checkbox-54943a02.js +0 -143
- package/_internal/components/checkbox-54943a02.js.map +0 -1
- package/_internal/components/chip-9ad6b318.js +0 -102
- package/_internal/components/chip-9ad6b318.js.map +0 -1
- package/_internal/components/comment-block-55a4ab3c.js +0 -138
- package/_internal/components/comment-block-55a4ab3c.js.map +0 -1
- package/_internal/components/date-picker-a824a3ae.js +0 -2
- package/_internal/components/date-picker-a824a3ae.js.map +0 -1
- package/_internal/components/dialog-5e6320b8.js +0 -238
- package/_internal/components/dialog-5e6320b8.js.map +0 -1
- package/_internal/components/divider-bdf11ba3.js +0 -50
- package/_internal/components/divider-bdf11ba3.js.map +0 -1
- package/_internal/components/drag-handle-45912fd3.js +0 -52
- package/_internal/components/drag-handle-45912fd3.js.map +0 -1
- package/_internal/components/dropdown-0216211d.js +0 -147
- package/_internal/components/dropdown-0216211d.js.map +0 -1
- package/_internal/components/expansion-panel-3ce73c6b.js +0 -167
- package/_internal/components/expansion-panel-3ce73c6b.js.map +0 -1
- package/_internal/components/flag-1b177f78.js +0 -59
- package/_internal/components/flag-1b177f78.js.map +0 -1
- package/_internal/components/flex-box-93b97715.js +0 -56
- package/_internal/components/flex-box-93b97715.js.map +0 -1
- package/_internal/components/generic-block-925f7c5b.js +0 -128
- package/_internal/components/generic-block-925f7c5b.js.map +0 -1
- package/_internal/components/grid-95fd1493.js +0 -104
- package/_internal/components/grid-95fd1493.js.map +0 -1
- package/_internal/components/grid-column-43f28cfb.js +0 -58
- package/_internal/components/grid-column-43f28cfb.js.map +0 -1
- package/_internal/components/heading-45d6e78e.js +0 -53
- package/_internal/components/heading-45d6e78e.js.map +0 -1
- package/_internal/components/icon-79195151.js +0 -2
- package/_internal/components/icon-79195151.js.map +0 -1
- package/_internal/components/image-block-aba6d2db.js +0 -110
- package/_internal/components/image-block-aba6d2db.js.map +0 -1
- package/_internal/components/image-lightbox-8b8e77c2.js +0 -759
- package/_internal/components/image-lightbox-8b8e77c2.js.map +0 -1
- package/_internal/components/inline-list-dfb9fd34.js +0 -74
- package/_internal/components/inline-list-dfb9fd34.js.map +0 -1
- package/_internal/components/input-helper-c8a0078b.js +0 -71
- package/_internal/components/input-helper-c8a0078b.js.map +0 -1
- package/_internal/components/input-label-9711398b.js +0 -59
- package/_internal/components/input-label-9711398b.js.map +0 -1
- package/_internal/components/lightbox-894abe64.js +0 -155
- package/_internal/components/lightbox-894abe64.js.map +0 -1
- package/_internal/components/link-e70e64ed.js +0 -72
- package/_internal/components/link-e70e64ed.js.map +0 -1
- package/_internal/components/link-preview-e56f3570.js +0 -117
- package/_internal/components/link-preview-e56f3570.js.map +0 -1
- package/_internal/components/list-59b7ce56.js +0 -71
- package/_internal/components/list-59b7ce56.js.map +0 -1
- package/_internal/components/message-a255dfd3.js +0 -98
- package/_internal/components/message-a255dfd3.js.map +0 -1
- package/_internal/components/mosaic-192f2270.js +0 -94
- package/_internal/components/mosaic-192f2270.js.map +0 -1
- package/_internal/components/navigation-dfe8aac0.js +0 -225
- package/_internal/components/navigation-dfe8aac0.js.map +0 -1
- package/_internal/components/notification-10f289b5.js +0 -143
- package/_internal/components/notification-10f289b5.js.map +0 -1
- package/_internal/components/popover-6c7f745b.js +0 -3
- package/_internal/components/popover-6c7f745b.js.map +0 -1
- package/_internal/components/post-block-f7dcc6e9.js +0 -109
- package/_internal/components/post-block-f7dcc6e9.js.map +0 -1
- package/_internal/components/progress-7a05fb0c.js +0 -182
- package/_internal/components/progress-7a05fb0c.js.map +0 -1
- package/_internal/components/progress-tracker-48876add.js +0 -309
- package/_internal/components/progress-tracker-48876add.js.map +0 -1
- package/_internal/components/radio-button-07cf45e9.js +0 -149
- package/_internal/components/radio-button-07cf45e9.js.map +0 -1
- package/_internal/components/select-8b54a444.js +0 -457
- package/_internal/components/select-8b54a444.js.map +0 -1
- package/_internal/components/side-navigation-7eeed3b4.js +0 -164
- package/_internal/components/side-navigation-7eeed3b4.js.map +0 -1
- package/_internal/components/skeleton-a4e84085.js +0 -166
- package/_internal/components/skeleton-a4e84085.js.map +0 -1
- package/_internal/components/slider-5d64b470.js +0 -311
- package/_internal/components/slider-5d64b470.js.map +0 -1
- package/_internal/components/slideshow-bce65cf6.js +0 -151
- package/_internal/components/slideshow-bce65cf6.js.map +0 -1
- package/_internal/components/switch-7ae55d89.js +0 -121
- package/_internal/components/switch-7ae55d89.js.map +0 -1
- package/_internal/components/table-5bdf4aec.js +0 -297
- package/_internal/components/table-5bdf4aec.js.map +0 -1
- package/_internal/components/tabs-2ad54592.js +0 -298
- package/_internal/components/tabs-2ad54592.js.map +0 -1
- package/_internal/components/text-09c81111.js +0 -2
- package/_internal/components/text-09c81111.js.map +0 -1
- package/_internal/components/text-field-3e1030f0.js +0 -359
- package/_internal/components/text-field-3e1030f0.js.map +0 -1
- package/_internal/components/thumbnail-1c5828b9.js +0 -42
- package/_internal/components/thumbnail-1c5828b9.js.map +0 -1
- package/_internal/components/toolbar-0d14efb7.js +0 -61
- package/_internal/components/toolbar-0d14efb7.js.map +0 -1
- package/_internal/components/tooltip-31181a24.js +0 -327
- package/_internal/components/tooltip-31181a24.js.map +0 -1
- package/_internal/components/uploader-845b2412.js +0 -153
- package/_internal/components/uploader-845b2412.js.map +0 -1
- package/_internal/components/user-block-91c30797.js +0 -144
- package/_internal/components/user-block-91c30797.js.map +0 -1
- package/_internal/constants-9b714e31.js +0 -2167
- package/_internal/constants-9b714e31.js.map +0 -1
- package/_internal/constants-d0e3f49e.js +0 -24
- package/_internal/constants-d0e3f49e.js.map +0 -1
- package/_internal/context-9d1336a1.js +0 -19
- package/_internal/context-9d1336a1.js.map +0 -1
- package/_internal/forwardRef-d0e90329.js +0 -82
- package/_internal/forwardRef-d0e90329.js.map +0 -1
- package/_internal/getFocusableElements-230173a8.js +0 -13
- package/_internal/getFocusableElements-230173a8.js.map +0 -1
- package/_internal/index-68e1b0af.js +0 -436
- package/_internal/index-68e1b0af.js.map +0 -1
- package/_internal/index-745f94ee.js +0 -103
- package/_internal/index-745f94ee.js.map +0 -1
- package/_internal/index-ab520e78.js +0 -117
- package/_internal/index-ab520e78.js.map +0 -1
- package/_internal/information-49bbeed3.js +0 -6
- package/_internal/information-49bbeed3.js.map +0 -1
- package/_internal/isComponent-b9762ff1.js +0 -18
- package/_internal/isComponent-b9762ff1.js.map +0 -1
- package/_internal/isComponentType-e806b848.js +0 -9
- package/_internal/isComponentType-e806b848.js.map +0 -1
- package/_internal/mergeRefs-f0d7d6ea.js +0 -30
- package/_internal/mergeRefs-f0d7d6ea.js.map +0 -1
- package/_internal/state-db358714.js +0 -130
- package/_internal/state-db358714.js.map +0 -1
- package/_internal/useBooleanState-2a3d237c.js +0 -12
- package/_internal/useBooleanState-2a3d237c.js.map +0 -1
- package/_internal/useCallbackOnEscape-0b220f9c.js +0 -62
- package/_internal/useCallbackOnEscape-0b220f9c.js.map +0 -1
- package/_internal/useDisableBodyScroll-36bd7352.js +0 -219
- package/_internal/useDisableBodyScroll-36bd7352.js.map +0 -1
- package/_internal/useDisableStateProps-69e16b7c.js +0 -36
- package/_internal/useDisableStateProps-69e16b7c.js.map +0 -1
- package/_internal/useFocusTrap-3114e5e8.js +0 -112
- package/_internal/useFocusTrap-3114e5e8.js.map +0 -1
- package/_internal/useId-3a1facc0.js +0 -18
- package/_internal/useId-3a1facc0.js.map +0 -1
- package/_internal/useRovingTabIndex-7daf0f24.js +0 -77
- package/_internal/useRovingTabIndex-7daf0f24.js.map +0 -1
- package/_internal/useTransitionVisibility-321fdbfa.js +0 -50
- package/_internal/useTransitionVisibility-321fdbfa.js.map +0 -1
- package/_internal/wrapChildrenIconWithSpaces-e6038f72.js +0 -20
- package/_internal/wrapChildrenIconWithSpaces-e6038f72.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-7ae55d89.js","sources":["../../../src/components/switch/Switch.tsx"],"sourcesContent":["import { Children, InputHTMLAttributes, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface SwitchProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Helper text. */\n helper?: string;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Native input name property. */\n name?: string;\n /** Position of the switch relative to the label. */\n position?: Extract<Alignment, 'right' | 'left'>;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Switch';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<SwitchProps> = {\n position: Alignment.left,\n};\n\n/**\n * Switch component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Switch = forwardRef<SwitchProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n checked,\n children,\n className,\n helper,\n id,\n isChecked = checked,\n name,\n onChange,\n position = DEFAULT_PROPS.position,\n theme = defaultTheme,\n value,\n inputProps = {},\n ...forwardedProps\n } = otherProps;\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(!isChecked, value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n isChecked,\n isDisabled: isAnyDisabled,\n position,\n theme,\n isUnchecked: !isChecked,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={inputId}\n className={`${CLASSNAME}__input-native`}\n name={name}\n value={value}\n {...disabledStateProps}\n readOnly={inputProps.readOnly || isAnyDisabled}\n checked={isChecked}\n aria-checked={Boolean(isChecked)}\n onChange={handleChange}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n {Children.count(children) > 0 && (\n <div className={`${CLASSNAME}__content`}>\n <InputLabel htmlFor={inputId} theme={theme} className={`${CLASSNAME}__label`}>\n {children}\n </InputLabel>\n {helper && (\n <InputHelper id={`${inputId}-helper`} theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n )}\n </div>\n );\n});\nSwitch.displayName = COMPONENT_NAME;\nSwitch.className = CLASSNAME;\nSwitch.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","position","Alignment","left","Switch","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","checked","children","className","helper","id","isChecked","name","onChange","theme","value","inputProps","forwardedProps","generatedInputId","useId","inputId","handleChange","event","_jsxs","classNames","handleBasicClasses","prefix","isDisabled","isUnchecked","_jsx","type","role","readOnly","Boolean","undefined","Children","count","InputLabel","htmlFor","InputHelper","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
|
|
2
|
-
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
3
|
-
import { u as useTheme } from '../ThemeContext-3181f000.js';
|
|
4
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
|
-
import { Theme, Size } from '@lumx/core/js/constants';
|
|
6
|
-
import { I as Icon } from '../index-745f94ee.js';
|
|
7
|
-
import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
|
|
8
|
-
|
|
9
|
-
const mdiArrowDown = 'M11 4h2v12l5.5-5.5 1.42 1.42L12 19.84l-7.92-7.92L5.5 10.5 11 16z';
|
|
10
|
-
|
|
11
|
-
const mdiArrowUp = 'M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Component display name.
|
|
15
|
-
*/
|
|
16
|
-
const COMPONENT_NAME$4 = 'Table';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Component default class name and class prefix.
|
|
20
|
-
*/
|
|
21
|
-
const CLASSNAME$4 = getRootClassName(COMPONENT_NAME$4);
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Component default props.
|
|
25
|
-
*/
|
|
26
|
-
const DEFAULT_PROPS$3 = {};
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Table component.
|
|
30
|
-
*
|
|
31
|
-
* @param props Component props.
|
|
32
|
-
* @param ref Component ref.
|
|
33
|
-
* @return React element.
|
|
34
|
-
*/
|
|
35
|
-
const Table = forwardRef((props, ref) => {
|
|
36
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
37
|
-
const {
|
|
38
|
-
children,
|
|
39
|
-
className,
|
|
40
|
-
hasBefore,
|
|
41
|
-
hasDividers,
|
|
42
|
-
theme = defaultTheme,
|
|
43
|
-
...forwardedProps
|
|
44
|
-
} = props;
|
|
45
|
-
return /*#__PURE__*/jsx("table", {
|
|
46
|
-
ref: ref,
|
|
47
|
-
...forwardedProps,
|
|
48
|
-
className: classNames(className, handleBasicClasses({
|
|
49
|
-
prefix: CLASSNAME$4,
|
|
50
|
-
hasBefore,
|
|
51
|
-
hasDividers,
|
|
52
|
-
theme
|
|
53
|
-
})),
|
|
54
|
-
children: children
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
Table.displayName = COMPONENT_NAME$4;
|
|
58
|
-
Table.className = CLASSNAME$4;
|
|
59
|
-
Table.defaultProps = DEFAULT_PROPS$3;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Component display name.
|
|
63
|
-
*/
|
|
64
|
-
const COMPONENT_NAME$3 = 'TableBody';
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Component default class name and class prefix.
|
|
68
|
-
*/
|
|
69
|
-
const CLASSNAME$3 = getRootClassName(COMPONENT_NAME$3, true);
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* TableBody component.
|
|
73
|
-
*
|
|
74
|
-
* @param props Component props.
|
|
75
|
-
* @param ref Component ref.
|
|
76
|
-
* @return React element.
|
|
77
|
-
*/
|
|
78
|
-
const TableBody = forwardRef((props, ref) => {
|
|
79
|
-
const {
|
|
80
|
-
children,
|
|
81
|
-
className,
|
|
82
|
-
...forwardedProps
|
|
83
|
-
} = props;
|
|
84
|
-
return /*#__PURE__*/jsx("tbody", {
|
|
85
|
-
ref: ref,
|
|
86
|
-
...forwardedProps,
|
|
87
|
-
className: classNames(className, CLASSNAME$3),
|
|
88
|
-
children: children
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
TableBody.displayName = COMPONENT_NAME$3;
|
|
92
|
-
TableBody.className = CLASSNAME$3;
|
|
93
|
-
|
|
94
|
-
const ThOrder = {
|
|
95
|
-
asc: 'asc',
|
|
96
|
-
desc: 'desc'
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Table cell variants.
|
|
100
|
-
*/
|
|
101
|
-
const TableCellVariant = {
|
|
102
|
-
body: 'body',
|
|
103
|
-
head: 'head'
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Defines the props of the component.
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Component display name.
|
|
112
|
-
*/
|
|
113
|
-
const COMPONENT_NAME$2 = 'TableCell';
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Component default class name and class prefix.
|
|
117
|
-
*/
|
|
118
|
-
const CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2, true);
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Component default props.
|
|
122
|
-
*/
|
|
123
|
-
const DEFAULT_PROPS$2 = {
|
|
124
|
-
variant: TableCellVariant.body
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* TableCell component.
|
|
129
|
-
*
|
|
130
|
-
* @param props Component props.
|
|
131
|
-
* @param ref Component ref.
|
|
132
|
-
* @return React element.
|
|
133
|
-
*/
|
|
134
|
-
const TableCell = forwardRef((props, ref) => {
|
|
135
|
-
const {
|
|
136
|
-
children,
|
|
137
|
-
className,
|
|
138
|
-
icon,
|
|
139
|
-
isSortable,
|
|
140
|
-
onHeaderClick,
|
|
141
|
-
sortOrder,
|
|
142
|
-
variant = DEFAULT_PROPS$2.variant,
|
|
143
|
-
...forwardedProps
|
|
144
|
-
} = props;
|
|
145
|
-
|
|
146
|
-
// Use button if clickable
|
|
147
|
-
const Wrapper = onHeaderClick ? 'button' : 'div';
|
|
148
|
-
const wrapperProps = Wrapper === 'button' ? {
|
|
149
|
-
type: 'button',
|
|
150
|
-
onClick: onHeaderClick
|
|
151
|
-
} : undefined;
|
|
152
|
-
|
|
153
|
-
// ARIA sort
|
|
154
|
-
let ariaSort;
|
|
155
|
-
if (isSortable) {
|
|
156
|
-
ariaSort = 'none';
|
|
157
|
-
if (sortOrder === ThOrder.asc) ariaSort = 'ascending';
|
|
158
|
-
if (sortOrder === ThOrder.desc) ariaSort = 'descending';
|
|
159
|
-
}
|
|
160
|
-
return /*#__PURE__*/jsxs(Fragment, {
|
|
161
|
-
children: [variant === TableCellVariant.head && /*#__PURE__*/jsx("th", {
|
|
162
|
-
ref: ref,
|
|
163
|
-
...forwardedProps,
|
|
164
|
-
className: classNames(handleBasicClasses({
|
|
165
|
-
prefix: CLASSNAME$2,
|
|
166
|
-
isSortable,
|
|
167
|
-
isSorted: isSortable && !!sortOrder
|
|
168
|
-
}), className, `${CLASSNAME$2}--head`),
|
|
169
|
-
"aria-sort": ariaSort,
|
|
170
|
-
children: /*#__PURE__*/jsxs(Wrapper, {
|
|
171
|
-
className: `${CLASSNAME$2}-wrapper`,
|
|
172
|
-
...wrapperProps,
|
|
173
|
-
children: [icon && !isSortable && /*#__PURE__*/jsx(Icon, {
|
|
174
|
-
className: `${CLASSNAME$2}-icon`,
|
|
175
|
-
icon: icon,
|
|
176
|
-
size: Size.xxs
|
|
177
|
-
}), isSortable && sortOrder === ThOrder.asc && /*#__PURE__*/jsx(Icon, {
|
|
178
|
-
className: `${CLASSNAME$2}-icon`,
|
|
179
|
-
icon: mdiArrowUp,
|
|
180
|
-
size: Size.xxs
|
|
181
|
-
}), isSortable && sortOrder === ThOrder.desc && /*#__PURE__*/jsx(Icon, {
|
|
182
|
-
className: `${CLASSNAME$2}-icon`,
|
|
183
|
-
icon: mdiArrowDown,
|
|
184
|
-
size: Size.xxs
|
|
185
|
-
}), /*#__PURE__*/jsx("div", {
|
|
186
|
-
className: `${CLASSNAME$2}-content`,
|
|
187
|
-
children: children
|
|
188
|
-
})]
|
|
189
|
-
})
|
|
190
|
-
}), variant === TableCellVariant.body && /*#__PURE__*/jsx("td", {
|
|
191
|
-
...forwardedProps,
|
|
192
|
-
className: classNames(className, CLASSNAME$2, `${CLASSNAME$2}--body`),
|
|
193
|
-
children: /*#__PURE__*/jsx("div", {
|
|
194
|
-
className: `${CLASSNAME$2}-content`,
|
|
195
|
-
children: children
|
|
196
|
-
})
|
|
197
|
-
})]
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
TableCell.displayName = COMPONENT_NAME$2;
|
|
201
|
-
TableCell.className = CLASSNAME$2;
|
|
202
|
-
TableCell.defaultProps = DEFAULT_PROPS$2;
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Component display name.
|
|
206
|
-
*/
|
|
207
|
-
const COMPONENT_NAME$1 = 'TableHeader';
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Component default class name and class prefix.
|
|
211
|
-
*/
|
|
212
|
-
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1, true);
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Component default props.
|
|
216
|
-
*/
|
|
217
|
-
const DEFAULT_PROPS$1 = {};
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* TableHeader component.
|
|
221
|
-
*
|
|
222
|
-
* @param props Component props.
|
|
223
|
-
* @param ref Component ref.
|
|
224
|
-
* @return React element.
|
|
225
|
-
*/
|
|
226
|
-
const TableHeader = forwardRef((props, ref) => {
|
|
227
|
-
const {
|
|
228
|
-
children,
|
|
229
|
-
className,
|
|
230
|
-
...forwardedProps
|
|
231
|
-
} = props;
|
|
232
|
-
return /*#__PURE__*/jsx("thead", {
|
|
233
|
-
ref: ref,
|
|
234
|
-
...forwardedProps,
|
|
235
|
-
className: classNames(className, CLASSNAME$1),
|
|
236
|
-
children: children
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
TableHeader.displayName = COMPONENT_NAME$1;
|
|
240
|
-
TableHeader.className = CLASSNAME$1;
|
|
241
|
-
TableHeader.defaultProps = DEFAULT_PROPS$1;
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Component display name.
|
|
245
|
-
*/
|
|
246
|
-
const COMPONENT_NAME = 'TableRow';
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Component default class name and class prefix.
|
|
250
|
-
*/
|
|
251
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME, true);
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Component default props.
|
|
255
|
-
*/
|
|
256
|
-
const DEFAULT_PROPS = {};
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* TableRow component.
|
|
260
|
-
*
|
|
261
|
-
* @param props Component props.
|
|
262
|
-
* @param ref Component ref.
|
|
263
|
-
* @return React element.
|
|
264
|
-
*/
|
|
265
|
-
const TableRow = forwardRef((props, ref) => {
|
|
266
|
-
const {
|
|
267
|
-
isAnyDisabled,
|
|
268
|
-
disabledStateProps,
|
|
269
|
-
otherProps
|
|
270
|
-
} = useDisableStateProps(props);
|
|
271
|
-
const {
|
|
272
|
-
children,
|
|
273
|
-
className,
|
|
274
|
-
isClickable,
|
|
275
|
-
isSelected,
|
|
276
|
-
...forwardedProps
|
|
277
|
-
} = otherProps;
|
|
278
|
-
return /*#__PURE__*/jsx("tr", {
|
|
279
|
-
ref: ref,
|
|
280
|
-
tabIndex: isClickable && !disabledStateProps.disabled ? 0 : -1,
|
|
281
|
-
...forwardedProps,
|
|
282
|
-
className: classNames(className, handleBasicClasses({
|
|
283
|
-
isClickable: isClickable && !isAnyDisabled,
|
|
284
|
-
isDisabled: isAnyDisabled,
|
|
285
|
-
isSelected: isSelected && !isAnyDisabled,
|
|
286
|
-
prefix: CLASSNAME
|
|
287
|
-
})),
|
|
288
|
-
"aria-disabled": isAnyDisabled,
|
|
289
|
-
children: children
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
TableRow.displayName = COMPONENT_NAME;
|
|
293
|
-
TableRow.className = CLASSNAME;
|
|
294
|
-
TableRow.defaultProps = DEFAULT_PROPS;
|
|
295
|
-
|
|
296
|
-
export { Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, ThOrder };
|
|
297
|
-
//# sourceMappingURL=table-5bdf4aec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-5bdf4aec.js","sources":["../../../../lumx-icons/dist/esm/arrow-down.js","../../../../lumx-icons/dist/esm/arrow-up.js","../../../src/components/table/Table.tsx","../../../src/components/table/TableBody.tsx","../../../src/components/table/TableCell.tsx","../../../src/components/table/TableHeader.tsx","../../../src/components/table/TableRow.tsx"],"sourcesContent":["export const mdiArrowDown = /*#__PURE__*/ 'M11 4h2v12l5.5-5.5 1.42 1.42L12 19.84l-7.92-7.92L5.5 10.5 11 16z';","export const mdiArrowUp = /*#__PURE__*/ 'M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z';","import classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface TableProps extends GenericProps, HasTheme {\n /** Whether the table has checkbox or thumbnail on first cell or not. */\n hasBefore?: boolean;\n /** Whether the table has dividers or not. */\n hasDividers?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Table';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TableProps> = {};\n\n/**\n * Table component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Table = forwardRef<TableProps, HTMLTableElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { children, className, hasBefore, hasDividers, theme = defaultTheme, ...forwardedProps } = props;\n\n return (\n <table\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, hasBefore, hasDividers, theme }))}\n >\n {children}\n </table>\n );\n});\nTable.displayName = COMPONENT_NAME;\nTable.className = CLASSNAME;\nTable.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface TableBodyProps extends GenericProps {\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TableBody';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME, true);\n\n/**\n * TableBody component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TableBody = forwardRef<TableBodyProps, HTMLTableSectionElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <tbody ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </tbody>\n );\n});\nTableBody.displayName = COMPONENT_NAME;\nTableBody.className = CLASSNAME;\n","import classNames from 'classnames';\n\nimport { mdiArrowDown, mdiArrowUp } from '@lumx/icons';\nimport { Icon, Size } from '@lumx/react';\nimport { GenericProps, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Table head cell sort order.\n */\nexport const ThOrder = { asc: 'asc', desc: 'desc' } as const;\nexport type ThOrder = ValueOf<typeof ThOrder>;\n\n/**\n * Table cell variants.\n */\nexport const TableCellVariant = { body: 'body', head: 'head' } as const;\nexport type TableCellVariant = ValueOf<typeof TableCellVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TableCellProps extends GenericProps {\n /** Icon (SVG path).(thead only). */\n icon?: string;\n /** Whether the column is sortable or not (thead only). */\n isSortable?: boolean;\n /** Sort order displayed as icon (sortable thead only). */\n sortOrder?: ThOrder;\n /** Variant. */\n variant?: TableCellVariant;\n /** On header cell click callback. */\n onHeaderClick?(): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TableCell';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME, true);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TableCellProps> = {\n variant: TableCellVariant.body,\n};\n\n/**\n * TableCell component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TableCell = forwardRef<TableCellProps, HTMLTableCellElement>((props, ref) => {\n const {\n children,\n className,\n icon,\n isSortable,\n onHeaderClick,\n sortOrder,\n variant = DEFAULT_PROPS.variant,\n ...forwardedProps\n } = props;\n\n // Use button if clickable\n const Wrapper = onHeaderClick ? 'button' : 'div';\n const wrapperProps = Wrapper === 'button' ? ({ type: 'button', onClick: onHeaderClick } as const) : undefined;\n\n // ARIA sort\n let ariaSort: 'ascending' | 'descending' | 'none' | undefined;\n if (isSortable) {\n ariaSort = 'none';\n if (sortOrder === ThOrder.asc) ariaSort = 'ascending';\n if (sortOrder === ThOrder.desc) ariaSort = 'descending';\n }\n\n return (\n <>\n {variant === TableCellVariant.head && (\n <th\n ref={ref}\n {...forwardedProps}\n className={classNames(\n handleBasicClasses({\n prefix: CLASSNAME,\n isSortable,\n isSorted: isSortable && !!sortOrder,\n }),\n className,\n `${CLASSNAME}--head`,\n )}\n aria-sort={ariaSort}\n >\n <Wrapper className={`${CLASSNAME}-wrapper`} {...wrapperProps}>\n {icon && !isSortable && <Icon className={`${CLASSNAME}-icon`} icon={icon} size={Size.xxs} />}\n\n {isSortable && sortOrder === ThOrder.asc && (\n <Icon className={`${CLASSNAME}-icon`} icon={mdiArrowUp} size={Size.xxs} />\n )}\n\n {isSortable && sortOrder === ThOrder.desc && (\n <Icon className={`${CLASSNAME}-icon`} icon={mdiArrowDown} size={Size.xxs} />\n )}\n\n <div className={`${CLASSNAME}-content`}>{children}</div>\n </Wrapper>\n </th>\n )}\n\n {variant === TableCellVariant.body && (\n <td {...forwardedProps} className={classNames(className, CLASSNAME, `${CLASSNAME}--body`)}>\n <div className={`${CLASSNAME}-content`}>{children}</div>\n </td>\n )}\n </>\n );\n});\nTableCell.displayName = COMPONENT_NAME;\nTableCell.className = CLASSNAME;\nTableCell.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface TableHeaderProps extends GenericProps {\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TableHeader';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME, true);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TableHeaderProps> = {};\n\n/**\n * TableHeader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TableHeader = forwardRef<TableHeaderProps, HTMLTableSectionElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <thead ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </thead>\n );\n});\nTableHeader.displayName = COMPONENT_NAME;\nTableHeader.className = CLASSNAME;\nTableHeader.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\n\n/**\n * Defines the props of the component.\n */\nexport interface TableRowProps extends GenericProps {\n /** Whether the component is clickable or not. */\n isClickable?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is selected or not. */\n isSelected?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TableRow';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME, true);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TableRowProps> = {};\n\n/**\n * TableRow component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TableRow = forwardRef<TableRowProps, HTMLTableRowElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const { children, className, isClickable, isSelected, ...forwardedProps } = otherProps;\n\n return (\n <tr\n ref={ref}\n tabIndex={isClickable && !disabledStateProps.disabled ? 0 : -1}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n isClickable: isClickable && !isAnyDisabled,\n isDisabled: isAnyDisabled,\n isSelected: isSelected && !isAnyDisabled,\n prefix: CLASSNAME,\n }),\n )}\n aria-disabled={isAnyDisabled}\n >\n {children}\n </tr>\n );\n});\n\nTableRow.displayName = COMPONENT_NAME;\nTableRow.className = CLASSNAME;\nTableRow.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiArrowDown","mdiArrowUp","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Table","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","children","className","hasBefore","hasDividers","theme","forwardedProps","_jsx","classNames","handleBasicClasses","prefix","displayName","defaultProps","TableBody","ThOrder","asc","desc","TableCellVariant","body","head","variant","TableCell","icon","isSortable","onHeaderClick","sortOrder","Wrapper","wrapperProps","type","onClick","undefined","ariaSort","_jsxs","_Fragment","isSorted","Icon","size","Size","xxs","TableHeader","TableRow","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","isClickable","isSelected","tabIndex","disabled","isDisabled"],"mappings":"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"}
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import ReactDOM from 'react-dom';
|
|
2
|
-
import React__default, { useReducer, useEffect, useCallback } from 'react';
|
|
3
|
-
import { I as INIT_STATE, r as reducer, T as TabProviderContext, a as useTabProviderContext } from '../state-db358714.js';
|
|
4
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
|
|
6
|
-
import '../constants-d0e3f49e.js';
|
|
7
|
-
import { handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
8
|
-
import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
|
|
9
|
-
import { u as useTheme } from '../ThemeContext-3181f000.js';
|
|
10
|
-
import { u as useRovingTabIndex } from '../useRovingTabIndex-7daf0f24.js';
|
|
11
|
-
import { Alignment, Theme, CSS_PREFIX, Size } from '@lumx/core/js/constants';
|
|
12
|
-
import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
|
|
13
|
-
import { I as Icon } from '../index-745f94ee.js';
|
|
14
|
-
import { T as Text } from '../index-ab520e78.js';
|
|
15
|
-
|
|
16
|
-
const DEFAULT_PROPS$3 = {
|
|
17
|
-
isLazy: INIT_STATE.isLazy,
|
|
18
|
-
shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* This component provides a context in which tabs can be defined and linked to their tab panel.
|
|
23
|
-
*
|
|
24
|
-
* It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
|
|
25
|
-
* components in the react tree.
|
|
26
|
-
*
|
|
27
|
-
* @param props React component props.
|
|
28
|
-
* @return React element.
|
|
29
|
-
*/
|
|
30
|
-
const TabProvider = props => {
|
|
31
|
-
const {
|
|
32
|
-
children,
|
|
33
|
-
onChange,
|
|
34
|
-
...propState
|
|
35
|
-
} = props;
|
|
36
|
-
const [state, dispatch] = useReducer(reducer, INIT_STATE);
|
|
37
|
-
|
|
38
|
-
// On prop state change => dispatch update.
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
dispatch({
|
|
41
|
-
type: 'update',
|
|
42
|
-
payload: {
|
|
43
|
-
...DEFAULT_PROPS$3,
|
|
44
|
-
...propState
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
-
[dispatch, ...Object.values(propState)]);
|
|
50
|
-
|
|
51
|
-
// On active tab index state change => send update to the onChange.
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Escape rendering/useEffect context
|
|
58
|
-
queueMicrotask(() => {
|
|
59
|
-
// Wait for React to commit last state changes (avoid looping state update)
|
|
60
|
-
ReactDOM.flushSync(() => {
|
|
61
|
-
onChange(state.activeTabIndex);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
},
|
|
65
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
66
|
-
[onChange, state.activeTabIndex]);
|
|
67
|
-
return /*#__PURE__*/jsx(TabProviderContext.Provider, {
|
|
68
|
-
value: [state, dispatch],
|
|
69
|
-
children: children
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
TabProvider.defaultProps = DEFAULT_PROPS$3;
|
|
73
|
-
|
|
74
|
-
let TabListLayout = /*#__PURE__*/function (TabListLayout) {
|
|
75
|
-
TabListLayout["clustered"] = "clustered";
|
|
76
|
-
TabListLayout["fixed"] = "fixed";
|
|
77
|
-
return TabListLayout;
|
|
78
|
-
}({});
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Defines the props of the component.
|
|
82
|
-
*/
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Component display name.
|
|
86
|
-
*/
|
|
87
|
-
const COMPONENT_NAME$2 = 'TabList';
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Component default class name and class prefix.
|
|
91
|
-
*/
|
|
92
|
-
const CLASSNAME$2 = `${CSS_PREFIX}-tabs`;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Component default props.
|
|
96
|
-
*/
|
|
97
|
-
const DEFAULT_PROPS$2 = {
|
|
98
|
-
layout: TabListLayout.fixed,
|
|
99
|
-
position: Alignment.left
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* TabList component.
|
|
104
|
-
*
|
|
105
|
-
* Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
106
|
-
*
|
|
107
|
-
* @param props Component props.
|
|
108
|
-
* @param ref Component ref.
|
|
109
|
-
* @return React element.
|
|
110
|
-
*/
|
|
111
|
-
const TabList = forwardRef((props, ref) => {
|
|
112
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
113
|
-
const {
|
|
114
|
-
'aria-label': ariaLabel,
|
|
115
|
-
children,
|
|
116
|
-
className,
|
|
117
|
-
layout = DEFAULT_PROPS$2.layout,
|
|
118
|
-
position = DEFAULT_PROPS$2.position,
|
|
119
|
-
theme = defaultTheme,
|
|
120
|
-
...forwardedProps
|
|
121
|
-
} = props;
|
|
122
|
-
const tabListRef = React__default.useRef(null);
|
|
123
|
-
useRovingTabIndex({
|
|
124
|
-
parentRef: tabListRef,
|
|
125
|
-
elementSelector: '[role="tab"]',
|
|
126
|
-
keepTabIndex: false,
|
|
127
|
-
extraDependencies: [children]
|
|
128
|
-
});
|
|
129
|
-
return /*#__PURE__*/jsx("div", {
|
|
130
|
-
ref: mergeRefs(ref, tabListRef),
|
|
131
|
-
...forwardedProps,
|
|
132
|
-
className: classNames(className, handleBasicClasses({
|
|
133
|
-
prefix: CLASSNAME$2,
|
|
134
|
-
layout,
|
|
135
|
-
position,
|
|
136
|
-
theme
|
|
137
|
-
})),
|
|
138
|
-
children: /*#__PURE__*/jsx("div", {
|
|
139
|
-
className: `${CLASSNAME$2}__links`,
|
|
140
|
-
role: "tablist",
|
|
141
|
-
"aria-label": ariaLabel,
|
|
142
|
-
children: children
|
|
143
|
-
})
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
TabList.displayName = COMPONENT_NAME$2;
|
|
147
|
-
TabList.className = CLASSNAME$2;
|
|
148
|
-
TabList.defaultProps = DEFAULT_PROPS$2;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Component display name.
|
|
152
|
-
*/
|
|
153
|
-
const COMPONENT_NAME$1 = 'Tab';
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Component default class name and class prefix.
|
|
157
|
-
*/
|
|
158
|
-
const CLASSNAME$1 = `${CSS_PREFIX}-tabs__link`;
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Component default props.
|
|
162
|
-
*/
|
|
163
|
-
const DEFAULT_PROPS$1 = {};
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Tab component.
|
|
167
|
-
*
|
|
168
|
-
* Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
169
|
-
*
|
|
170
|
-
* @param props Component props.
|
|
171
|
-
* @param ref Component ref.
|
|
172
|
-
* @return React element.
|
|
173
|
-
*/
|
|
174
|
-
const Tab = forwardRef((props, ref) => {
|
|
175
|
-
const {
|
|
176
|
-
isAnyDisabled,
|
|
177
|
-
otherProps
|
|
178
|
-
} = useDisableStateProps(props);
|
|
179
|
-
const {
|
|
180
|
-
className,
|
|
181
|
-
icon,
|
|
182
|
-
iconProps = {},
|
|
183
|
-
id,
|
|
184
|
-
isActive: propIsActive,
|
|
185
|
-
label,
|
|
186
|
-
onFocus,
|
|
187
|
-
onKeyPress,
|
|
188
|
-
tabIndex = -1,
|
|
189
|
-
...forwardedProps
|
|
190
|
-
} = otherProps;
|
|
191
|
-
const state = useTabProviderContext('tab', id);
|
|
192
|
-
const isActive = propIsActive || state?.isActive;
|
|
193
|
-
const changeToCurrentTab = useCallback(() => {
|
|
194
|
-
if (isAnyDisabled) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
state?.changeToTab();
|
|
198
|
-
}, [isAnyDisabled, state]);
|
|
199
|
-
const handleFocus = useCallback(event => {
|
|
200
|
-
onFocus?.(event);
|
|
201
|
-
if (state?.shouldActivateOnFocus) {
|
|
202
|
-
changeToCurrentTab();
|
|
203
|
-
}
|
|
204
|
-
}, [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus]);
|
|
205
|
-
const handleKeyPress = useCallback(event => {
|
|
206
|
-
onKeyPress?.(event);
|
|
207
|
-
if (event.key !== 'Enter' || isAnyDisabled) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
changeToCurrentTab();
|
|
211
|
-
}, [changeToCurrentTab, isAnyDisabled, onKeyPress]);
|
|
212
|
-
return /*#__PURE__*/jsxs("button", {
|
|
213
|
-
ref: ref,
|
|
214
|
-
...forwardedProps,
|
|
215
|
-
type: "button",
|
|
216
|
-
id: state?.tabId,
|
|
217
|
-
className: classNames(className, handleBasicClasses({
|
|
218
|
-
prefix: CLASSNAME$1,
|
|
219
|
-
isActive,
|
|
220
|
-
isDisabled: isAnyDisabled
|
|
221
|
-
})),
|
|
222
|
-
onClick: changeToCurrentTab,
|
|
223
|
-
onKeyPress: handleKeyPress,
|
|
224
|
-
onFocus: handleFocus,
|
|
225
|
-
role: "tab",
|
|
226
|
-
tabIndex: isActive ? 0 : tabIndex,
|
|
227
|
-
"aria-disabled": isAnyDisabled,
|
|
228
|
-
"aria-selected": isActive,
|
|
229
|
-
"aria-controls": state?.tabPanelId,
|
|
230
|
-
children: [icon && /*#__PURE__*/jsx(Icon, {
|
|
231
|
-
icon: icon,
|
|
232
|
-
size: Size.xs,
|
|
233
|
-
...iconProps
|
|
234
|
-
}), label && /*#__PURE__*/jsx(Text, {
|
|
235
|
-
as: "span",
|
|
236
|
-
truncate: true,
|
|
237
|
-
children: label
|
|
238
|
-
})]
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
Tab.displayName = COMPONENT_NAME$1;
|
|
242
|
-
Tab.className = CLASSNAME$1;
|
|
243
|
-
Tab.defaultProps = DEFAULT_PROPS$1;
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Component display name.
|
|
247
|
-
*/
|
|
248
|
-
const COMPONENT_NAME = 'TabPanel';
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Component default class name and class prefix.
|
|
252
|
-
*/
|
|
253
|
-
const CLASSNAME = `${CSS_PREFIX}-tab-panel`;
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Component default props.
|
|
257
|
-
*/
|
|
258
|
-
const DEFAULT_PROPS = {};
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* TabPanel component.
|
|
262
|
-
*
|
|
263
|
-
* Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
264
|
-
*
|
|
265
|
-
* @param props Component props.
|
|
266
|
-
* @param ref Component ref.
|
|
267
|
-
* @return React element.
|
|
268
|
-
*/
|
|
269
|
-
const TabPanel = forwardRef((props, ref) => {
|
|
270
|
-
const {
|
|
271
|
-
children,
|
|
272
|
-
id,
|
|
273
|
-
className,
|
|
274
|
-
isActive: propIsActive,
|
|
275
|
-
...forwardedProps
|
|
276
|
-
} = props;
|
|
277
|
-
const state = useTabProviderContext('tabPanel', id);
|
|
278
|
-
const isActive = propIsActive || state?.isActive;
|
|
279
|
-
return /*#__PURE__*/jsx("div", {
|
|
280
|
-
ref: ref,
|
|
281
|
-
...forwardedProps,
|
|
282
|
-
id: state?.tabPanelId,
|
|
283
|
-
className: classNames(className, handleBasicClasses({
|
|
284
|
-
prefix: CLASSNAME,
|
|
285
|
-
isActive
|
|
286
|
-
})),
|
|
287
|
-
role: "tabpanel",
|
|
288
|
-
tabIndex: isActive ? 0 : -1,
|
|
289
|
-
"aria-labelledby": state?.tabId,
|
|
290
|
-
children: (!state?.isLazy || isActive) && children
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
TabPanel.displayName = COMPONENT_NAME;
|
|
294
|
-
TabPanel.className = CLASSNAME;
|
|
295
|
-
TabPanel.defaultProps = DEFAULT_PROPS;
|
|
296
|
-
|
|
297
|
-
export { Tab, TabList, TabListLayout, TabPanel, TabProvider };
|
|
298
|
-
//# sourceMappingURL=tabs-2ad54592.js.map
|