@carbon/react 1.76.0 → 1.77.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +794 -759
- package/es/components/Button/Button.d.ts +9 -1
- package/es/components/Button/Button.js +8 -0
- package/es/components/CodeSnippet/CodeSnippet.d.ts +2 -2
- package/es/components/ComboBox/ComboBox.d.ts +2 -2
- package/es/components/ComboBox/ComboBox.js +34 -12
- package/es/components/ComboButton/index.js +1 -2
- package/es/components/ComposedModal/ComposedModal.js +1 -1
- package/es/components/ContentSwitcher/index.d.ts +0 -1
- package/es/components/ContextMenu/useContextMenu.d.ts +0 -1
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/DataTable/DataTable.d.ts +12 -20
- package/es/components/DataTable/DataTable.js +1 -9
- package/es/components/DataTable/Table.js +1 -1
- package/es/components/DataTable/TableActionList.d.ts +1 -1
- package/es/components/DataTable/TableBody.js +1 -1
- package/es/components/DataTable/TableContext.d.ts +0 -1
- package/es/components/DataTable/TableHead.d.ts +1 -1
- package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +2 -2
- package/es/components/DatePickerInput/DatePickerInput.js +1 -1
- package/es/components/Dropdown/Dropdown.js +1 -2
- package/es/components/FluidForm/FormContext.d.ts +0 -1
- package/es/components/Grid/CSSGrid.js +1 -1
- package/es/components/Grid/Grid.js +1 -1
- package/es/components/Grid/GridTypes.d.ts +0 -1
- package/es/components/Heading/index.d.ts +1 -1
- package/es/components/IconButton/index.d.ts +17 -1
- package/es/components/IconButton/index.js +20 -1
- package/es/components/InlineCheckbox/InlineCheckbox.js +1 -1
- package/es/components/InlineLoading/InlineLoading.d.ts +1 -1
- package/es/components/InlineLoading/InlineLoading.js +21 -7
- package/es/components/Menu/Menu.js +2 -2
- package/es/components/Menu/MenuContext.d.ts +1 -1
- package/es/components/MenuButton/index.d.ts +1 -1
- package/es/components/MenuButton/index.js +1 -2
- package/es/components/Modal/Modal.js +1 -1
- package/es/components/Modal/next/index.d.ts +175 -0
- package/es/components/MultiSelect/FilterableMultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +1 -2
- package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/MultiSelect.js +1 -2
- package/es/components/Popover/index.js +2 -3
- package/es/components/PrimaryButton/PrimaryButton.d.ts +1 -1
- package/es/components/RadioTile/RadioTile.d.ts +1 -1
- package/es/components/SecondaryButton/SecondaryButton.d.ts +1 -1
- package/es/components/Slider/Slider.d.ts +1 -1
- package/es/components/Slider/Slider.js +1 -1
- package/es/components/Slider/index.d.ts +0 -1
- package/es/components/Tabs/Tabs.d.ts +3 -3
- package/es/components/Tabs/Tabs.js +4 -4
- package/es/components/Tag/DismissibleTag.d.ts +2 -2
- package/es/components/Tag/OperationalTag.d.ts +1 -1
- package/es/components/Tag/SelectableTag.d.ts +2 -2
- package/es/components/Text/index.d.ts +2 -2
- package/es/components/TextInput/PasswordInput.d.ts +1 -1
- package/es/components/Theme/index.d.ts +1 -1
- package/es/components/Tile/Tile.d.ts +1 -1
- package/es/components/Tile/Tile.js +1 -1
- package/es/components/Toggletip/index.d.ts +3 -3
- package/es/components/Toggletip/index.js +5 -4
- package/es/components/Tooltip/Tooltip.d.ts +17 -1
- package/es/components/Tooltip/Tooltip.js +12 -2
- package/es/components/TreeView/TreeNode.d.ts +27 -19
- package/es/components/TreeView/TreeNode.js +100 -31
- package/es/components/TreeView/TreeView.js +1 -1
- package/es/components/UIShell/Content.d.ts +9 -9
- package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/es/components/UIShell/HeaderMenu.d.ts +69 -25
- package/es/components/UIShell/HeaderMenuButton.d.ts +69 -27
- package/es/components/UIShell/HeaderMenuItem.d.ts +4 -3
- package/es/components/UIShell/HeaderMenuItem.js +1 -1
- package/es/components/UIShell/HeaderName.js +1 -1
- package/es/components/UIShell/HeaderNavigation.d.ts +69 -25
- package/es/components/UIShell/Link.d.ts +14 -11
- package/es/components/UIShell/Link.js +5 -6
- package/es/components/UIShell/SideNav.js +3 -3
- package/es/components/UIShell/SideNavLink.js +1 -1
- package/es/components/UIShell/SideNavMenuItem.d.ts +51 -3
- package/es/components/UIShell/SideNavMenuItem.js +6 -6
- package/es/components/UIShell/SwitcherItem.d.ts +2 -2
- package/es/components/UIShell/SwitcherItem.js +1 -1
- package/es/internal/PolymorphicProps.d.ts +0 -1
- package/es/internal/Selection.d.ts +38 -0
- package/es/internal/Selection.js +26 -113
- package/es/node_modules/es-toolkit/dist/compat/function/debounce.mjs.js +55 -0
- package/es/node_modules/es-toolkit/dist/compat/function/throttle.mjs.js +23 -0
- package/es/node_modules/es-toolkit/dist/function/debounce.mjs.js +70 -0
- package/es/tools/wrapComponent.d.ts +1 -1
- package/lib/components/Button/Button.d.ts +9 -1
- package/lib/components/Button/Button.js +8 -0
- package/lib/components/CodeSnippet/CodeSnippet.d.ts +2 -2
- package/lib/components/ComboBox/ComboBox.d.ts +2 -2
- package/lib/components/ComboBox/ComboBox.js +34 -12
- package/lib/components/ComboButton/index.js +1 -2
- package/lib/components/ComposedModal/ComposedModal.js +2 -2
- package/lib/components/ContentSwitcher/index.d.ts +0 -1
- package/lib/components/ContextMenu/useContextMenu.d.ts +0 -1
- package/lib/components/Copy/Copy.js +2 -2
- package/lib/components/DataTable/DataTable.d.ts +12 -20
- package/lib/components/DataTable/DataTable.js +1 -9
- package/lib/components/DataTable/Table.js +3 -3
- package/lib/components/DataTable/TableActionList.d.ts +1 -1
- package/lib/components/DataTable/TableBody.js +1 -1
- package/lib/components/DataTable/TableContext.d.ts +0 -1
- package/lib/components/DataTable/TableHead.d.ts +1 -1
- package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +2 -2
- package/lib/components/DatePickerInput/DatePickerInput.js +1 -1
- package/lib/components/Dropdown/Dropdown.js +1 -2
- package/lib/components/FluidForm/FormContext.d.ts +0 -1
- package/lib/components/Grid/CSSGrid.js +1 -1
- package/lib/components/Grid/Grid.js +1 -1
- package/lib/components/Grid/GridTypes.d.ts +0 -1
- package/lib/components/Heading/index.d.ts +1 -1
- package/lib/components/IconButton/index.d.ts +17 -1
- package/lib/components/IconButton/index.js +20 -1
- package/lib/components/InlineCheckbox/InlineCheckbox.js +1 -1
- package/lib/components/InlineLoading/InlineLoading.d.ts +1 -1
- package/lib/components/InlineLoading/InlineLoading.js +20 -6
- package/lib/components/Menu/Menu.js +2 -2
- package/lib/components/Menu/MenuContext.d.ts +1 -1
- package/lib/components/MenuButton/index.d.ts +1 -1
- package/lib/components/MenuButton/index.js +1 -2
- package/lib/components/Modal/Modal.js +2 -2
- package/lib/components/Modal/next/index.d.ts +175 -0
- package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -2
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +1 -2
- package/lib/components/Popover/index.js +2 -3
- package/lib/components/PrimaryButton/PrimaryButton.d.ts +1 -1
- package/lib/components/RadioTile/RadioTile.d.ts +1 -1
- package/lib/components/SecondaryButton/SecondaryButton.d.ts +1 -1
- package/lib/components/Slider/Slider.d.ts +1 -1
- package/lib/components/Slider/Slider.js +2 -2
- package/lib/components/Slider/index.d.ts +0 -1
- package/lib/components/Tabs/Tabs.d.ts +3 -3
- package/lib/components/Tabs/Tabs.js +6 -6
- package/lib/components/Tag/DismissibleTag.d.ts +2 -2
- package/lib/components/Tag/OperationalTag.d.ts +1 -1
- package/lib/components/Tag/SelectableTag.d.ts +2 -2
- package/lib/components/Text/index.d.ts +2 -2
- package/lib/components/TextInput/PasswordInput.d.ts +1 -1
- package/lib/components/Theme/index.d.ts +1 -1
- package/lib/components/Tile/Tile.d.ts +1 -1
- package/lib/components/Tile/Tile.js +1 -1
- package/lib/components/Toggletip/index.d.ts +3 -3
- package/lib/components/Toggletip/index.js +5 -4
- package/lib/components/Tooltip/Tooltip.d.ts +17 -1
- package/lib/components/Tooltip/Tooltip.js +12 -2
- package/lib/components/TreeView/TreeNode.d.ts +27 -19
- package/lib/components/TreeView/TreeNode.js +100 -31
- package/lib/components/TreeView/TreeView.js +1 -1
- package/lib/components/UIShell/Content.d.ts +9 -9
- package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/lib/components/UIShell/HeaderMenu.d.ts +69 -25
- package/lib/components/UIShell/HeaderMenuButton.d.ts +69 -27
- package/lib/components/UIShell/HeaderMenuItem.d.ts +4 -3
- package/lib/components/UIShell/HeaderMenuItem.js +1 -1
- package/lib/components/UIShell/HeaderName.js +1 -1
- package/lib/components/UIShell/HeaderNavigation.d.ts +69 -25
- package/lib/components/UIShell/Link.d.ts +14 -11
- package/lib/components/UIShell/Link.js +4 -4
- package/lib/components/UIShell/SideNav.js +3 -3
- package/lib/components/UIShell/SideNavLink.js +1 -1
- package/lib/components/UIShell/SideNavMenuItem.d.ts +51 -3
- package/lib/components/UIShell/SideNavMenuItem.js +6 -6
- package/lib/components/UIShell/SwitcherItem.d.ts +2 -2
- package/lib/components/UIShell/SwitcherItem.js +1 -1
- package/lib/internal/PolymorphicProps.d.ts +0 -1
- package/lib/internal/Selection.d.ts +38 -0
- package/lib/internal/Selection.js +24 -114
- package/lib/node_modules/es-toolkit/dist/compat/function/debounce.mjs.js +59 -0
- package/lib/node_modules/es-toolkit/dist/compat/function/throttle.mjs.js +27 -0
- package/lib/node_modules/es-toolkit/dist/function/debounce.mjs.js +74 -0
- package/lib/tools/wrapComponent.d.ts +1 -1
- package/package.json +10 -9
- package/es/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -896
- package/es/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -76
- package/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -139
- package/lib/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -909
- package/lib/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -80
- package/lib/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -163
|
@@ -34,7 +34,7 @@ export type TreeNodeProps = {
|
|
|
34
34
|
*/
|
|
35
35
|
disabled?: boolean;
|
|
36
36
|
/**
|
|
37
|
-
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active
|
|
37
|
+
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
|
|
38
38
|
*/
|
|
39
39
|
id?: string;
|
|
40
40
|
/**
|
|
@@ -48,7 +48,7 @@ export type TreeNodeProps = {
|
|
|
48
48
|
/**
|
|
49
49
|
* Callback function for when the node receives or loses focus
|
|
50
50
|
*/
|
|
51
|
-
onNodeFocusEvent?: (event: React.FocusEvent<
|
|
51
|
+
onNodeFocusEvent?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
52
52
|
/**
|
|
53
53
|
* Callback function for when the node is selected
|
|
54
54
|
*/
|
|
@@ -75,13 +75,17 @@ export type TreeNodeProps = {
|
|
|
75
75
|
* Specify the value of the TreeNode
|
|
76
76
|
*/
|
|
77
77
|
value?: string;
|
|
78
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Optional: The URL the TreeNode is linking to
|
|
80
|
+
*/
|
|
81
|
+
href?: string;
|
|
82
|
+
} & Omit<React.LiHTMLAttributes<HTMLElement>, 'onSelect'>;
|
|
79
83
|
declare const TreeNode: React.ForwardRefExoticComponent<{
|
|
80
84
|
/**
|
|
81
85
|
* **Note:** this is controlled by the parent TreeView component, do not set manually.
|
|
82
86
|
* The ID of the active node in the tree
|
|
83
87
|
*/
|
|
84
|
-
active?: string | number
|
|
88
|
+
active?: string | number;
|
|
85
89
|
/**
|
|
86
90
|
* Specify the children of the TreeNode
|
|
87
91
|
*/
|
|
@@ -89,29 +93,29 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
|
|
|
89
93
|
/**
|
|
90
94
|
* Specify an optional className to be applied to the TreeNode
|
|
91
95
|
*/
|
|
92
|
-
className?: string
|
|
96
|
+
className?: string;
|
|
93
97
|
/**
|
|
94
98
|
* **[Experimental]** The default expansion state of the node.
|
|
95
99
|
* *This is only supported with the `enable-treeview-controllable` feature flag!*
|
|
96
100
|
*/
|
|
97
|
-
defaultIsExpanded?: boolean
|
|
101
|
+
defaultIsExpanded?: boolean;
|
|
98
102
|
/**
|
|
99
103
|
* **Note:** this is controlled by the parent TreeView component, do not set manually.
|
|
100
104
|
* TreeNode depth to determine spacing
|
|
101
105
|
*/
|
|
102
|
-
depth?: number
|
|
106
|
+
depth?: number;
|
|
103
107
|
/**
|
|
104
108
|
* Specify if the TreeNode is disabled
|
|
105
109
|
*/
|
|
106
|
-
disabled?: boolean
|
|
110
|
+
disabled?: boolean;
|
|
107
111
|
/**
|
|
108
|
-
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active
|
|
112
|
+
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
|
|
109
113
|
*/
|
|
110
|
-
id?: string
|
|
114
|
+
id?: string;
|
|
111
115
|
/**
|
|
112
116
|
* Specify if the TreeNode is expanded (only applicable to parent nodes)
|
|
113
117
|
*/
|
|
114
|
-
isExpanded?: boolean
|
|
118
|
+
isExpanded?: boolean;
|
|
115
119
|
/**
|
|
116
120
|
* Rendered label for the TreeNode
|
|
117
121
|
*/
|
|
@@ -119,32 +123,36 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
|
|
|
119
123
|
/**
|
|
120
124
|
* Callback function for when the node receives or loses focus
|
|
121
125
|
*/
|
|
122
|
-
onNodeFocusEvent?: (
|
|
126
|
+
onNodeFocusEvent?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
123
127
|
/**
|
|
124
128
|
* Callback function for when the node is selected
|
|
125
129
|
*/
|
|
126
|
-
onSelect?: (
|
|
130
|
+
onSelect?: (event: React.MouseEvent, node?: TreeNodeProps) => void;
|
|
127
131
|
/**
|
|
128
132
|
* Callback function for when a parent node is expanded or collapsed
|
|
129
133
|
*/
|
|
130
|
-
onToggle?: (
|
|
134
|
+
onToggle?: (event: React.MouseEvent, node?: TreeNodeProps) => void;
|
|
131
135
|
/**
|
|
132
136
|
* Callback function for when any node in the tree is selected
|
|
133
137
|
*/
|
|
134
|
-
onTreeSelect?: (
|
|
138
|
+
onTreeSelect?: (event: React.MouseEvent, node?: TreeNodeProps) => void;
|
|
135
139
|
/**
|
|
136
140
|
* Optional prop to allow each node to have an associated icon.
|
|
137
141
|
* Can be a React component class
|
|
138
142
|
*/
|
|
139
|
-
renderIcon?:
|
|
143
|
+
renderIcon?: ComponentType | FunctionComponent;
|
|
140
144
|
/**
|
|
141
145
|
* **Note:** this is controlled by the parent TreeView component, do not set manually.
|
|
142
146
|
* Array containing all selected node IDs in the tree
|
|
143
147
|
*/
|
|
144
|
-
selected?:
|
|
148
|
+
selected?: Array<string | number>;
|
|
145
149
|
/**
|
|
146
150
|
* Specify the value of the TreeNode
|
|
147
151
|
*/
|
|
148
|
-
value?: string
|
|
149
|
-
|
|
152
|
+
value?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Optional: The URL the TreeNode is linking to
|
|
155
|
+
*/
|
|
156
|
+
href?: string;
|
|
157
|
+
} & Omit<React.LiHTMLAttributes<HTMLElement>, "onSelect"> & React.RefAttributes<HTMLElement>>;
|
|
150
158
|
export default TreeNode;
|
|
@@ -45,6 +45,7 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
45
45
|
renderIcon: Icon,
|
|
46
46
|
selected: propSelected,
|
|
47
47
|
value,
|
|
48
|
+
href,
|
|
48
49
|
...rest
|
|
49
50
|
} = _ref;
|
|
50
51
|
// These are provided by the parent TreeView component
|
|
@@ -79,6 +80,7 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
79
80
|
depth: depth + 1,
|
|
80
81
|
disabled: disabled || node.props.disabled,
|
|
81
82
|
onTreeSelect,
|
|
83
|
+
onNodeFocusEvent,
|
|
82
84
|
selected,
|
|
83
85
|
tabIndex: !node.props.disabled && -1 || null
|
|
84
86
|
});
|
|
@@ -104,6 +106,9 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
104
106
|
|
|
105
107
|
// Prevent the node from being selected
|
|
106
108
|
event.stopPropagation();
|
|
109
|
+
if (href) {
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
}
|
|
107
112
|
if (!enableTreeviewControllable) {
|
|
108
113
|
onToggle?.(event, {
|
|
109
114
|
id,
|
|
@@ -131,6 +136,12 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
131
136
|
}
|
|
132
137
|
}
|
|
133
138
|
function handleKeyDown(event) {
|
|
139
|
+
function getFocusableNode(node) {
|
|
140
|
+
if (node?.classList.contains(`${prefix}--tree-node`)) {
|
|
141
|
+
return node;
|
|
142
|
+
}
|
|
143
|
+
return node?.firstChild;
|
|
144
|
+
}
|
|
134
145
|
if (disabled) {
|
|
135
146
|
return;
|
|
136
147
|
}
|
|
@@ -143,6 +154,9 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
143
154
|
if (node.classList.contains(`${prefix}--tree-parent-node`)) {
|
|
144
155
|
return node;
|
|
145
156
|
}
|
|
157
|
+
if (node.classList.contains(`${prefix}--tree-node-link-parent`)) {
|
|
158
|
+
return node.firstChild;
|
|
159
|
+
}
|
|
146
160
|
if (node.classList.contains(`${prefix}--tree`)) {
|
|
147
161
|
return null;
|
|
148
162
|
}
|
|
@@ -163,7 +177,7 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
163
177
|
* When focus is on a leaf node or a closed parent node, move focus to
|
|
164
178
|
* its parent node (unless its depth is level 1)
|
|
165
179
|
*/
|
|
166
|
-
const parentNode = findParentTreeNode(currentNode.current?.parentElement
|
|
180
|
+
const parentNode = findParentTreeNode(href ? currentNode.current?.parentElement?.parentElement : currentNode.current?.parentElement);
|
|
167
181
|
if (parentNode instanceof HTMLElement) {
|
|
168
182
|
parentNode.focus();
|
|
169
183
|
}
|
|
@@ -175,7 +189,7 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
175
189
|
* When focus is on an expanded parent node, move focus to the first
|
|
176
190
|
* child node
|
|
177
191
|
*/
|
|
178
|
-
(currentNode.current?.lastChild?.firstChild).focus();
|
|
192
|
+
getFocusableNode(href ? currentNode.current?.parentElement?.lastChild?.firstChild : currentNode.current?.lastChild?.firstChild).focus();
|
|
179
193
|
} else {
|
|
180
194
|
if (!enableTreeviewControllable) {
|
|
181
195
|
onToggle?.(event, {
|
|
@@ -190,6 +204,9 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
190
204
|
}
|
|
191
205
|
if (match.matches(event, [keys.Enter, keys.Space])) {
|
|
192
206
|
event.preventDefault();
|
|
207
|
+
if (href) {
|
|
208
|
+
currentNode.current?.click();
|
|
209
|
+
}
|
|
193
210
|
handleClick(event);
|
|
194
211
|
}
|
|
195
212
|
rest?.onKeyDown?.(event);
|
|
@@ -242,9 +259,10 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
242
259
|
}, [children, depth, Icon, isExpanded, enableTreeviewControllable, setExpanded]);
|
|
243
260
|
const treeNodeProps = {
|
|
244
261
|
...rest,
|
|
245
|
-
['aria-current']: isActive || undefined,
|
|
246
|
-
['aria-selected']: disabled ? undefined : isSelected,
|
|
262
|
+
['aria-current']: !href ? isActive || undefined : isActive ? 'page' : undefined,
|
|
263
|
+
['aria-selected']: !href ? disabled ? undefined : isSelected : undefined,
|
|
247
264
|
['aria-disabled']: disabled,
|
|
265
|
+
['aria-owns']: children ? `${id}-subtree` : undefined,
|
|
248
266
|
className: treeNodeClasses,
|
|
249
267
|
id,
|
|
250
268
|
onBlur: handleFocusEvent,
|
|
@@ -254,39 +272,86 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
254
272
|
role: 'treeitem'
|
|
255
273
|
};
|
|
256
274
|
if (!children) {
|
|
275
|
+
if (href) {
|
|
276
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
277
|
+
role: "none"
|
|
278
|
+
}, /*#__PURE__*/React__default["default"].createElement("a", _rollupPluginBabelHelpers["extends"]({}, treeNodeProps, {
|
|
279
|
+
ref: setRefs,
|
|
280
|
+
href: !disabled ? href : undefined
|
|
281
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
282
|
+
className: `${prefix}--tree-node__label`,
|
|
283
|
+
ref: currentNodeLabel
|
|
284
|
+
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
285
|
+
className: `${prefix}--tree-node__icon`
|
|
286
|
+
}), label)));
|
|
287
|
+
} else {
|
|
288
|
+
return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({}, treeNodeProps, {
|
|
289
|
+
ref: setRefs
|
|
290
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
291
|
+
className: `${prefix}--tree-node__label`,
|
|
292
|
+
ref: currentNodeLabel
|
|
293
|
+
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
294
|
+
className: `${prefix}--tree-node__icon`
|
|
295
|
+
}), label));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (href) {
|
|
299
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
300
|
+
role: "none",
|
|
301
|
+
className: `${prefix}--tree-node-link-parent`
|
|
302
|
+
}, /*#__PURE__*/React__default["default"].createElement("a", _rollupPluginBabelHelpers["extends"]({}, treeNodeProps, {
|
|
303
|
+
"aria-expanded": !!expanded,
|
|
304
|
+
ref: setRefs,
|
|
305
|
+
href: !disabled ? href : undefined
|
|
306
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
307
|
+
className: `${prefix}--tree-node__label`,
|
|
308
|
+
ref: currentNodeLabel
|
|
309
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
310
|
+
className: `${prefix}--tree-parent-node__toggle`
|
|
311
|
+
// @ts-ignore
|
|
312
|
+
,
|
|
313
|
+
disabled: disabled,
|
|
314
|
+
onClick: handleToggleClick
|
|
315
|
+
}, /*#__PURE__*/React__default["default"].createElement(iconsReact.CaretDown, {
|
|
316
|
+
className: toggleClasses
|
|
317
|
+
})), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
318
|
+
className: `${prefix}--tree-node__label__details`
|
|
319
|
+
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
320
|
+
className: `${prefix}--tree-node__icon`
|
|
321
|
+
}), label))), /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
322
|
+
id: `${id}-subtree`,
|
|
323
|
+
role: "group",
|
|
324
|
+
className: cx__default["default"](`${prefix}--tree-node__children`, {
|
|
325
|
+
[`${prefix}--tree-node--hidden`]: !expanded
|
|
326
|
+
})
|
|
327
|
+
}, nodesWithProps));
|
|
328
|
+
} else {
|
|
257
329
|
return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({}, treeNodeProps, {
|
|
330
|
+
"aria-expanded": !!expanded,
|
|
258
331
|
ref: setRefs
|
|
259
332
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
260
333
|
className: `${prefix}--tree-node__label`,
|
|
261
334
|
ref: currentNodeLabel
|
|
335
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
336
|
+
className: `${prefix}--tree-parent-node__toggle`
|
|
337
|
+
// @ts-ignore
|
|
338
|
+
,
|
|
339
|
+
disabled: disabled,
|
|
340
|
+
onClick: handleToggleClick
|
|
341
|
+
}, /*#__PURE__*/React__default["default"].createElement(iconsReact.CaretDown, {
|
|
342
|
+
className: toggleClasses
|
|
343
|
+
})), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
344
|
+
className: `${prefix}--tree-node__label__details`
|
|
262
345
|
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
263
346
|
className: `${prefix}--tree-node__icon`
|
|
264
|
-
}), label))
|
|
347
|
+
}), label)), /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
348
|
+
id: `${id}-subtree`,
|
|
349
|
+
role: "group",
|
|
350
|
+
className: cx__default["default"](`${prefix}--tree-node__children`, {
|
|
351
|
+
[`${prefix}--tree-node--hidden`]: !expanded
|
|
352
|
+
})
|
|
353
|
+
}, nodesWithProps));
|
|
265
354
|
}
|
|
266
|
-
return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({}, treeNodeProps, {
|
|
267
|
-
"aria-expanded": !!expanded,
|
|
268
|
-
ref: setRefs
|
|
269
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
270
|
-
className: `${prefix}--tree-node__label`,
|
|
271
|
-
ref: currentNodeLabel
|
|
272
|
-
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
273
|
-
className: `${prefix}--tree-parent-node__toggle`
|
|
274
|
-
// @ts-ignore
|
|
275
|
-
,
|
|
276
|
-
disabled: disabled,
|
|
277
|
-
onClick: handleToggleClick
|
|
278
|
-
}, /*#__PURE__*/React__default["default"].createElement(iconsReact.CaretDown, {
|
|
279
|
-
className: toggleClasses
|
|
280
|
-
})), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
281
|
-
className: `${prefix}--tree-node__label__details`
|
|
282
|
-
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
283
|
-
className: `${prefix}--tree-node__icon`
|
|
284
|
-
}), label)), /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
285
|
-
role: "group",
|
|
286
|
-
className: cx__default["default"](`${prefix}--tree-node__children`, {
|
|
287
|
-
[`${prefix}--tree-node--hidden`]: !expanded
|
|
288
|
-
})
|
|
289
|
-
}, nodesWithProps));
|
|
290
355
|
});
|
|
291
356
|
TreeNode.propTypes = {
|
|
292
357
|
/**
|
|
@@ -317,7 +382,7 @@ TreeNode.propTypes = {
|
|
|
317
382
|
*/
|
|
318
383
|
disabled: PropTypes__default["default"].bool,
|
|
319
384
|
/**
|
|
320
|
-
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active
|
|
385
|
+
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
|
|
321
386
|
*/
|
|
322
387
|
id: PropTypes__default["default"].string,
|
|
323
388
|
/**
|
|
@@ -359,7 +424,11 @@ TreeNode.propTypes = {
|
|
|
359
424
|
/**
|
|
360
425
|
* Specify the value of the TreeNode
|
|
361
426
|
*/
|
|
362
|
-
value: PropTypes__default["default"].string
|
|
427
|
+
value: PropTypes__default["default"].string,
|
|
428
|
+
/**
|
|
429
|
+
* Optional: The URL the TreeNode is linking to
|
|
430
|
+
*/
|
|
431
|
+
href: PropTypes__default["default"].string
|
|
363
432
|
};
|
|
364
433
|
TreeNode.displayName = 'TreeNode';
|
|
365
434
|
|
|
@@ -202,7 +202,7 @@ const TreeView = _ref => {
|
|
|
202
202
|
if (node.classList.contains(`${prefix}--tree-node--disabled`) || node.classList.contains(`${prefix}--tree-node--hidden`)) {
|
|
203
203
|
return NodeFilter.FILTER_REJECT;
|
|
204
204
|
}
|
|
205
|
-
if (node.matches(
|
|
205
|
+
if (node.matches(`.${prefix}--tree-node`)) {
|
|
206
206
|
return NodeFilter.FILTER_ACCEPT;
|
|
207
207
|
}
|
|
208
208
|
return NodeFilter.FILTER_SKIP;
|
|
@@ -68,33 +68,33 @@ declare const Content: {
|
|
|
68
68
|
results?: number | undefined;
|
|
69
69
|
security?: string | undefined;
|
|
70
70
|
unselectable?: "on" | "off" | undefined;
|
|
71
|
-
inputMode?: "
|
|
71
|
+
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
|
|
72
72
|
is?: string | undefined;
|
|
73
73
|
"aria-activedescendant"?: string | undefined;
|
|
74
74
|
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
75
|
-
"aria-autocomplete"?: "
|
|
75
|
+
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
|
|
76
76
|
"aria-braillelabel"?: string | undefined;
|
|
77
77
|
"aria-brailleroledescription"?: string | undefined;
|
|
78
78
|
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
79
|
-
"aria-checked"?: boolean | "
|
|
79
|
+
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
|
|
80
80
|
"aria-colcount"?: number | undefined;
|
|
81
81
|
"aria-colindex"?: number | undefined;
|
|
82
82
|
"aria-colindextext"?: string | undefined;
|
|
83
83
|
"aria-colspan"?: number | undefined;
|
|
84
84
|
"aria-controls"?: string | undefined;
|
|
85
|
-
"aria-current"?: boolean | "
|
|
85
|
+
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
|
|
86
86
|
"aria-describedby"?: string | undefined;
|
|
87
87
|
"aria-description"?: string | undefined;
|
|
88
88
|
"aria-details"?: string | undefined;
|
|
89
89
|
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
90
|
-
"aria-dropeffect"?: "
|
|
90
|
+
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
|
|
91
91
|
"aria-errormessage"?: string | undefined;
|
|
92
92
|
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
93
93
|
"aria-flowto"?: string | undefined;
|
|
94
94
|
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
95
|
-
"aria-haspopup"?: boolean | "
|
|
95
|
+
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
|
|
96
96
|
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
97
|
-
"aria-invalid"?: boolean | "
|
|
97
|
+
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
|
|
98
98
|
"aria-keyshortcuts"?: string | undefined;
|
|
99
99
|
"aria-label"?: string | undefined;
|
|
100
100
|
"aria-labelledby"?: string | undefined;
|
|
@@ -107,9 +107,9 @@ declare const Content: {
|
|
|
107
107
|
"aria-owns"?: string | undefined;
|
|
108
108
|
"aria-placeholder"?: string | undefined;
|
|
109
109
|
"aria-posinset"?: number | undefined;
|
|
110
|
-
"aria-pressed"?: boolean | "
|
|
110
|
+
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
|
|
111
111
|
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
112
|
-
"aria-relevant"?: "
|
|
112
|
+
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
|
|
113
113
|
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
114
114
|
"aria-roledescription"?: string | undefined;
|
|
115
115
|
"aria-rowcount"?: number | undefined;
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Generic container for `HeaderGlobalAction` components
|
|
9
9
|
*/
|
|
10
|
-
declare const HeaderGlobalBar: (props: import("../../types/common").ReactAttr<"div">) =>
|
|
10
|
+
declare const HeaderGlobalBar: (props: import("../../types/common").ReactAttr<"div">) => React.ReactElement;
|
|
11
11
|
export default HeaderGlobalBar;
|
|
@@ -121,54 +121,98 @@ declare class HeaderMenu extends React.Component<HeaderMenuProps, HeaderMenuStat
|
|
|
121
121
|
length: 1;
|
|
122
122
|
toString(): string;
|
|
123
123
|
toLocaleString(): string;
|
|
124
|
+
toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
|
|
124
125
|
pop(): string | undefined;
|
|
125
126
|
push(...items: string[]): number;
|
|
126
127
|
concat(...items: ConcatArray<string>[]): string[];
|
|
127
128
|
concat(...items: (string | ConcatArray<string>)[]): string[];
|
|
128
|
-
join(separator?: string
|
|
129
|
+
join(separator?: string): string;
|
|
129
130
|
reverse(): string[];
|
|
130
131
|
shift(): string | undefined;
|
|
131
|
-
slice(start?: number
|
|
132
|
+
slice(start?: number, end?: number): string[];
|
|
132
133
|
sort(compareFn?: ((a: string, b: string) => number) | undefined): [key: string];
|
|
133
|
-
splice(start: number, deleteCount?: number
|
|
134
|
+
splice(start: number, deleteCount?: number): string[];
|
|
134
135
|
splice(start: number, deleteCount: number, ...items: string[]): string[];
|
|
135
136
|
unshift(...items: string[]): number;
|
|
136
|
-
indexOf(searchElement: string, fromIndex?: number
|
|
137
|
-
lastIndexOf(searchElement: string, fromIndex?: number
|
|
137
|
+
indexOf(searchElement: string, fromIndex?: number): number;
|
|
138
|
+
lastIndexOf(searchElement: string, fromIndex?: number): number;
|
|
138
139
|
every<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[];
|
|
139
140
|
every(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
|
|
140
141
|
some(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
|
|
141
142
|
forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void;
|
|
142
143
|
map<U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any): U[];
|
|
143
|
-
filter<
|
|
144
|
+
filter<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[];
|
|
144
145
|
filter(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[];
|
|
145
146
|
reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
|
|
146
147
|
reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
|
|
147
|
-
reduce<
|
|
148
|
+
reduce<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
|
|
148
149
|
reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
|
|
149
150
|
reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
|
|
150
|
-
reduceRight<
|
|
151
|
-
find<
|
|
151
|
+
reduceRight<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
|
|
152
|
+
find<S extends string>(predicate: (value: string, index: number, obj: string[]) => value is S, thisArg?: any): S | undefined;
|
|
152
153
|
find(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): string | undefined;
|
|
153
154
|
findIndex(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): number;
|
|
154
|
-
fill(value: string, start?: number
|
|
155
|
-
copyWithin(target: number, start: number, end?: number
|
|
156
|
-
entries():
|
|
157
|
-
keys():
|
|
158
|
-
values():
|
|
159
|
-
includes(searchElement: string, fromIndex?: number
|
|
160
|
-
flatMap<
|
|
155
|
+
fill(value: string, start?: number, end?: number): [key: string];
|
|
156
|
+
copyWithin(target: number, start: number, end?: number): [key: string];
|
|
157
|
+
entries(): ArrayIterator<[number, string]>;
|
|
158
|
+
keys(): ArrayIterator<number>;
|
|
159
|
+
values(): ArrayIterator<string>;
|
|
160
|
+
includes(searchElement: string, fromIndex?: number): boolean;
|
|
161
|
+
flatMap<U, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[];
|
|
161
162
|
flat<A, D extends number = 1>(this: A, depth?: D | undefined): FlatArray<A, D>[];
|
|
162
163
|
at(index: number): string | undefined;
|
|
163
|
-
[
|
|
164
|
-
[
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
164
|
+
findLast<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined;
|
|
165
|
+
findLast(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined;
|
|
166
|
+
findLastIndex(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): number;
|
|
167
|
+
toReversed(): string[];
|
|
168
|
+
toSorted(compareFn?: ((a: string, b: string) => number) | undefined): string[];
|
|
169
|
+
toSpliced(start: number, deleteCount: number, ...items: string[]): string[];
|
|
170
|
+
toSpliced(start: number, deleteCount?: number): string[];
|
|
171
|
+
with(index: number, value: string): string[];
|
|
172
|
+
[Symbol.iterator](): ArrayIterator<string>;
|
|
173
|
+
[Symbol.unscopables]: {
|
|
174
|
+
[x: number]: boolean | undefined;
|
|
175
|
+
length?: boolean | undefined;
|
|
176
|
+
toString?: boolean | undefined;
|
|
177
|
+
toLocaleString?: boolean | undefined;
|
|
178
|
+
pop?: boolean | undefined;
|
|
179
|
+
push?: boolean | undefined;
|
|
180
|
+
concat?: boolean | undefined;
|
|
181
|
+
join?: boolean | undefined;
|
|
182
|
+
reverse?: boolean | undefined;
|
|
183
|
+
shift?: boolean | undefined;
|
|
184
|
+
slice?: boolean | undefined;
|
|
185
|
+
sort?: boolean | undefined;
|
|
186
|
+
splice?: boolean | undefined;
|
|
187
|
+
unshift?: boolean | undefined;
|
|
188
|
+
indexOf?: boolean | undefined;
|
|
189
|
+
lastIndexOf?: boolean | undefined;
|
|
190
|
+
every?: boolean | undefined;
|
|
191
|
+
some?: boolean | undefined;
|
|
192
|
+
forEach?: boolean | undefined;
|
|
193
|
+
map?: boolean | undefined;
|
|
194
|
+
filter?: boolean | undefined;
|
|
195
|
+
reduce?: boolean | undefined;
|
|
196
|
+
reduceRight?: boolean | undefined;
|
|
197
|
+
find?: boolean | undefined;
|
|
198
|
+
findIndex?: boolean | undefined;
|
|
199
|
+
fill?: boolean | undefined;
|
|
200
|
+
copyWithin?: boolean | undefined;
|
|
201
|
+
entries?: boolean | undefined;
|
|
202
|
+
keys?: boolean | undefined;
|
|
203
|
+
values?: boolean | undefined;
|
|
204
|
+
includes?: boolean | undefined;
|
|
205
|
+
flatMap?: boolean | undefined;
|
|
206
|
+
flat?: boolean | undefined;
|
|
207
|
+
at?: boolean | undefined;
|
|
208
|
+
findLast?: boolean | undefined;
|
|
209
|
+
findLastIndex?: boolean | undefined;
|
|
210
|
+
toReversed?: boolean | undefined;
|
|
211
|
+
toSorted?: boolean | undefined;
|
|
212
|
+
toSpliced?: boolean | undefined;
|
|
213
|
+
with?: boolean | undefined;
|
|
214
|
+
[Symbol.iterator]?: boolean | undefined;
|
|
215
|
+
readonly [Symbol.unscopables]?: boolean | undefined;
|
|
172
216
|
};
|
|
173
217
|
};
|
|
174
218
|
static contextType: React.Context<string>;
|