@lumx/react 3.10.1-alpha.1 → 3.10.1-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_internal/17c3ea1d.js +137 -0
- package/_internal/17c3ea1d.js.map +1 -0
- package/_internal/1da25128.js +411 -0
- package/_internal/1da25128.js.map +1 -0
- package/_internal/230173a8.js +13 -0
- package/_internal/230173a8.js.map +1 -0
- package/_internal/23bdba2d.js +71 -0
- package/_internal/23bdba2d.js.map +1 -0
- package/_internal/26926e5c.d.ts +36 -0
- package/_internal/2a3d237c.js +12 -0
- package/_internal/2a3d237c.js.map +1 -0
- package/_internal/2c5dbb03.js +26 -0
- package/_internal/2c5dbb03.js.map +1 -0
- package/_internal/2e2abe51.js +2154 -0
- package/_internal/2e2abe51.js.map +1 -0
- package/_internal/31490c59.d.ts +167 -0
- package/_internal/3181f000.js +14 -0
- package/_internal/3181f000.js.map +1 -0
- package/_internal/35f100be.d.ts +104 -0
- package/_internal/36bd7352.js +219 -0
- package/_internal/36bd7352.js.map +1 -0
- package/_internal/3a1facc0.js +18 -0
- package/_internal/3a1facc0.js.map +1 -0
- package/_internal/4c20d932.js +89 -0
- package/_internal/4c20d932.js.map +1 -0
- package/_internal/4c28d012.js +305 -0
- package/_internal/4c28d012.js.map +1 -0
- package/_internal/4cd0bf32.js +160 -0
- package/_internal/4cd0bf32.js.map +1 -0
- package/_internal/4daccdd5.js +25 -0
- package/_internal/4daccdd5.js.map +1 -0
- package/_internal/524b1d04.js +64 -0
- package/_internal/524b1d04.js.map +1 -0
- package/_internal/53c94227.js +123 -0
- package/_internal/53c94227.js.map +1 -0
- package/_internal/54d9ded5.js +418 -0
- package/_internal/54d9ded5.js.map +1 -0
- package/_internal/56aec41b.js +652 -0
- package/_internal/56aec41b.js.map +1 -0
- package/_internal/5720caf5.js +124 -0
- package/_internal/5720caf5.js.map +1 -0
- package/_internal/646f0db6.js +113 -0
- package/_internal/646f0db6.js.map +1 -0
- package/_internal/6cc8dca8.d.ts +22 -0
- package/_internal/7f022f8c.d.ts +34 -0
- package/_internal/{index.d.ts → 8d67e1e3.d.ts} +1 -1
- package/_internal/b8f2948d.js +691 -0
- package/_internal/b8f2948d.js.map +1 -0
- package/_internal/bc28d510.js +784 -0
- package/_internal/bc28d510.js.map +1 -0
- package/_internal/c68d24e4.js +145 -0
- package/_internal/c68d24e4.js.map +1 -0
- package/_internal/c6c99f76.js +105 -0
- package/_internal/c6c99f76.js.map +1 -0
- package/_internal/cae46566.js +65 -0
- package/_internal/cae46566.js.map +1 -0
- package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +37 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +148 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js +264 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +201 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js +89 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js.map +1 -0
- package/_internal/components/avatar/index.ts-f92852b4.d.ts +43 -0
- package/_internal/components/badge/index.ts-2d7700ef.d.ts +30 -0
- package/_internal/components/badge/index.ts-6753d67f.js +88 -0
- package/_internal/components/badge/index.ts-6753d67f.js.map +1 -0
- package/_internal/components/button/index.ts-031307ce.js +51 -0
- package/_internal/components/button/index.ts-031307ce.js.map +1 -0
- package/_internal/components/button/index.ts-b29e26a4.d.ts +22 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js +127 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js.map +1 -0
- package/_internal/components/checkbox/index.ts-f82358ff.d.ts +38 -0
- package/_internal/components/chip/index.ts-4a91f1a7.d.ts +68 -0
- package/_internal/components/chip/index.ts-a2b5b771.js +110 -0
- package/_internal/components/chip/index.ts-a2b5b771.js.map +1 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js +121 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js.map +1 -0
- package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +67 -0
- package/_internal/components/date-picker/index.ts-145262d5.js +2 -0
- package/_internal/components/date-picker/index.ts-145262d5.js.map +1 -0
- package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +95 -0
- package/_internal/components/dialog/index.ts-ea044db2.js +224 -0
- package/_internal/components/dialog/index.ts-ea044db2.js.map +1 -0
- package/_internal/components/dialog/index.ts-eca28654.d.ts +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js.map +1 -0
- package/_internal/components/divider/index.ts-b011d8ca.d.ts +18 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js +54 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +1 -0
- package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +18 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js +154 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js.map +1 -0
- package/_internal/components/dropdown/index.ts-b648a15c.d.ts +87 -0
- package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +38 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js +143 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +1 -0
- package/_internal/components/flag/index.ts-8dcd685b.js +56 -0
- package/_internal/components/flag/index.ts-8dcd685b.js.map +1 -0
- package/_internal/components/flag/index.ts-fda89adb.d.ts +23 -0
- package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +43 -0
- package/_internal/components/flex-box/index.ts-c216e957.js +60 -0
- package/_internal/components/flex-box/index.ts-c216e957.js.map +1 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js +115 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js.map +1 -0
- package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +106 -0
- package/_internal/components/grid/index.ts-67e0694f.d.ts +50 -0
- package/_internal/components/grid/index.ts-fdf1b306.js +113 -0
- package/_internal/components/grid/index.ts-fdf1b306.js.map +1 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js +64 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js.map +1 -0
- package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +31 -0
- package/_internal/components/heading/index.ts-0179e9a9.js +112 -0
- package/_internal/components/heading/index.ts-0179e9a9.js.map +1 -0
- package/_internal/components/heading/index.ts-587579e8.d.ts +37 -0
- package/_internal/components/icon/index.ts-740ca1de.js +2 -0
- package/_internal/components/icon/index.ts-740ca1de.js.map +1 -0
- package/_internal/components/icon/index.ts-b3fa5e15.d.ts +34 -0
- package/_internal/components/image-block/index.ts-36b3828f.d.ts +49 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js +111 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js +765 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +75 -0
- package/_internal/components/inline-list/index.ts-033dd358.js +76 -0
- package/_internal/components/inline-list/index.ts-033dd358.js.map +1 -0
- package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +34 -0
- package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +22 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js +75 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +1 -0
- package/_internal/components/input-label/index.ts-86f2ea41.d.ts +24 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js +60 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js.map +1 -0
- package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +36 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js +149 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +1 -0
- package/_internal/components/link/index.ts-26435006.d.ts +37 -0
- package/_internal/components/link/index.ts-d04f4e53.js +120 -0
- package/_internal/components/link/index.ts-d04f4e53.js.map +1 -0
- package/_internal/components/link-preview/index.ts-e560a274.d.ts +36 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js +109 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js.map +1 -0
- package/_internal/components/list/index.ts-ab57902e.d.ts +118 -0
- package/_internal/components/list/index.ts-f3101625.js +86 -0
- package/_internal/components/list/index.ts-f3101625.js.map +1 -0
- package/_internal/components/message/index.ts-041cf0cb.js +97 -0
- package/_internal/components/message/index.ts-041cf0cb.js.map +1 -0
- package/_internal/components/message/index.ts-2d38e0ea.d.ts +37 -0
- package/_internal/components/mosaic/index.ts-232d5aed.d.ts +23 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js +94 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js.map +1 -0
- package/_internal/components/navigation/index.ts-6d8bea53.d.ts +58 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js +222 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +1 -0
- package/_internal/components/notification/index.ts-235fd340.js +140 -0
- package/_internal/components/notification/index.ts-235fd340.js.map +1 -0
- package/_internal/components/notification/index.ts-bb3f03f6.d.ts +34 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js +3 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js.map +1 -0
- package/_internal/components/popover/index.ts-e3b4ff19.d.ts +66 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js +101 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js.map +1 -0
- package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +41 -0
- package/_internal/components/progress/index.ts-2a713859.js +189 -0
- package/_internal/components/progress/index.ts-2a713859.js.map +1 -0
- package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +60 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js +312 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js.map +1 -0
- package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +101 -0
- package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +54 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js +150 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +1 -0
- package/_internal/components/select/index.ts-a65e3507.d.ts +91 -0
- package/_internal/components/select/index.ts-e8fad28b.js +257 -0
- package/_internal/components/select/index.ts-e8fad28b.js.map +1 -0
- package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +60 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +184 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +1 -0
- package/_internal/components/skeleton/index.ts-a7daefac.d.ts +75 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js +179 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js.map +1 -0
- package/_internal/components/slider/index.ts-24a0d598.d.ts +52 -0
- package/_internal/components/slider/index.ts-72aadf4c.js +308 -0
- package/_internal/components/slider/index.ts-72aadf4c.js.map +1 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js +151 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js.map +1 -0
- package/_internal/components/slideshow/index.ts-e49462c6.d.ts +25 -0
- package/_internal/components/switch/index.ts-207ba52b.d.ts +34 -0
- package/_internal/components/switch/index.ts-542e6eaf.js +115 -0
- package/_internal/components/switch/index.ts-542e6eaf.js.map +1 -0
- package/_internal/components/table/index.ts-905ce390.js +310 -0
- package/_internal/components/table/index.ts-905ce390.js.map +1 -0
- package/_internal/components/table/index.ts-c4f39b2d.d.ts +108 -0
- package/_internal/components/tabs/index.ts-713119f4.js +289 -0
- package/_internal/components/tabs/index.ts-713119f4.js.map +1 -0
- package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +106 -0
- package/_internal/components/text/index.ts-6afbe8cd.js +2 -0
- package/_internal/components/text/index.ts-6afbe8cd.js.map +1 -0
- package/_internal/components/text/index.ts-8a812048.d.ts +53 -0
- package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +77 -0
- package/_internal/components/text-field/index.ts-c3be8563.js +341 -0
- package/_internal/components/text-field/index.ts-c3be8563.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js +40 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +8 -0
- package/_internal/components/toolbar/index.ts-813b902e.js +63 -0
- package/_internal/components/toolbar/index.ts-813b902e.js.map +1 -0
- package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +24 -0
- package/_internal/components/tooltip/index.ts-905c847c.js +322 -0
- package/_internal/components/tooltip/index.ts-905c847c.js.map +1 -0
- package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +35 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js +132 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js.map +1 -0
- package/_internal/components/uploader/index.ts-c3ccba98.d.ts +51 -0
- package/_internal/components/user-block/index.ts-18c58e19.d.ts +50 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js +136 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js.map +1 -0
- package/_internal/dc3e28c8.d.ts +38 -0
- package/_internal/f39a1ba4.js +73 -0
- package/_internal/f39a1ba4.js.map +1 -0
- package/_internal/f3e77e3e.js +22 -0
- package/_internal/f3e77e3e.js.map +1 -0
- package/_internal/f502ab30.js +78 -0
- package/_internal/f502ab30.js.map +1 -0
- package/_internal/f52adbae.js +36 -0
- package/_internal/f52adbae.js.map +1 -0
- package/_internal/f57e1239.js +205 -0
- package/_internal/f57e1239.js.map +1 -0
- package/_internal/f5ff1aa4.d.ts +47 -0
- package/_internal/fb975afe.js +52 -0
- package/_internal/fb975afe.js.map +1 -0
- package/index.d.ts +66 -3023
- package/index.js +64 -14536
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.d.ts +1 -1
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { j as _objectWithoutProperties, A as Alignment, i as forwardRef, T as Theme, _ as _extends, g as classNames, l as CSS_PREFIX, S as Size } from '../../1da25128.js';
|
|
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 '../../5720caf5.js';
|
|
4
|
+
import 'lodash/kebabCase';
|
|
5
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
6
|
+
import { m as mergeRefs } from '../../f52adbae.js';
|
|
7
|
+
import { u as useTheme } from '../../3181f000.js';
|
|
8
|
+
import { u as useRovingTabIndex } from '../../f502ab30.js';
|
|
9
|
+
import { I as Icon } from '../../c6c99f76.js';
|
|
10
|
+
import { T as Text } from '../../53c94227.js';
|
|
11
|
+
|
|
12
|
+
const _excluded$3 = ["children", "onChange"];
|
|
13
|
+
const DEFAULT_PROPS$3 = {
|
|
14
|
+
isLazy: INIT_STATE.isLazy,
|
|
15
|
+
shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* This component provides a context in which tabs can be defined and linked to their tab panel.
|
|
20
|
+
*
|
|
21
|
+
* It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
|
|
22
|
+
* components in the react tree.
|
|
23
|
+
*
|
|
24
|
+
* @param props React component props.
|
|
25
|
+
* @return React element.
|
|
26
|
+
*/
|
|
27
|
+
const TabProvider = props => {
|
|
28
|
+
const {
|
|
29
|
+
children,
|
|
30
|
+
onChange
|
|
31
|
+
} = props,
|
|
32
|
+
propState = _objectWithoutProperties(props, _excluded$3);
|
|
33
|
+
const [state, dispatch] = useReducer(reducer, INIT_STATE);
|
|
34
|
+
|
|
35
|
+
// On prop state change => dispatch update.
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
dispatch({
|
|
38
|
+
type: 'update',
|
|
39
|
+
payload: propState
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
|
+
[dispatch, ...Object.values(propState)]);
|
|
44
|
+
|
|
45
|
+
// On active tab index state change => send update to the onChange.
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
onChange(state.activeTabIndex);
|
|
51
|
+
},
|
|
52
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
|
+
[onChange, state.activeTabIndex]);
|
|
54
|
+
return /*#__PURE__*/React__default.createElement(TabProviderContext.Provider, {
|
|
55
|
+
value: [state, dispatch]
|
|
56
|
+
}, children);
|
|
57
|
+
};
|
|
58
|
+
TabProvider.defaultProps = DEFAULT_PROPS$3;
|
|
59
|
+
|
|
60
|
+
const _excluded$2 = ["aria-label", "children", "className", "layout", "position", "theme"];
|
|
61
|
+
let TabListLayout = /*#__PURE__*/function (TabListLayout) {
|
|
62
|
+
TabListLayout["clustered"] = "clustered";
|
|
63
|
+
TabListLayout["fixed"] = "fixed";
|
|
64
|
+
return TabListLayout;
|
|
65
|
+
}({});
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Defines the props of the component.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Component display name.
|
|
73
|
+
*/
|
|
74
|
+
const COMPONENT_NAME$2 = 'TabList';
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Component default class name and class prefix.
|
|
78
|
+
*/
|
|
79
|
+
const CLASSNAME$2 = `${CSS_PREFIX}-tabs`;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Component default props.
|
|
83
|
+
*/
|
|
84
|
+
const DEFAULT_PROPS$2 = {
|
|
85
|
+
layout: TabListLayout.fixed,
|
|
86
|
+
position: Alignment.left
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* TabList component.
|
|
91
|
+
*
|
|
92
|
+
* Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
93
|
+
*
|
|
94
|
+
* @param props Component props.
|
|
95
|
+
* @param ref Component ref.
|
|
96
|
+
* @return React element.
|
|
97
|
+
*/
|
|
98
|
+
const TabList = forwardRef((props, ref) => {
|
|
99
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
100
|
+
const {
|
|
101
|
+
'aria-label': ariaLabel,
|
|
102
|
+
children,
|
|
103
|
+
className,
|
|
104
|
+
layout,
|
|
105
|
+
position,
|
|
106
|
+
theme = defaultTheme
|
|
107
|
+
} = props,
|
|
108
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$2);
|
|
109
|
+
const tabListRef = React__default.useRef(null);
|
|
110
|
+
useRovingTabIndex({
|
|
111
|
+
parentRef: tabListRef,
|
|
112
|
+
elementSelector: '[role="tab"]',
|
|
113
|
+
keepTabIndex: false,
|
|
114
|
+
extraDependencies: [children]
|
|
115
|
+
});
|
|
116
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
117
|
+
ref: mergeRefs(ref, tabListRef)
|
|
118
|
+
}, forwardedProps, {
|
|
119
|
+
className: classNames(className, handleBasicClasses({
|
|
120
|
+
prefix: CLASSNAME$2,
|
|
121
|
+
layout,
|
|
122
|
+
position,
|
|
123
|
+
theme
|
|
124
|
+
}))
|
|
125
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
126
|
+
className: `${CLASSNAME$2}__links`,
|
|
127
|
+
role: "tablist",
|
|
128
|
+
"aria-label": ariaLabel
|
|
129
|
+
}, children));
|
|
130
|
+
});
|
|
131
|
+
TabList.displayName = COMPONENT_NAME$2;
|
|
132
|
+
TabList.className = CLASSNAME$2;
|
|
133
|
+
TabList.defaultProps = DEFAULT_PROPS$2;
|
|
134
|
+
|
|
135
|
+
const _excluded$1 = ["className", "disabled", "icon", "iconProps", "id", "isActive", "isDisabled", "label", "onFocus", "onKeyPress", "tabIndex"];
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Defines the props of the component.
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Component display name.
|
|
143
|
+
*/
|
|
144
|
+
const COMPONENT_NAME$1 = 'Tab';
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Component default class name and class prefix.
|
|
148
|
+
*/
|
|
149
|
+
const CLASSNAME$1 = `${CSS_PREFIX}-tabs__link`;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Component default props.
|
|
153
|
+
*/
|
|
154
|
+
const DEFAULT_PROPS$1 = {};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Tab component.
|
|
158
|
+
*
|
|
159
|
+
* Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
160
|
+
*
|
|
161
|
+
* @param props Component props.
|
|
162
|
+
* @param ref Component ref.
|
|
163
|
+
* @return React element.
|
|
164
|
+
*/
|
|
165
|
+
const Tab = forwardRef((props, ref) => {
|
|
166
|
+
const {
|
|
167
|
+
className,
|
|
168
|
+
disabled,
|
|
169
|
+
icon,
|
|
170
|
+
iconProps = {},
|
|
171
|
+
id,
|
|
172
|
+
isActive: propIsActive,
|
|
173
|
+
isDisabled = disabled,
|
|
174
|
+
label,
|
|
175
|
+
onFocus,
|
|
176
|
+
onKeyPress,
|
|
177
|
+
tabIndex = -1
|
|
178
|
+
} = props,
|
|
179
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$1);
|
|
180
|
+
const state = useTabProviderContext('tab', id);
|
|
181
|
+
const isActive = propIsActive || (state === null || state === void 0 ? void 0 : state.isActive);
|
|
182
|
+
const changeToCurrentTab = useCallback(() => {
|
|
183
|
+
if (isDisabled) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
state === null || state === void 0 ? void 0 : state.changeToTab();
|
|
187
|
+
}, [isDisabled, state]);
|
|
188
|
+
const handleFocus = useCallback(event => {
|
|
189
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
190
|
+
if (state !== null && state !== void 0 && state.shouldActivateOnFocus) {
|
|
191
|
+
changeToCurrentTab();
|
|
192
|
+
}
|
|
193
|
+
}, [changeToCurrentTab, onFocus, state === null || state === void 0 ? void 0 : state.shouldActivateOnFocus]);
|
|
194
|
+
const handleKeyPress = useCallback(event => {
|
|
195
|
+
onKeyPress === null || onKeyPress === void 0 ? void 0 : onKeyPress(event);
|
|
196
|
+
if (event.key !== 'Enter') {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
changeToCurrentTab();
|
|
200
|
+
}, [changeToCurrentTab, onKeyPress]);
|
|
201
|
+
return /*#__PURE__*/React__default.createElement("button", _extends({
|
|
202
|
+
ref: ref
|
|
203
|
+
}, forwardedProps, {
|
|
204
|
+
type: "button",
|
|
205
|
+
id: state === null || state === void 0 ? void 0 : state.tabId,
|
|
206
|
+
className: classNames(className, handleBasicClasses({
|
|
207
|
+
prefix: CLASSNAME$1,
|
|
208
|
+
isActive,
|
|
209
|
+
isDisabled
|
|
210
|
+
})),
|
|
211
|
+
onClick: changeToCurrentTab,
|
|
212
|
+
onKeyPress: handleKeyPress,
|
|
213
|
+
onFocus: handleFocus,
|
|
214
|
+
role: "tab",
|
|
215
|
+
tabIndex: isActive ? 0 : tabIndex,
|
|
216
|
+
"aria-disabled": isDisabled,
|
|
217
|
+
"aria-selected": isActive,
|
|
218
|
+
"aria-controls": state === null || state === void 0 ? void 0 : state.tabPanelId
|
|
219
|
+
}), icon && /*#__PURE__*/React__default.createElement(Icon, _extends({
|
|
220
|
+
icon: icon,
|
|
221
|
+
size: Size.xs
|
|
222
|
+
}, iconProps)), label && /*#__PURE__*/React__default.createElement(Text, {
|
|
223
|
+
as: "span",
|
|
224
|
+
truncate: true
|
|
225
|
+
}, label));
|
|
226
|
+
});
|
|
227
|
+
Tab.displayName = COMPONENT_NAME$1;
|
|
228
|
+
Tab.className = CLASSNAME$1;
|
|
229
|
+
Tab.defaultProps = DEFAULT_PROPS$1;
|
|
230
|
+
|
|
231
|
+
const _excluded = ["children", "id", "className", "isActive"];
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Defines the props of the component.
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Component display name.
|
|
239
|
+
*/
|
|
240
|
+
const COMPONENT_NAME = 'TabPanel';
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Component default class name and class prefix.
|
|
244
|
+
*/
|
|
245
|
+
const CLASSNAME = `${CSS_PREFIX}-tab-panel`;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Component default props.
|
|
249
|
+
*/
|
|
250
|
+
const DEFAULT_PROPS = {};
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* TabPanel component.
|
|
254
|
+
*
|
|
255
|
+
* Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
256
|
+
*
|
|
257
|
+
* @param props Component props.
|
|
258
|
+
* @param ref Component ref.
|
|
259
|
+
* @return React element.
|
|
260
|
+
*/
|
|
261
|
+
const TabPanel = forwardRef((props, ref) => {
|
|
262
|
+
const {
|
|
263
|
+
children,
|
|
264
|
+
id,
|
|
265
|
+
className,
|
|
266
|
+
isActive: propIsActive
|
|
267
|
+
} = props,
|
|
268
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
269
|
+
const state = useTabProviderContext('tabPanel', id);
|
|
270
|
+
const isActive = propIsActive || (state === null || state === void 0 ? void 0 : state.isActive);
|
|
271
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
272
|
+
ref: ref
|
|
273
|
+
}, forwardedProps, {
|
|
274
|
+
id: state === null || state === void 0 ? void 0 : state.tabPanelId,
|
|
275
|
+
className: classNames(className, handleBasicClasses({
|
|
276
|
+
prefix: CLASSNAME,
|
|
277
|
+
isActive
|
|
278
|
+
})),
|
|
279
|
+
role: "tabpanel",
|
|
280
|
+
tabIndex: isActive ? 0 : -1,
|
|
281
|
+
"aria-labelledby": state === null || state === void 0 ? void 0 : state.tabId
|
|
282
|
+
}), (!(state !== null && state !== void 0 && state.isLazy) || isActive) && children);
|
|
283
|
+
});
|
|
284
|
+
TabPanel.displayName = COMPONENT_NAME;
|
|
285
|
+
TabPanel.className = CLASSNAME;
|
|
286
|
+
TabPanel.defaultProps = DEFAULT_PROPS;
|
|
287
|
+
|
|
288
|
+
export { Tab, TabList, TabListLayout, TabPanel, TabProvider };
|
|
289
|
+
//# sourceMappingURL=index.ts-713119f4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-713119f4.js","sources":["../../../../src/components/tabs/TabProvider.tsx","../../../../src/components/tabs/TabList.tsx","../../../../src/components/tabs/Tab.tsx","../../../../src/components/tabs/TabPanel.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from './state';\n\nexport interface TabProviderProps {\n /** Active tab index. */\n activeTabIndex?: number;\n /** Tab provider children. */\n children: ReactNode;\n /** Tab panel children should not render if the tab panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n\n /** Tab change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<TabProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which tabs can be defined and linked to their tab panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel\n * components in the react tree.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const TabProvider: React.FC<TabProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({ type: 'update', payload: propState });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {\n return;\n }\n onChange(state.activeTabIndex);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nTabProvider.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\n\nexport enum TabListLayout {\n clustered = 'clustered',\n fixed = 'fixed',\n}\n\n/**\n * Defines the props of the component.\n */\nexport interface TabListProps extends GenericProps, HasTheme {\n /** ARIA label (purpose of the set of tabs). */\n ['aria-label']: string;\n /** Tab list. */\n children: ReactNode;\n /** Layout of the tabs in the list. */\n layout?: TabListLayout;\n /** Position of the tabs in the list (requires 'clustered' layout). */\n position?: Alignment;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabList';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabListProps> = {\n layout: TabListLayout.fixed,\n position: Alignment.left,\n};\n\n/**\n * TabList component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabList = forwardRef<TabListProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n layout,\n position,\n theme = defaultTheme,\n ...forwardedProps\n } = props;\n const tabListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: tabListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n return (\n <div\n ref={mergeRefs(ref, tabListRef)}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, layout, position, theme }))}\n >\n <div className={`${CLASSNAME}__links`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n </div>\n );\n});\nTabList.displayName = COMPONENT_NAME;\nTabList.className = CLASSNAME;\nTabList.defaultProps = DEFAULT_PROPS;\n","import React, { FocusEventHandler, KeyboardEventHandler, ReactNode, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, IconProps, Size, Text } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTabProviderContext } from './state';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Icon (SVG path). */\n icon?: IconProps['icon'];\n /** Icon component properties. */\n iconProps?: Omit<IconProps, 'icon'>;\n /** Native id property. */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label: string | ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tab';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs__link`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabProps> = {};\n\n/**\n * Tab component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tab = forwardRef<TabProps, HTMLButtonElement>((props, ref) => {\n const {\n className,\n disabled,\n icon,\n iconProps = {},\n id,\n isActive: propIsActive,\n isDisabled = disabled,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = props;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter') {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, onKeyPress],\n );\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive, isDisabled }))}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n {icon && <Icon icon={icon} size={Size.xs} {...iconProps} />}\n {label && (\n <Text as=\"span\" truncate>\n {label}\n </Text>\n )}\n </button>\n );\n});\nTab.displayName = COMPONENT_NAME;\nTab.className = CLASSNAME;\nTab.defaultProps = DEFAULT_PROPS;\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabPanelProps extends GenericProps {\n /** Native id property */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tab-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabPanelProps> = {};\n\n/**\n * TabPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabPanel = forwardRef<TabPanelProps, HTMLDivElement>((props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n});\nTabPanel.displayName = COMPONENT_NAME;\nTabPanel.className = CLASSNAME;\nTabPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","TabProvider","props","children","onChange","propState","_objectWithoutProperties","_excluded","state","dispatch","useReducer","reducer","useEffect","type","payload","Object","values","activeTabIndex","React","createElement","TabProviderContext","Provider","value","defaultProps","TabListLayout","COMPONENT_NAME","CLASSNAME","CSS_PREFIX","layout","fixed","position","Alignment","left","TabList","forwardRef","ref","defaultTheme","useTheme","Theme","light","ariaLabel","className","theme","forwardedProps","tabListRef","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","_extends","mergeRefs","classNames","handleBasicClasses","prefix","role","displayName","Tab","disabled","icon","iconProps","id","isActive","propIsActive","isDisabled","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","tabId","onClick","tabPanelId","Icon","size","Size","xs","Text","as","truncate","TabPanel"],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { G as GenericProps, H as HasTheme, A as Alignment, C as Comp } from '../../8d67e1e3.js';
|
|
3
|
+
import { IconProps } from '../icon/index.ts-b3fa5e15.js';
|
|
4
|
+
|
|
5
|
+
interface TabProviderProps {
|
|
6
|
+
/** Active tab index. */
|
|
7
|
+
activeTabIndex?: number;
|
|
8
|
+
/** Tab provider children. */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Tab panel children should not render if the tab panel is hidden. */
|
|
11
|
+
isLazy?: boolean;
|
|
12
|
+
/** Activate tabs on focus. */
|
|
13
|
+
shouldActivateOnFocus?: boolean;
|
|
14
|
+
/** Tab change callback. */
|
|
15
|
+
onChange?(index: number): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* This component provides a context in which tabs can be defined and linked to their tab panel.
|
|
19
|
+
*
|
|
20
|
+
* It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
|
|
21
|
+
* components in the react tree.
|
|
22
|
+
*
|
|
23
|
+
* @param props React component props.
|
|
24
|
+
* @return React element.
|
|
25
|
+
*/
|
|
26
|
+
declare const TabProvider: React.FC<TabProviderProps>;
|
|
27
|
+
|
|
28
|
+
declare enum TabListLayout {
|
|
29
|
+
clustered = "clustered",
|
|
30
|
+
fixed = "fixed"
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Defines the props of the component.
|
|
34
|
+
*/
|
|
35
|
+
interface TabListProps extends GenericProps, HasTheme {
|
|
36
|
+
/** ARIA label (purpose of the set of tabs). */
|
|
37
|
+
['aria-label']: string;
|
|
38
|
+
/** Tab list. */
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
/** Layout of the tabs in the list. */
|
|
41
|
+
layout?: TabListLayout;
|
|
42
|
+
/** Position of the tabs in the list (requires 'clustered' layout). */
|
|
43
|
+
position?: Alignment;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* TabList component.
|
|
47
|
+
*
|
|
48
|
+
* Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
49
|
+
*
|
|
50
|
+
* @param props Component props.
|
|
51
|
+
* @param ref Component ref.
|
|
52
|
+
* @return React element.
|
|
53
|
+
*/
|
|
54
|
+
declare const TabList: Comp<TabListProps, HTMLDivElement>;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Defines the props of the component.
|
|
58
|
+
*/
|
|
59
|
+
interface TabProps extends GenericProps {
|
|
60
|
+
/** Children are not supported. */
|
|
61
|
+
children?: never;
|
|
62
|
+
/** Icon (SVG path). */
|
|
63
|
+
icon?: IconProps['icon'];
|
|
64
|
+
/** Icon component properties. */
|
|
65
|
+
iconProps?: Omit<IconProps, 'icon'>;
|
|
66
|
+
/** Native id property. */
|
|
67
|
+
id?: string;
|
|
68
|
+
/** Whether the tab is active or not. */
|
|
69
|
+
isActive?: boolean;
|
|
70
|
+
/** Whether the component is disabled or not. */
|
|
71
|
+
isDisabled?: boolean;
|
|
72
|
+
/** Label content. */
|
|
73
|
+
label: string | ReactNode;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Tab component.
|
|
77
|
+
*
|
|
78
|
+
* Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
79
|
+
*
|
|
80
|
+
* @param props Component props.
|
|
81
|
+
* @param ref Component ref.
|
|
82
|
+
* @return React element.
|
|
83
|
+
*/
|
|
84
|
+
declare const Tab: Comp<TabProps, HTMLButtonElement>;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Defines the props of the component.
|
|
88
|
+
*/
|
|
89
|
+
interface TabPanelProps extends GenericProps {
|
|
90
|
+
/** Native id property */
|
|
91
|
+
id?: string;
|
|
92
|
+
/** Whether the tab is active or not. */
|
|
93
|
+
isActive?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* TabPanel component.
|
|
97
|
+
*
|
|
98
|
+
* Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
99
|
+
*
|
|
100
|
+
* @param props Component props.
|
|
101
|
+
* @param ref Component ref.
|
|
102
|
+
* @return React element.
|
|
103
|
+
*/
|
|
104
|
+
declare const TabPanel: Comp<TabPanelProps, HTMLDivElement>;
|
|
105
|
+
|
|
106
|
+
export { Tab, TabList, TabListLayout, type TabListProps, TabPanel, type TabPanelProps, type TabProps, TabProvider, type TabProviderProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-6afbe8cd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { G as GenericProps, a as ColorPalette, f as ColorVariant, k as Typography, n as TextElement, W as WhiteSpace, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Defines the props of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface TextProps extends GenericProps {
|
|
8
|
+
/**
|
|
9
|
+
* Color variant.
|
|
10
|
+
*/
|
|
11
|
+
color?: ColorPalette;
|
|
12
|
+
/**
|
|
13
|
+
* Lightened or darkened variant of the selected color.
|
|
14
|
+
*/
|
|
15
|
+
colorVariant?: ColorVariant;
|
|
16
|
+
/**
|
|
17
|
+
* Typography variant.
|
|
18
|
+
*/
|
|
19
|
+
typography?: Typography;
|
|
20
|
+
/**
|
|
21
|
+
* Custom component to render the text.
|
|
22
|
+
*/
|
|
23
|
+
as: TextElement;
|
|
24
|
+
/**
|
|
25
|
+
* Control whether the text should truncate or not.
|
|
26
|
+
* Setting as `true` will make the text truncate on a single line.
|
|
27
|
+
* Setting as `{ lines: number }` will make the text truncate on a multiple lines.
|
|
28
|
+
*/
|
|
29
|
+
truncate?: boolean | {
|
|
30
|
+
lines: number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Prevents text to wrap on multiple lines
|
|
34
|
+
* (automatically activated when single line text truncate is activated).
|
|
35
|
+
*/
|
|
36
|
+
noWrap?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* WhiteSpace variant
|
|
39
|
+
* Ignored when `noWrap` is set to true
|
|
40
|
+
* Ignored when `truncate` is set to true or lines: 1
|
|
41
|
+
* */
|
|
42
|
+
whiteSpace?: WhiteSpace;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Text component.
|
|
46
|
+
*
|
|
47
|
+
* @param props Component props.
|
|
48
|
+
* @param ref Component ref.
|
|
49
|
+
* @return React element.
|
|
50
|
+
*/
|
|
51
|
+
declare const Text: Comp<TextProps, HTMLElement>;
|
|
52
|
+
|
|
53
|
+
export { Text, type TextProps };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { G as GenericProps, H as HasTheme, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import React, { ReactNode, Ref, SyntheticEvent } from 'react';
|
|
3
|
+
import { I as IconButtonProps } from '../../dc3e28c8.js';
|
|
4
|
+
import { InputLabelProps } from '../input-label/index.ts-86f2ea41.js';
|
|
5
|
+
import '../../7f022f8c.js';
|
|
6
|
+
import '../tooltip/index.ts-c6931e9e.js';
|
|
7
|
+
import '../../f5ff1aa4.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Defines the props of the component.
|
|
11
|
+
*/
|
|
12
|
+
interface TextFieldProps extends GenericProps, HasTheme {
|
|
13
|
+
/** Chip Group to be rendered before the main text input. */
|
|
14
|
+
chips?: HTMLElement | ReactNode;
|
|
15
|
+
/** Props to pass to the clear button (minus those already set by the TextField props). If not specified, the button won't be displayed. */
|
|
16
|
+
clearButtonProps?: Pick<IconButtonProps, 'label'> & Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;
|
|
17
|
+
/** Error message. */
|
|
18
|
+
error?: string | ReactNode;
|
|
19
|
+
/** Whether we force the focus style or not. */
|
|
20
|
+
forceFocusStyle?: boolean;
|
|
21
|
+
/** Whether the text field is displayed with error style or not. */
|
|
22
|
+
hasError?: boolean;
|
|
23
|
+
/** Additional element to put at the end of the text field. */
|
|
24
|
+
afterElement?: ReactNode;
|
|
25
|
+
/** Helper text. */
|
|
26
|
+
helper?: string | ReactNode;
|
|
27
|
+
/** Icon (SVG path). */
|
|
28
|
+
icon?: string;
|
|
29
|
+
/** Native input id property (generated if not provided to link the label element). */
|
|
30
|
+
id?: string;
|
|
31
|
+
/** Reference to the <input> or <textarea> element. */
|
|
32
|
+
inputRef?: Ref<HTMLInputElement | HTMLTextAreaElement>;
|
|
33
|
+
/** Whether the component is disabled or not. */
|
|
34
|
+
isDisabled?: boolean;
|
|
35
|
+
/** Whether the component is required or not. */
|
|
36
|
+
isRequired?: boolean;
|
|
37
|
+
/** Whether the text field is displayed with valid style or not. */
|
|
38
|
+
isValid?: boolean;
|
|
39
|
+
/** Label text. */
|
|
40
|
+
label?: string;
|
|
41
|
+
/** Additional label props. */
|
|
42
|
+
labelProps?: InputLabelProps;
|
|
43
|
+
/** Max string length the input accepts (constrains the input and displays a character counter). */
|
|
44
|
+
maxLength?: number;
|
|
45
|
+
/** Minimum number of rows displayed in multiline mode (requires `multiline` to be enabled). */
|
|
46
|
+
minimumRows?: number;
|
|
47
|
+
/** Whether the text field is a textarea or an input. */
|
|
48
|
+
multiline?: boolean;
|
|
49
|
+
/** Native input name property. */
|
|
50
|
+
name?: string;
|
|
51
|
+
/** Placeholder text. */
|
|
52
|
+
placeholder?: string;
|
|
53
|
+
/** Reference to the wrapper. */
|
|
54
|
+
textFieldRef?: Ref<HTMLDivElement>;
|
|
55
|
+
/** Native input type (only when `multiline` is disabled). */
|
|
56
|
+
type?: React.ComponentProps<'input'>['type'];
|
|
57
|
+
/** Value. */
|
|
58
|
+
value?: string;
|
|
59
|
+
/** On blur callback. */
|
|
60
|
+
onBlur?(event: React.FocusEvent): void;
|
|
61
|
+
/** On change callback. */
|
|
62
|
+
onChange(value: string, name?: string, event?: SyntheticEvent): void;
|
|
63
|
+
/** On clear callback. */
|
|
64
|
+
onClear?(event?: SyntheticEvent): void;
|
|
65
|
+
/** On focus callback. */
|
|
66
|
+
onFocus?(event: React.FocusEvent): void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* TextField component.
|
|
70
|
+
*
|
|
71
|
+
* @param props Component props.
|
|
72
|
+
* @param ref Component ref.
|
|
73
|
+
* @return React element.
|
|
74
|
+
*/
|
|
75
|
+
declare const TextField: Comp<TextFieldProps, HTMLDivElement>;
|
|
76
|
+
|
|
77
|
+
export { TextField, type TextFieldProps };
|