@oracle/oraclejet-preact 20.0.2 → 20.0.3
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/amd/BaseCardView-b8119561.js +2 -0
- package/amd/{BaseCardView-16fda4c3.js.map → BaseCardView-b8119561.js.map} +1 -1
- package/amd/CardFlexView-aa2f3de8.js +2 -0
- package/amd/{CardFlexView-d3eb7373.js.map → CardFlexView-aa2f3de8.js.map} +1 -1
- package/amd/CardGridView-85f90c75.js +2 -0
- package/amd/{CardGridView-842f70cd.js.map → CardGridView-85f90c75.js.map} +1 -1
- package/amd/CheckboxSet-f000e5c2.js +2 -0
- package/amd/CheckboxSet-f000e5c2.js.map +1 -0
- package/amd/ExpandableList-233c279e.js +2 -0
- package/amd/{ExpandableList-a9a86ad8.js.map → ExpandableList-233c279e.js.map} +1 -1
- package/amd/{InlineSelectSingle-7c1cc5b5.js → InlineSelectSingle-87bc8a45.js} +2 -2
- package/amd/{InlineSelectSingle-7c1cc5b5.js.map → InlineSelectSingle-87bc8a45.js.map} +1 -1
- package/amd/ListView-2678b2af.js +2 -0
- package/amd/{ListView-6d21e8f9.js.map → ListView-2678b2af.js.map} +1 -1
- package/amd/NavigationList-a6bb123d.js +2 -0
- package/amd/NavigationList-a6bb123d.js.map +1 -0
- package/amd/NavigationListItem-10bf6656.js +2 -0
- package/amd/NavigationListItem-10bf6656.js.map +1 -0
- package/amd/NavigationListLinkItem-df1826e6.js +2 -0
- package/amd/NavigationListLinkItem-df1826e6.js.map +1 -0
- package/amd/{OverflowTabBar-5ff68da7.js → OverflowTabBar-f8bf9356.js} +2 -2
- package/amd/{OverflowTabBar-5ff68da7.js.map → OverflowTabBar-f8bf9356.js.map} +1 -1
- package/amd/OverflowTabBarItem-0aa39512.js +2 -0
- package/amd/{OverflowTabBarItem-926b0c8a.js.map → OverflowTabBarItem-0aa39512.js.map} +1 -1
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_SelectCommon.js +1 -1
- package/amd/PRIVATE_TableList.js +1 -1
- package/amd/RemovableNavigationListItem-60593d4c.js +2 -0
- package/amd/{RemovableNavigationListItem-e298c5de.js.map → RemovableNavigationListItem-60593d4c.js.map} +1 -1
- package/amd/ReorderableTabBar-19a503c7.js +2 -0
- package/amd/{ReorderableTabBar-0c69bfd4.js.map → ReorderableTabBar-19a503c7.js.map} +1 -1
- package/amd/{SelectMobileFieldInput-d499ef86.js → SelectMobileFieldInput-4795a794.js} +2 -2
- package/amd/{SelectMobileFieldInput-d499ef86.js.map → SelectMobileFieldInput-4795a794.js.map} +1 -1
- package/amd/{SelectMultiple-cc9bffc6.js → SelectMultiple-e216b16c.js} +2 -2
- package/amd/{SelectMultiple-cc9bffc6.js.map → SelectMultiple-e216b16c.js.map} +1 -1
- package/amd/{SelectSingle-2bb35b67.js → SelectSingle-d53cf202.js} +2 -2
- package/amd/{SelectSingle-2bb35b67.js.map → SelectSingle-d53cf202.js.map} +1 -1
- package/amd/TabBar-92bac52f.js +2 -0
- package/amd/{TabBar-de723fbc.js.map → TabBar-92bac52f.js.map} +1 -1
- package/amd/TabBarMixed-5b5a5047.js +2 -0
- package/amd/{TabBarMixed-cfd346bf.js.map → TabBarMixed-5b5a5047.js.map} +1 -1
- package/amd/TextArea-345f89d4.js +2 -0
- package/amd/TextArea-345f89d4.js.map +1 -0
- package/amd/TextAreaAutosize-01dfd98e.js +2 -0
- package/amd/{TextAreaAutosize-3a13ebb2.js.map → TextAreaAutosize-01dfd98e.js.map} +1 -1
- package/amd/Theme-redwood/theme.css +122 -122
- package/amd/Theme-stable/theme.css +174 -174
- package/amd/UNSAFE_CardFlexView.js +1 -1
- package/amd/UNSAFE_CardGridView.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js.map +1 -1
- package/amd/UNSAFE_CheckboxSet.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js.map +1 -1
- package/amd/UNSAFE_ExpandableList.js +1 -1
- package/amd/UNSAFE_InlineSelectSingle.js +1 -1
- package/amd/UNSAFE_ListView.js +1 -1
- package/amd/UNSAFE_NavigationList.js +1 -1
- package/amd/UNSAFE_NavigationListCommon.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.js +1 -1
- package/amd/UNSAFE_ReorderableTabBar.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/amd/UNSAFE_RichSelectionItem.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
- package/amd/UNSAFE_SelectMultiple.js +1 -1
- package/amd/UNSAFE_SelectSingle.js +1 -1
- package/amd/UNSAFE_TabBar.js +1 -1
- package/amd/UNSAFE_TabBarCommon.js +1 -1
- package/amd/UNSAFE_TabBarMixed.js +1 -1
- package/amd/UNSAFE_TextArea.js +1 -1
- package/amd/UNSAFE_TextAreaAutosize.js +1 -1
- package/amd/UNSAFE_VirtualizedListView.js +1 -1
- package/amd/VirtualizedListView-a0f338c2.js +2 -0
- package/amd/{VirtualizedListView-1ae7151d.js.map → VirtualizedListView-a0f338c2.js.map} +1 -1
- package/amd/{useDisplayValue-0e90bf4c.js → useDisplayValue-9b671893.js} +2 -2
- package/amd/{useDisplayValue-0e90bf4c.js.map → useDisplayValue-9b671893.js.map} +1 -1
- package/amd/useNavigationListItem-582f5564.js +2 -0
- package/amd/useNavigationListItem-582f5564.js.map +1 -0
- package/amd/useSelectCommon-f33709d2.js +2 -0
- package/amd/{useSelectCommon-a02ddf3c.js.map → useSelectCommon-f33709d2.js.map} +1 -1
- package/cjs/{BaseCardView-c0909427.js → BaseCardView-ba63723a.js} +4 -1
- package/cjs/{BaseCardView-c0909427.js.map → BaseCardView-ba63723a.js.map} +1 -1
- package/cjs/{NavigationListItem-3b9eb0fb.js → NavigationList-d0d74565.js} +21 -8
- package/cjs/NavigationList-d0d74565.js.map +1 -0
- package/cjs/NavigationListItem-b0b03089.js +12 -0
- package/cjs/NavigationListItem-b0b03089.js.map +1 -0
- package/cjs/{NavigationListLinkItem-62c3912e.js → NavigationListLinkItem-317a5200.js} +8 -99
- package/cjs/NavigationListLinkItem-317a5200.js.map +1 -0
- package/cjs/{OverflowTabBarItem-abcd2327.js → OverflowTabBarItem-19ad4971.js} +6 -4
- package/cjs/{OverflowTabBarItem-abcd2327.js.map → OverflowTabBarItem-19ad4971.js.map} +1 -1
- package/cjs/PRIVATE_BaseCardView.js +1 -1
- package/cjs/PRIVATE_TableList.js +4 -4
- package/cjs/SegmentStyles.styles.css +9 -12
- package/cjs/SegmentStyles.styles2.css +12 -9
- package/cjs/{TabBar-27ae2c21.js → TabBar-d84e222e.js} +9 -1
- package/cjs/{TabBar-27ae2c21.js.map → TabBar-d84e222e.js.map} +1 -1
- package/cjs/{TabBarLinkItem-b0c4b100.js → TabBarLinkItem-e924f83b.js} +2 -2
- package/cjs/{TabBarLinkItem-b0c4b100.js.map → TabBarLinkItem-e924f83b.js.map} +1 -1
- package/cjs/Theme-redwood/theme.css +131 -131
- package/cjs/Theme-stable/theme.css +233 -233
- package/cjs/UNSAFE_CardFlexView.js +1 -1
- package/cjs/UNSAFE_CardGridView.js +1 -1
- package/cjs/UNSAFE_ListView.js +53 -53
- package/cjs/UNSAFE_NavigationList.js +17 -15
- package/cjs/UNSAFE_NavigationList.js.map +1 -1
- package/cjs/UNSAFE_NavigationListCommon.js +14 -13
- package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
- package/cjs/UNSAFE_OverflowTabBar.js +56 -53
- package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
- package/cjs/UNSAFE_ReorderableTabBar.js +43 -30
- package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
- package/cjs/UNSAFE_TabBar.js +57 -54
- package/cjs/UNSAFE_TabBar.js.map +1 -1
- package/cjs/UNSAFE_TabBarCommon.js +78 -75
- package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
- package/cjs/UNSAFE_TabBarMixed.js +38 -35
- package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
- package/cjs/useNavigationListItem-b97e76d5.js +104 -0
- package/cjs/useNavigationListItem-b97e76d5.js.map +1 -0
- package/es/{Chart-b866a74c.js → Chart-8c63da28.js} +2 -2
- package/es/{Chart-b866a74c.js.map → Chart-8c63da28.js.map} +1 -1
- package/es/PRIVATE_Chart.js +4 -4
- package/es/TextArea-93ce78a7.js +225 -0
- package/es/TextArea-93ce78a7.js.map +1 -0
- package/es/Theme-redwood/theme.css +427 -427
- package/es/Theme-stable/theme.css +583 -583
- package/es/UNSAFE_BarChart.js +4 -4
- package/es/UNSAFE_ComboChart.js +4 -4
- package/es/UNSAFE_LineAreaChart.js +4 -4
- package/es/UNSAFE_ScatterChart.js +4 -4
- package/es/UNSAFE_TextArea.js +106 -226
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +1 -1
- package/package.json +2 -2
- package/amd/BaseCardView-16fda4c3.js +0 -2
- package/amd/CardFlexView-d3eb7373.js +0 -2
- package/amd/CardGridView-842f70cd.js +0 -2
- package/amd/CheckboxSetContext-2e486ea8.js +0 -2
- package/amd/CheckboxSetContext-2e486ea8.js.map +0 -1
- package/amd/ExpandableList-a9a86ad8.js +0 -2
- package/amd/ListView-6d21e8f9.js +0 -2
- package/amd/NavigationListItem-9df5446c.js +0 -2
- package/amd/NavigationListItem-9df5446c.js.map +0 -1
- package/amd/NavigationListLinkItem-161049bb.js +0 -2
- package/amd/NavigationListLinkItem-161049bb.js.map +0 -1
- package/amd/OverflowTabBarItem-926b0c8a.js +0 -2
- package/amd/RemovableNavigationListItem-e298c5de.js +0 -2
- package/amd/ReorderableTabBar-0c69bfd4.js +0 -2
- package/amd/TabBar-de723fbc.js +0 -2
- package/amd/TabBarMixed-cfd346bf.js +0 -2
- package/amd/TextArea-4a3b8b56.js +0 -2
- package/amd/TextArea-4a3b8b56.js.map +0 -1
- package/amd/TextAreaAutosize-3a13ebb2.js +0 -2
- package/amd/VirtualizedListView-1ae7151d.js +0 -2
- package/amd/useSelectCommon-a02ddf3c.js +0 -2
- package/amd/useTextAreaAltEnter-32272da6.js +0 -2
- package/amd/useTextAreaAltEnter-32272da6.js.map +0 -1
- package/cjs/NavigationListItem-3b9eb0fb.js.map +0 -1
- package/cjs/NavigationListLinkItem-62c3912e.js.map +0 -1
- package/es/useTextAreaAltEnter-ac460f4c.js +0 -61
- package/es/useTextAreaAltEnter-ac460f4c.js.map +0 -1
|
@@ -2,114 +2,24 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
|
+
var useNavigationListItem = require('./useNavigationListItem-b97e76d5.js');
|
|
5
6
|
var Close = require('./Close-d99c20a7.js');
|
|
6
7
|
var EmbeddedIconButton = require('./EmbeddedIconButton-cc159a01.js');
|
|
7
8
|
var hooks = require('preact/hooks');
|
|
8
9
|
var useHover = require('./useHover-49b0430d.js');
|
|
9
10
|
var useTranslationBundle = require('./useTranslationBundle-12dd087d.js');
|
|
10
11
|
var Text = require('./Text-056f1ec5.js');
|
|
11
|
-
var usePress = require('./usePress-886180e4.js');
|
|
12
|
-
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
13
|
-
var classNames = require('./classNames-c14c6ef3.js');
|
|
14
|
-
var useInteractionStyle = require('./useInteractionStyle-c203a8a0.js');
|
|
15
|
-
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
16
|
-
var preact = require('preact');
|
|
17
|
-
var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
|
|
18
|
-
var flexitem = require('./flexitem-fee13e26.js');
|
|
19
|
-
var UNSAFE_NavigationListCommon_themes_redwood_NavigationListItemTheme = require('./UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme.js');
|
|
20
|
-
var useUser = require('./useUser-1295b5cb.js');
|
|
21
12
|
var Flex = require('./Flex-3a257bc3.js');
|
|
22
13
|
var Badge = require('./Badge-0e522f12.js');
|
|
14
|
+
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
15
|
+
var classNames = require('./classNames-c14c6ef3.js');
|
|
23
16
|
var WarningS = require('./WarningS-cdb0a7ad.js');
|
|
24
17
|
var ErrorS = require('./ErrorS-b027f7ad.js');
|
|
25
18
|
var InformationS = require('./InformationS-b0bb102b.js');
|
|
26
19
|
var SuccessS = require('./SuccessS-b6757c64.js');
|
|
20
|
+
var UNSAFE_NavigationListCommon_themes_redwood_NavigationListItemTheme = require('./UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme.js');
|
|
27
21
|
var useTooltipControlled = require('./useTooltipControlled-0a95856c.js');
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* @license
|
|
31
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
32
|
-
* Licensed under The Universal Permissive License (UPL), Version 1.0
|
|
33
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
34
|
-
* @ignore
|
|
35
|
-
*/
|
|
36
|
-
/**
|
|
37
|
-
* Context used to pass navlist information without having to pass it to navlist children props.
|
|
38
|
-
* We want to communicate information down to any interested navlist item children.
|
|
39
|
-
*/
|
|
40
|
-
const NavigationListContext = preact.createContext(null);
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* @license
|
|
44
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
45
|
-
* Licensed under The Universal Permissive License (UPL), Version 1.0
|
|
46
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
47
|
-
* @ignore
|
|
48
|
-
*/
|
|
49
|
-
/**
|
|
50
|
-
* Utility hook for consuming the NavigationListContext
|
|
51
|
-
*
|
|
52
|
-
* @returns The value of NavigationListContext provider
|
|
53
|
-
*/
|
|
54
|
-
function useNavigationListContext() {
|
|
55
|
-
return hooks.useContext(NavigationListContext);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const flexItemStyleInterpolations = mergeInterpolations.mergeInterpolations([
|
|
59
|
-
...Object.values(flexitem.flexitemInterpolations)
|
|
60
|
-
]);
|
|
61
|
-
const { class: labelContainerFlexItemClasses, ...labelContainerFlexItemStyle } = flexItemStyleInterpolations({
|
|
62
|
-
alignSelf: 'center'
|
|
63
|
-
});
|
|
64
|
-
function useNavigationListItem({ itemKey }) {
|
|
65
|
-
const { onSelectionChange, selection, currentKey, showFocusRing, navigationListItemPrefix, edge, display } = useNavigationListContext();
|
|
66
|
-
//Selection and focus state
|
|
67
|
-
const isCurrent = currentKey === itemKey;
|
|
68
|
-
const isSelected = selection === itemKey;
|
|
69
|
-
const isIconOnly = display === 'icons' ? true : false;
|
|
70
|
-
const isEdgeEnd = edge === 'end' ? true : false;
|
|
71
|
-
//Styling
|
|
72
|
-
const { interactionProps, applyPseudoHoverStyle, applyHoverStyle, applyActiveStyle } = useInteractionStyle.useInteractionStyle();
|
|
73
|
-
const { direction } = useUser.useUser();
|
|
74
|
-
const isRtl = direction === 'rtl';
|
|
75
|
-
const { classes: listItemClasses, styles: { labelContainerClasses, navigationItemStackedBadge, navigationItemStackedBadgeRtl, startIconStacked } } = useComponentTheme.useComponentTheme(UNSAFE_NavigationListCommon_themes_redwood_NavigationListItemTheme.NavigationListItemRedwoodTheme, {
|
|
76
|
-
focusRing: showFocusRing ? 'isFocusRing' : 'notFocusRing',
|
|
77
|
-
current: isCurrent ? 'isCurrent' : 'notCurrtent',
|
|
78
|
-
selected: isSelected ? 'isSelected' : 'notSelected',
|
|
79
|
-
direction: isRtl ? 'isRtl' : 'notRtl',
|
|
80
|
-
hybridHover: applyHoverStyle ? 'isHybridHover' : 'notHybridHover',
|
|
81
|
-
pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',
|
|
82
|
-
active: applyActiveStyle ? 'isActive' : 'notActive',
|
|
83
|
-
edgeEnd: edge === 'end' ? 'isEnd' : 'notEnd',
|
|
84
|
-
iconOnly: isIconOnly ? 'isIconOnly' : 'notIconOnly'
|
|
85
|
-
});
|
|
86
|
-
const navigationItemIconOnlyClasses = classNames.classNames([startIconStacked]);
|
|
87
|
-
const navigationItemStackedBadgeClasses = classNames.classNames([
|
|
88
|
-
navigationItemStackedBadge,
|
|
89
|
-
direction === 'rtl' && navigationItemStackedBadgeRtl
|
|
90
|
-
]);
|
|
91
|
-
//Item handlers
|
|
92
|
-
const handlePress = hooks.useCallback(() => {
|
|
93
|
-
onSelectionChange?.({ value: itemKey, reason: 'pointer' });
|
|
94
|
-
}, [itemKey, onSelectionChange]);
|
|
95
|
-
//Legacy navlist makes selection on keyDown, but since preact tabbar made selection after keyUp, will do the same
|
|
96
|
-
//for preact navlist
|
|
97
|
-
const { pressProps } = usePress.usePress(handlePress);
|
|
98
|
-
return {
|
|
99
|
-
itemId: navigationListItemPrefix + itemKey,
|
|
100
|
-
itemHandlers: mergeProps.mergeProps(interactionProps, pressProps /*,onFocusProps*/),
|
|
101
|
-
itemClasses: classNames.classNames([listItemClasses]),
|
|
102
|
-
isSelected,
|
|
103
|
-
labelContainerClasses: classNames.classNames([labelContainerClasses, labelContainerFlexItemClasses]),
|
|
104
|
-
labelContainerStyle: labelContainerFlexItemStyle,
|
|
105
|
-
isIconOnly,
|
|
106
|
-
isEdgeEnd,
|
|
107
|
-
stackedBadgeClasses: classNames.classNames([navigationItemStackedBadgeClasses]),
|
|
108
|
-
iconOnlyClasses: classNames.classNames([navigationItemIconOnlyClasses]),
|
|
109
|
-
isCurrent,
|
|
110
|
-
showFocusRing
|
|
111
|
-
};
|
|
112
|
-
}
|
|
22
|
+
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
113
23
|
|
|
114
24
|
const useTabBarItemTooltip = ({ label, isDisabled, position }) => {
|
|
115
25
|
const [isOpen, setOpen] = hooks.useState(false);
|
|
@@ -134,7 +44,7 @@ const onClickLink = (event) => {
|
|
|
134
44
|
function BaseNavigationListItem({ itemKey, label, badge, metadata, severity = 'none', removeIcon, icon, href, 'aria-controls': ariaControls }) {
|
|
135
45
|
const itemRef = hooks.useRef(null);
|
|
136
46
|
//Logic of the component handled here
|
|
137
|
-
const { itemId, itemHandlers, itemClasses, isSelected, labelContainerClasses, labelContainerStyle, isIconOnly, isEdgeEnd, stackedBadgeClasses, iconOnlyClasses, isCurrent, showFocusRing } = useNavigationListItem({
|
|
47
|
+
const { itemId, itemHandlers, itemClasses, isSelected, labelContainerClasses, labelContainerStyle, isIconOnly, isEdgeEnd, stackedBadgeClasses, iconOnlyClasses, isCurrent, showFocusRing } = useNavigationListItem.useNavigationListItem({
|
|
138
48
|
itemKey
|
|
139
49
|
});
|
|
140
50
|
const severityRequirement = !(severity === 'none' || severity === undefined);
|
|
@@ -210,7 +120,7 @@ function BaseNavigationListItem({ itemKey, label, badge, metadata, severity = 'n
|
|
|
210
120
|
}
|
|
211
121
|
|
|
212
122
|
function RemovableNavigationListItem({ itemKey, label, badge, metadata, severity }) {
|
|
213
|
-
const { selection, currentKey, onRemove } = useNavigationListContext();
|
|
123
|
+
const { selection, currentKey, onRemove } = useNavigationListItem.useNavigationListContext();
|
|
214
124
|
const isSelected = selection === itemKey;
|
|
215
125
|
const isCurrent = currentKey === itemKey;
|
|
216
126
|
const handleRemove = hooks.useCallback(() => {
|
|
@@ -230,8 +140,7 @@ function NavigationListLinkItem({ itemKey, badge, metadata, severity, href, labe
|
|
|
230
140
|
}
|
|
231
141
|
|
|
232
142
|
exports.BaseNavigationListItem = BaseNavigationListItem;
|
|
233
|
-
exports.NavigationListContext = NavigationListContext;
|
|
234
143
|
exports.NavigationListLinkItem = NavigationListLinkItem;
|
|
235
144
|
exports.RemovableNavigationListItem = RemovableNavigationListItem;
|
|
236
145
|
exports.useTabBarItemTooltip = useTabBarItemTooltip;
|
|
237
|
-
//# sourceMappingURL=NavigationListLinkItem-
|
|
146
|
+
//# sourceMappingURL=NavigationListLinkItem-317a5200.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationListLinkItem-317a5200.js","sources":["../../src/UNSAFE_TabBarCommon/useTabBarItemTooltip.ts","../../src/UNSAFE_NavigationListCommon/BaseNavigationListItem.tsx","../../src/UNSAFE_NavigationListCommon/RemovableNavigationListItem.tsx","../../src/UNSAFE_NavigationListCommon/NavigationListLinkItem.tsx"],"sourcesContent":["import { ComponentChild } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { useTooltipControlled } from '../hooks/UNSAFE_useTooltip';\nimport { Placement } from '#UNSAFE_Floating';\n\ntype Props = {\n label: string;\n isDisabled: boolean;\n position?: Position;\n};\n\ntype Position = Omit<Placement, 'center'>;\n\nexport const useTabBarItemTooltip = ({\n label,\n isDisabled,\n position\n}: Props): {\n tooltipContent: ComponentChild;\n tooltipEventHandlerProps: Record<string, any>;\n onLogicalFocus: (elem: HTMLElement) => void;\n onLogicalBlur: () => void;\n} => {\n const [isOpen, setOpen] = useState<boolean>(false);\n const { tooltipProps, tooltipContent } = useTooltipControlled({\n isOpen: isOpen,\n isDisabled,\n position: position,\n focusStrategy: 'logical',\n text: label,\n onToggle: ({ value }) => {\n setOpen(value);\n }\n });\n const { onLogicalFocus, onLogicalBlur, ...tooltipEventHandlerProps } = tooltipProps;\n\n return { tooltipContent, tooltipEventHandlerProps, onLogicalFocus, onLogicalBlur };\n};\n","import { useRef } from 'preact/hooks';\n\nimport { Text } from '../UNSAFE_Text';\n\nimport { useNavigationListItem } from './useNavigationListItem';\nimport { Flex } from '../UNSAFE_Flex';\nimport { Badge } from '../UNSAFE_Badge';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { WarningS } from '../UNSAFE_RedwoodIcons/WarningS';\nimport { ErrorS } from '../UNSAFE_RedwoodIcons/ErrorS';\nimport { InformationS } from '../UNSAFE_RedwoodIcons/InformationS';\nimport { SuccessS } from '../UNSAFE_RedwoodIcons/SuccessS';\nimport {\n NavigationListItemStyles,\n NavigationListItemVariantOptions\n} from '../UNSAFE_NavigationList/themes/NavigationListItemStyles.css';\nimport { NavigationListItemRedwoodTheme } from './themes/redwood/NavigationListItemTheme';\nimport { ComponentChild, ComponentChildren } from 'preact';\nimport { useTabBarItemTooltip } from '#UNSAFE_TabBarCommon/useTabBarItemTooltip';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\n\ntype Severity = 'warning' | 'info' | 'none' | 'error' | 'confirmation';\ntype AriaProps = {\n /**\n * Accepts the panel element's ID associated with the item\n **/\n 'aria-controls'?: string;\n};\n\nexport type BaseNavigationListItemProps<K extends string | number> = {\n /**\n * Key of the NavigationListItem.\n */\n itemKey: K;\n /**\n * Label of the NavigationListItem.\n */\n label: string;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * The content to be rendered inside the Text component as a metadata.\n */\n metadata?: string;\n /**\n * The status icon to be rendered after the label.\n */\n severity?: Severity;\n /**\n * The content to be rendered for remove icon\n */\n removeIcon?: ComponentChildren;\n /**\n * The icon before the label or the stand alone icon\n */\n icon?: ComponentChild;\n /**\n * Sets the URL that the hyperlink points to. If there is no valid URL use \"#\" for href value to navigate to the top of the page.\n */\n href?: string;\n} & AriaProps;\n\nconst onClickLink = (event: MouseEvent) => {\n event.preventDefault();\n};\n/*TODO: JET-58535. Add ripple effect when touching navigationListItem. */\nexport function BaseNavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity = 'none',\n removeIcon,\n icon,\n href,\n 'aria-controls': ariaControls\n}: BaseNavigationListItemProps<K>) {\n const itemRef = useRef<HTMLDivElement | null>(null);\n\n //Logic of the component handled here\n const {\n itemId,\n itemHandlers,\n itemClasses,\n isSelected,\n labelContainerClasses,\n labelContainerStyle,\n isIconOnly,\n isEdgeEnd,\n stackedBadgeClasses,\n iconOnlyClasses,\n isCurrent,\n showFocusRing\n } = useNavigationListItem({\n itemKey\n });\n\n const severityRequirement = !(severity === 'none' || severity === undefined);\n\n const IconComponent = (severityValue: Severity) => {\n switch (severityValue) {\n case 'error':\n return <ErrorS color=\"danger\" />;\n case 'warning':\n return <WarningS color=\"warning\" />;\n case 'info':\n return <InformationS color=\"info\" />;\n case 'confirmation':\n return <SuccessS color=\"success\" />;\n default:\n return null;\n }\n };\n\n const {\n styles: {\n iconLabelContainer,\n iconContainer,\n startIconPadding,\n endContentPadding,\n removeIconPaddingWithEndContent,\n navigationItemMetadata,\n navigationListItemLink\n }\n } = useComponentTheme<NavigationListItemVariantOptions, NavigationListItemStyles>(\n NavigationListItemRedwoodTheme\n );\n\n const navigationItemMatadata = classNames([navigationItemMetadata, endContentPadding]);\n const navigationItemLinkClass = classNames([navigationListItemLink]);\n\n const endIconContainerClasses = classNames([\n iconLabelContainer,\n iconContainer,\n endContentPadding\n ]);\n const startIconContainerClasses = classNames([\n !isIconOnly && iconLabelContainer,\n iconContainer,\n //For icon only icon to label padding is not required.\n !isIconOnly && startIconPadding,\n isIconOnly && iconOnlyClasses\n ]);\n const {\n styles: { navigationlistRemoveIcon }\n } = useComponentTheme<NavigationListItemVariantOptions, NavigationListItemStyles>(\n NavigationListItemRedwoodTheme\n );\n\n const isComplexItem = metadata || severityRequirement || badge;\n const removeClass = classNames([\n navigationlistRemoveIcon,\n isComplexItem && removeIconPaddingWithEndContent,\n !isComplexItem && endContentPadding\n ]);\n\n const isLinkItem = href != null;\n const labelRequirement = label && !(label === ' ' && label === undefined);\n const iconOnlyRequirement = icon && icon != null && isIconOnly;\n const showTooltip = iconOnlyRequirement;\n\n const { tooltipContent, tooltipEventHandlerProps, onLogicalFocus, onLogicalBlur } =\n useTabBarItemTooltip({\n label,\n isDisabled: !showTooltip,\n // For edge end the tooltip will appear after icon in the order tooltip, icon, selection when navlist is placed at end of page.\n position: !isEdgeEnd ? 'end' : 'start'\n });\n if (showTooltip) {\n if ((isCurrent && showFocusRing) || isSelected) {\n onLogicalFocus(itemRef.current as HTMLElement);\n } else if (!isCurrent || !showFocusRing) {\n onLogicalBlur();\n }\n }\n\n const labelRenderer = () => {\n return (\n <>\n {icon && (\n <Flex justify=\"start\">\n <span class={startIconContainerClasses}>{icon}</span>\n </Flex>\n )}\n {!isIconOnly && labelRequirement && (\n <Flex align=\"center\" justify=\"start\" flex=\"1 1 auto\">\n <span class={labelContainerClasses} style={labelContainerStyle}>\n <Text size=\"inherit\" weight=\"inherit\" variant=\"inherit\">\n {label}\n </Text>\n </span>\n </Flex>\n )}\n {removeIcon && !isLinkItem && <span class={removeClass}>{removeIcon}</span>}\n </>\n );\n };\n\n const complexItemRenderer = () => {\n return (\n <>\n {iconOnlyRequirement && (\n <div class={startIconContainerClasses}>\n {icon}\n <span class={stackedBadgeClasses}>\n {badge ? (\n <Badge size=\"xs\" variant=\"neutral\">\n {badge}\n </Badge>\n ) : null}\n </span>\n </div>\n )}\n {!isIconOnly && icon && (\n <Flex justify=\"start\">\n <span class={startIconContainerClasses}>{icon}</span>\n </Flex>\n )}\n {(!isIconOnly || /* This covers invalid cases*/ (isIconOnly && !iconOnlyRequirement)) &&\n labelRequirement && (\n <Flex align=\"center\" justify=\"start\" flex=\"1 1 auto\">\n <span class={labelContainerClasses} style={labelContainerStyle}>\n <Text size=\"inherit\" weight=\"inherit\" variant=\"inherit\">\n {label}\n </Text>\n </span>\n </Flex>\n )}\n {(metadata || severityRequirement || badge || removeIcon) && (\n <Flex align=\"center\" justify=\"end\">\n {' '}\n {(!isIconOnly || /* This covers invalid cases*/ (isIconOnly && !iconOnlyRequirement)) &&\n badge && (\n <span class={endIconContainerClasses}>\n <Badge size=\"md\" variant=\"neutralSubtle\">\n {badge}\n </Badge>\n </span>\n )}\n {metadata && (\n <span class={navigationItemMatadata}>\n <Text>{'( ' + metadata + ' )'}</Text>\n </span>\n )}\n {severityRequirement && (\n <span class={endIconContainerClasses}>{IconComponent(severity)}</span>\n )}\n {removeIcon && !isLinkItem && <span class={removeClass}>{removeIcon}</span>}\n </Flex>\n )}\n </>\n );\n };\n const navlistItemRenderer = () => {\n return (\n <div\n role=\"tab\"\n {...mergeProps(tooltipEventHandlerProps, itemHandlers)}\n data-oj-key={itemKey}\n id={itemId}\n class={itemClasses}\n aria-selected={isSelected}\n ref={itemRef}\n aria-controls={ariaControls}>\n {isComplexItem ? complexItemRenderer() : labelRenderer()}\n {isIconOnly && tooltipContent}\n </div>\n );\n };\n const navlistLinkItemRenderer = () => {\n return (\n <div {...itemHandlers} class={itemClasses}>\n <a\n tabindex={-1}\n role=\"tab\"\n data-oj-key={itemKey}\n id={itemId}\n class={navigationItemLinkClass}\n aria-selected={isSelected}\n aria-controls={ariaControls}\n href={href}\n onClick={onClickLink}>\n {isComplexItem ? complexItemRenderer() : labelRenderer()}\n </a>\n </div>\n );\n };\n return isLinkItem ? navlistLinkItemRenderer() : navlistItemRenderer();\n}\n","import { BaseNavigationListItem, BaseNavigationListItemProps } from './BaseNavigationListItem';\nimport { useNavigationListContext } from './useNavigationListContext';\nimport { Close } from '../UNSAFE_RedwoodIcons/Close';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { useCallback } from 'preact/hooks';\nimport { useHover } from '#hooks/UNSAFE_useHover';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\n\ntype RemovableNavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function RemovableNavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity\n}: RemovableNavigationListItemProps<K>) {\n const { selection, currentKey, onRemove } = useNavigationListContext();\n const isSelected = selection === itemKey;\n const isCurrent = currentKey === itemKey;\n\n const handleRemove = useCallback(() => {\n onRemove?.({ value: itemKey as K });\n }, [onRemove, itemKey]);\n\n const { hoverProps, isHover } = useHover({});\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n return (\n <div {...hoverProps}>\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n removeIcon={\n <span data-oj-navigationlist-item-remove-icon={true}>\n <EmbeddedIconButton\n aria-label={translations.tabBarNavigationList_removeCueText()}\n size=\"xs\"\n onAction={handleRemove}>\n {(isHover || isSelected || isCurrent) && <Close />}\n </EmbeddedIconButton>\n </span>\n }\n />\n </div>\n );\n}\n","import { BaseNavigationListItem, BaseNavigationListItemProps } from './BaseNavigationListItem';\n\ntype Link = {\n /**\n * Sets the URL that the hyperlink points to. If there is no valid URL do not use NavigationListLinkItem, use other types of NavigationListItem instead.\n */\n href: string;\n};\nexport type NavigationListLinkItemProps<K extends string | number> = Link &\n Pick<\n BaseNavigationListItemProps<K>,\n 'label' | 'itemKey' | 'badge' | 'metadata' | 'severity' | 'aria-controls'\n >;\n/**\n * NavigationListLinkItem is used to render links in a NavigationList. It allows to view the browser's built in link context menu to open the link in new browser tab.\n */\nexport function NavigationListLinkItem<K extends string | number>({\n itemKey,\n badge,\n metadata,\n severity,\n href,\n label,\n 'aria-controls': ariaControls\n}: NavigationListLinkItemProps<K>) {\n return (\n <BaseNavigationListItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n href={href}></BaseNavigationListItem>\n );\n}\n"],"names":["useState","useTooltipControlled","useRef","useNavigationListItem","_jsx","ErrorS","WarningS","InformationS","SuccessS","useComponentTheme","NavigationListItemRedwoodTheme","classNames","_jsxs","_Fragment","Flex","Text","Badge","mergeProps","useNavigationListContext","useCallback","useHover","useTranslationBundle","EmbeddedIconButton","Close"],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ var useTranslationBundle = require('./useTranslationBundle-12dd087d.js');
|
|
|
14
14
|
var preact = require('preact');
|
|
15
15
|
var clientHints = require('./clientHints-c40c5250.js');
|
|
16
16
|
var classNames = require('./classNames-c14c6ef3.js');
|
|
17
|
+
var NavigationList = require('./NavigationList-d0d74565.js');
|
|
18
|
+
var NavigationListItem = require('./NavigationListItem-b0b03089.js');
|
|
19
|
+
|
|
17
20
|
var Icon = require('./Icon-56789beb.js');
|
|
18
21
|
var Dropdown = require('./Dropdown-1ba432a8.js');
|
|
19
22
|
var Sheet = require('./Sheet-1d6e8cf8.js');
|
|
@@ -32,11 +35,10 @@ var ErrorS = require('./ErrorS-b027f7ad.js');
|
|
|
32
35
|
var InformationS = require('./InformationS-b0bb102b.js');
|
|
33
36
|
var SuccessS = require('./SuccessS-b6757c64.js');
|
|
34
37
|
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
35
|
-
var NavigationListLinkItem = require('./NavigationListLinkItem-
|
|
38
|
+
var NavigationListLinkItem = require('./NavigationListLinkItem-317a5200.js');
|
|
36
39
|
var UNSAFE_TabBarCommon_themes_TabBarItemContract_css = require('./UNSAFE_TabBarCommon/themes/TabBarItemContract.css.js');
|
|
37
40
|
var HiddenAccessible = require('./HiddenAccessible-087eb49a.js');
|
|
38
41
|
var UNSAFE_TabBarCommon_themes_OverflowTabBarItemStyles_css = require('./UNSAFE_TabBarCommon/themes/OverflowTabBarItemStyles.css.js');
|
|
39
|
-
var NavigationListItem = require('./NavigationListItem-3b9eb0fb.js');
|
|
40
42
|
|
|
41
43
|
const onClickLink = (event) => {
|
|
42
44
|
event.preventDefault();
|
|
@@ -238,7 +240,7 @@ function OverflowTabBarItem({ overflowItemKey, icon, badge, overflowItems, isOpe
|
|
|
238
240
|
}
|
|
239
241
|
}, [navigationListRef]);
|
|
240
242
|
const getNavigationList = hooks.useCallback(() => {
|
|
241
|
-
return (jsxRuntime.jsx("div", { onKeyDown: handleKeyDown, tabIndex: 0, ref: navContainerRef, class: navContainerClasses, children: jsxRuntime.jsx(
|
|
243
|
+
return (jsxRuntime.jsx("div", { onKeyDown: handleKeyDown, tabIndex: 0, ref: navContainerRef, class: navContainerClasses, children: jsxRuntime.jsx(NavigationList.NavigationList, { ref: navigationListRef, selection: selection, onSelectionChange: handleSelectionChange, onRemove: onRemove, children: overflowItems?.map((item) => item.href != null ? (jsxRuntime.jsx(NavigationListLinkItem.NavigationListLinkItem, { href: item.href, itemKey: item.itemKey, label: item.label, badge: item.badge, metadata: item.metadata, severity: item.severity })) : item.isRemovable ? (jsxRuntime.jsx(NavigationListLinkItem.RemovableNavigationListItem, { itemKey: item.itemKey, label: item.label, badge: item.badge, metadata: item.metadata, severity: item.severity })) : (jsxRuntime.jsx(NavigationListItem.NavigationListItem, { itemKey: item.itemKey, label: item.label, badge: item.badge, metadata: item.metadata, severity: item.severity }))) }) }));
|
|
242
244
|
}, [
|
|
243
245
|
handleKeyDown,
|
|
244
246
|
navContainerClasses,
|
|
@@ -259,4 +261,4 @@ exports.BaseTabBarItem = BaseTabBarItem;
|
|
|
259
261
|
exports.OverflowTabBarItem = OverflowTabBarItem;
|
|
260
262
|
exports.RemovableTabBarItem = RemovableTabBarItem;
|
|
261
263
|
exports.TabBarItem = TabBarItem;
|
|
262
|
-
//# sourceMappingURL=OverflowTabBarItem-
|
|
264
|
+
//# sourceMappingURL=OverflowTabBarItem-19ad4971.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTabBarItem-abcd2327.js","sources":["../../src/UNSAFE_TabBarCommon/BaseTabBarItem.tsx","../../src/UNSAFE_TabBarCommon/TabBarItem.tsx","../../src/UNSAFE_TabBarCommon/RemovableTabBarItem.tsx","../../src/UNSAFE_RedwoodIcons/OverflowH/OverflowH.tsx","../../src/UNSAFE_TabBarCommon/OverflowTabBarItem.tsx"],"sourcesContent":["import { ComponentChildren, ComponentChild } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Text } from '../UNSAFE_Text';\nimport { Flex } from '../UNSAFE_Flex';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Size } from '../utils/UNSAFE_size';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport { dimensionInterpolations } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { BoxAlignmentProps } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { boxAlignmentInterpolations } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { TabBarItemVariantOptions } from './themes/TabBarItemStyles.css';\nimport { TabBarItemRedwoodTheme } from './themes/redwood/TabBarItemTheme';\nimport { Badge } from '../UNSAFE_Badge';\nimport { useConveyorBeltItem } from '../UNSAFE_ConveyorBelt/useConveyorBeltItem';\nimport { useDetectTruncation } from '../hooks/PRIVATE_useDetectTruncation';\nimport { WarningS } from '../UNSAFE_RedwoodIcons/WarningS';\nimport { ErrorS } from '../UNSAFE_RedwoodIcons/ErrorS';\nimport { InformationS } from '../UNSAFE_RedwoodIcons/InformationS';\nimport { SuccessS } from '../UNSAFE_RedwoodIcons/SuccessS';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useTabBarItemTooltip } from './useTabBarItemTooltip';\nimport { tabBarItemVars } from './themes/TabBarItemContract.css';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\n\ntype Severity = 'warning' | 'info' | 'none' | 'error' | 'confirmation';\n\ntype AriaProps = {\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n 'aria-controls'?: string;\n /**\n * Used by an item that renders an interactive popup\n */\n 'aria-haspopup'?: boolean;\n};\n\nexport type BaseTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n itemKey: K;\n /**\n * Label of the TabBarItem. For icon only display this label is the content\n * for aria-label and tooltip text of the Tab.\n */\n label: string;\n /**\n * The icon before the label in non-stack case, icon above the label in\n * stacked case or the stand alone icon when no label is specified.\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * The content to be rendered inside the Text component as a metadata,\n * that appears after the label in non stack case only.\n */\n metadata?: string;\n /**\n * The status icon to be rendered after the label in non stack case only.\n */\n severity?: Severity;\n /**\n * The content to be rendered for remove icon\n */\n removeIcon?: ComponentChildren;\n /**\n * The control for enabling and disabling focusRing\n */\n showFocusRingOverride?: boolean;\n /**\n * The control for enabling and disabling selection indicator\n */\n selectionOverride?: boolean;\n /**\n * The control for overriding display value.\n */\n displayOverride?: string;\n /**\n * Maximum width tabbar item label can have\n */\n labelMaxWidth?: Size;\n /**\n * Sets the URL that the hyperlink points to. If there is no valid URL use \"#\" for href value to navigate to the top of the page.\n */\n href?: string;\n} & AriaProps;\n\nconst onClickLink = (event: MouseEvent) => {\n event.preventDefault();\n};\n\nexport function BaseTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity = 'none',\n removeIcon,\n showFocusRingOverride,\n selectionOverride,\n displayOverride,\n labelMaxWidth,\n href,\n 'aria-controls': ariaControls,\n 'aria-haspopup': ariaHasPopup\n}: BaseTabBarItemProps<K>) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const {\n onSelect,\n selection,\n currentKey,\n showFocusRing,\n hideTooltip,\n layout,\n display,\n size,\n isEdgeBottom,\n tabItemPrefix\n } = useTabBarContext();\n\n const isCurrent = currentKey === itemKey;\n\n const { ref, ...conveyorBeltProps } = useConveyorBeltItem({ isCurrent });\n\n //Selection\n //Dependency on currentKey because upon removal selectionChange does not change hence no re render\n //and it is still holding the deleted key as selection\n const handlePress = useCallback(() => {\n onSelect?.({ value: itemKey as K });\n }, [itemKey, onSelect]);\n\n const { pressProps } = usePress(handlePress);\n\n const isSelected = selection === itemKey;\n\n const isStacked = display === 'stacked' ? true : false;\n const isIconOnly =\n display === 'icons' || (displayOverride && displayOverride === 'icons') ? true : false;\n const isTall = size === 'lg' ? true : false;\n const labelRequirement = label && !(label === ' ' && label === undefined);\n const severityRequirement = !(severity === 'none' || severity === undefined);\n\n const IconComponent = (severityValue: Severity) => {\n switch (severityValue) {\n case 'error':\n // As per spec acc label is required only for error severity icon.\n return <ErrorS color=\"danger\" accessibleLabel={translations.tabBar_tabContainsErrors()} />;\n case 'warning':\n return <WarningS color=\"warning\" />;\n case 'info':\n return <InformationS color=\"info\" />;\n case 'confirmation':\n return <SuccessS color=\"success\" />;\n default:\n return null;\n }\n };\n\n const { direction } = useUser();\n const makeFocusRingVisible =\n showFocusRingOverride !== undefined ? showFocusRingOverride : showFocusRing;\n const makeSelectionVisible = selectionOverride !== undefined ? selectionOverride : isSelected;\n const {\n classes,\n styles: {\n tabBarItemIcon,\n tabBarItemIconStacked,\n tabBarItemMetadata,\n tabBarItemStackedBadge,\n tabBarItemStackedBadgeRtl,\n tabBarItemRemoveIcon,\n tabBarItemLabel,\n tabBarItemLabelTruncated,\n tabBarItemLink\n }\n } = useComponentTheme<TabBarItemVariantOptions>(TabBarItemRedwoodTheme, {\n selection: makeSelectionVisible ? 'isSelected' : 'notSelected',\n current: isCurrent ? 'isCurrent' : 'notCurrent',\n focusRing: makeFocusRingVisible ? 'showFocusRing' : 'noFocusRing',\n edgeBottom: isEdgeBottom ? 'isBottom' : 'notBottom'\n });\n\n const tabBarItem = classNames([classes]);\n const tabBarItemLabelClasses = classNames([\n tabBarItemLabel,\n labelMaxWidth !== undefined && tabBarItemLabelTruncated\n ]);\n const tabBarItemIconClasses = classNames([\n tabBarItemIcon,\n (isStacked || isIconOnly || !labelRequirement) && tabBarItemIconStacked\n ]);\n const tabBarItemMetadataClasses = classNames([tabBarItemMetadata]);\n const tabBarItemStackedBadgeClasses = classNames([\n tabBarItemStackedBadge,\n direction === 'rtl' && tabBarItemStackedBadgeRtl\n ]);\n const removeClass = classNames([tabBarItemRemoveIcon]);\n const tabBarItemLinkClasses = classNames([tabBarItemLink]);\n\n const styleInterpolations = mergeInterpolations<\n FlexitemProps & DimensionProps & BoxAlignmentProps\n >([\n ...Object.values(flexitemInterpolations),\n ...Object.values(dimensionInterpolations),\n ...Object.values(boxAlignmentInterpolations)\n ]);\n\n //This is for simple item where height and width need to be specified on the main div.\n const tabDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto',\n minWidth: '10.5x',\n height: isTall ? tabBarItemVars.lgHeight : tabBarItemVars.mdHeight,\n //This is needed for gap between icon/ label and remove icon in labelIconRenderer\n gap: '2x'\n });\n\n //This is for complex item, where only flex dimensions needs to be applied as height and width comes from child Flex component.\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const maxWithInterpolation = mergeInterpolations<DimensionProps>([\n ...Object.values(dimensionInterpolations)\n ]);\n\n //The threshold for truncation is labelMinWidth: 96px as per spec.\n const labelMinWidth = '96px';\n const maxWidthDimensions = maxWithInterpolation({\n maxWidth: labelMaxWidth !== undefined ? `calc(max(${labelMinWidth},${labelMaxWidth}))` : '100%'\n });\n\n const { detectTruncationProps, isTextTruncated } = useDetectTruncation(\n labelMaxWidth === undefined\n );\n const showTooltip = isIconOnly || isTextTruncated;\n const { tooltipContent, tooltipEventHandlerProps, onLogicalFocus, onLogicalBlur } =\n useTabBarItemTooltip({ label, isDisabled: !showTooltip });\n if (showTooltip) {\n if (isCurrent && showFocusRing && !hideTooltip) {\n onLogicalFocus(ref.current as HTMLElement);\n } else if (!isCurrent || (isCurrent && !showFocusRing) || hideTooltip) {\n onLogicalBlur();\n }\n }\n\n const isComplexItem = badge || metadata || severity !== 'none' || isStacked || isIconOnly;\n const isLinkItem = href != null;\n\n const labelIconRenderer = () => {\n return (\n <>\n <Flex align=\"center\" justify=\"center\" flex=\"1 1 auto\" gap=\"2x\">\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </>\n );\n };\n\n const complexItemRenderer = () => {\n return (\n <Flex flex=\"1 1 auto\">\n <Flex\n minWidth=\"10.5x\"\n minHeight={isTall ? tabBarItemVars.lgHeight : '100%'}\n height={\n isStacked && labelRequirement ? tabBarItemVars.stackedHeight : tabBarItemVars.mdHeight\n }\n direction={isStacked && labelRequirement ? 'column' : 'row'}\n gap=\"2x\"\n align=\"center\"\n justify=\"center\"\n alignSelf=\"center\"\n flex=\"1 1 auto\">\n {(isStacked || isIconOnly) && (\n <div class={tabBarItemIconClasses}>\n {\n // JET-79198 - The label is made hidden so that in can be read out by screen readers and we will not need aria-label at role=\"tab\" level to include all the content in it's children\n isIconOnly && <HiddenAccessible id=\"hiddenLabel\">{label}</HiddenAccessible>\n }\n {icon}\n <span class={tabBarItemStackedBadgeClasses}>\n {badge ? (\n <Badge size=\"xs\" variant=\"neutral\">\n {badge}\n </Badge>\n ) : null}\n </span>\n </div>\n )}\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n {!isStacked && !isIconOnly && badge && labelRequirement && (\n <span data-oj-tab-badge={badge}>\n <Badge size=\"md\" variant=\"neutralSubtle\">\n {badge}\n </Badge>\n </span>\n )}\n {metadata && (\n <span class={tabBarItemMetadataClasses} data-oj-tab-metadata={metadata}>\n <Text size=\"md\" weight=\"normal\">\n {'( ' + metadata + ' )'}\n </Text>\n </span>\n )}\n {severityRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-severity={severity}>\n {IconComponent(severity)}\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </Flex>\n );\n };\n\n const tabBarItemRenderer = () => {\n return (\n <div\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n class={tabBarItem}\n role=\"tab\"\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n ref={ref}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n {tooltipContent}\n </div>\n );\n };\n\n const tabBarLinkItemRenderer = () => {\n return (\n <span\n ref={ref}\n class={tabBarItem}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n <a\n onClick={onClickLink}\n class={tabBarItemLinkClasses}\n href={href}\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n role=\"tab\"\n tabindex={-1}\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n </a>\n {tooltipContent}\n </span>\n );\n };\n return isLinkItem ? tabBarLinkItemRenderer() : tabBarItemRenderer();\n}\n","import { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\n\nexport type TabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n/**\n * TabBarItem content can be created by using labels or icons or both.\n */\nexport function TabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: TabBarItemProps<K>) {\n return (\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n />\n );\n}\n","import { useCallback } from 'preact/hooks';\nimport { useHover } from '../hooks/UNSAFE_useHover';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { Close } from '../UNSAFE_RedwoodIcons/Close';\nimport { Flex } from '../UNSAFE_Flex';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { useTabBarContext } from './useTabBarContext';\nimport { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\n\ntype RemovableTabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n\nexport function RemovableTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: RemovableTabBarItemProps<K>) {\n const { selection, currentKey, layout, onRemove } = useTabBarContext();\n const isSelected = selection === itemKey;\n const isCurrent = currentKey === itemKey;\n\n const handleRemove = useCallback(() => {\n onRemove?.({ value: itemKey as K });\n }, [onRemove, itemKey]);\n\n const { hoverProps, isHover } = useHover({});\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n //TODO: In addition to aria-label a genric instruction is required for keyboard deletion\n //common to al tabs,after feedback from Curt's investigations.\n return (\n <div {...hoverProps} style={flexDimensions}>\n <Flex>\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n removeIcon={\n <span data-oj-tabbar-item-remove-icon=\"true\">\n <EmbeddedIconButton\n aria-label={translations.tabBarNavigationList_removeCueText()}\n size=\"xs\"\n onAction={handleRemove}>\n {(isHover || isSelected || isCurrent) && <Close />}\n </EmbeddedIconButton>\n </span>\n }\n />\n </Flex>\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates. All rights reserved.\n * https://www.oracle.com/contracts/docs/cloud_csa_online_v062223_us_eng.pdf?download=false&er=221886\n * @ignore\n */\n// DO NOT MODIFY THIS FILE MANUALLY!\n// This file is automatically generated based on the corresponding SVG image in\n// the packages/oraclejet-preact/resources/icons folder.\nimport { ComponentProps } from 'preact';\nimport { Icon } from '../../UNSAFE_Icon';\ntype Props = Omit<ComponentProps<typeof Icon>, 'viewBox' | 'children'>;\nconst SvgOverflowH = (props: Props) => (\n <Icon viewBox=\"0 0 24 24\" {...props}>\n <g fill=\"none\">\n <path\n d=\"M6 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"\n fill=\"currentcolor\"\n />\n </g>\n </Icon>\n);\nexport { SvgOverflowH as OverflowH };\n","import { ComponentChild, ComponentProps, createRef } from 'preact';\nimport { useCallback, useRef, useEffect } from 'preact/hooks';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { getClientHints } from '../utils/PRIVATE_clientHints';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport {\n NavigationListItem,\n NavigationList,\n RemovableNavigationListItem,\n FocusableHandle,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationList';\nimport { OverflowH } from '../UNSAFE_RedwoodIcons/OverflowH';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Dropdown } from '../UNSAFE_Dropdown';\nimport { Sheet } from '../UNSAFE_Sheet';\nimport { BaseTabBarItem } from './BaseTabBarItem';\nimport { styles } from './themes/OverflowTabBarItemStyles.css';\nimport { TabBarItem } from './TabBarItem';\n\nexport type OverflowSelectionDetail<K> = {\n value: K;\n};\n\nexport type CloseDetail = {\n /**\n * dismissed represents dismissing the DropDown\n */\n reason: 'dismissed' | 'itemAction' | 'outsideMousedown';\n};\n\nexport type Item<K extends string | number> = Omit<\n ComponentProps<typeof TabBarItem<K>>,\n 'testId' | 'aria-controls'\n> & {\n isRemovable?: boolean;\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n tabPanelId?: string;\n /**\n * Sets the URL that the hyperlink points to.\n */\n href?: string;\n};\n\nexport type OverflowTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n overflowItemKey: K;\n /**\n * Whether to open the popup\n */\n isOpen: boolean;\n /**\n * Property that triggers a callback when DropDown is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n /**\n * The icon of the OverflowTabBarItem\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * An array of data used by NavigationList to render individual overflow items.\n */\n overflowItems?: Item<K>[];\n};\n\n/**\n * An OverflowTabBarItem renders TabBarItems in a device appropriate popup. OverflowTabBarItem is used internally in an OverflowTabBar.\n */\n\nexport function OverflowTabBarItem<K extends string | number>({\n overflowItemKey,\n icon,\n badge,\n overflowItems,\n isOpen,\n onClose\n}: OverflowTabBarItemProps<K>) {\n const { selection, showFocusRing, isEdgeBottom, onSelect, onRemove, layout } = useTabBarContext();\n\n const isPointerSelection = useRef<boolean>(false);\n\n // Reset pointer selection flag when the popup closes so keyboard navigation\n // restores focus-visible on the overflow trigger.\n useEffect(() => {\n if (!isOpen) {\n isPointerSelection.current = false;\n }\n }, [isOpen]);\n\n const overflowTabBarItemRef = useRef<HTMLDivElement>(null);\n const navigationListRef = createRef<FocusableHandle>();\n\n const handleSelectionChange = useCallback<\n Required<ComponentProps<typeof NavigationList>>['onSelectionChange']\n >(\n (detail: { value: string | number; reason?: 'pointer' | 'keyboard' }) => {\n if (detail.reason === 'pointer') {\n isPointerSelection.current = true;\n }\n onSelect?.({ value: detail.value });\n onClose?.({ reason: 'itemAction' });\n },\n [onSelect, onClose]\n );\n\n const handleDropdownClose = useCallback(\n (e: CloseDetail) => {\n onClose?.({ reason: e.reason });\n },\n [onClose]\n );\n\n const handleSheetClose = useCallback(() => {\n onClose?.({ reason: 'dismissed' });\n }, [onClose]);\n\n //When NavigationList steals focus the app resets it. Not always would it be reset to\n //parent of OverflowTabBarItem. Though currentKey would be correct, but focusRing would would not be visible\n //Hence we check for isPointerSelection.current\n\n const focusRingRequirement = showFocusRing && !isPointerSelection.current && !getIsMobile();\n\n const overflowContainsKey = (searchKey: K) => {\n return overflowItems?.find((item) => item.itemKey === searchKey) != null;\n };\n\n const currentPanelId = overflowItems?.find((item) => item.itemKey === selection)?.tabPanelId;\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const isSelected = selection !== undefined && overflowContainsKey(selection as K);\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const navContainerClasses = classNames([styles.navContainerBase]);\n\n const navContainerRef = useRef<HTMLDivElement>(null);\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n navigationListRef.current?.focus();\n }\n },\n [navigationListRef]\n );\n const getNavigationList = useCallback(() => {\n return (\n <div onKeyDown={handleKeyDown} tabIndex={0} ref={navContainerRef} class={navContainerClasses}>\n <NavigationList\n ref={navigationListRef}\n selection={selection}\n onSelectionChange={handleSelectionChange}\n onRemove={onRemove}>\n {overflowItems?.map((item) =>\n item.href != null ? (\n <NavigationListLinkItem\n href={item.href}\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : item.isRemovable ? (\n <RemovableNavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : (\n <NavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n )\n )}\n </NavigationList>\n </div>\n );\n }, [\n handleKeyDown,\n navContainerClasses,\n navigationListRef,\n selection,\n handleSelectionChange,\n onRemove,\n overflowItems\n ]);\n\n return (\n <>\n {overflowItems && overflowItems.length > 0 && (\n <div ref={overflowTabBarItemRef} style={flexDimensions}>\n <BaseTabBarItem\n aria-controls={currentPanelId}\n itemKey={overflowItemKey}\n label={translations.overflowItemLabel()}\n icon={icon ? icon : <OverflowH />}\n badge={badge}\n showFocusRingOverride={focusRingRequirement}\n selectionOverride={isSelected}\n displayOverride={'icons'}\n aria-haspopup={true}\n />\n </div>\n )}\n {getIsMobile() ? (\n <Sheet isOpen={isOpen} onClose={handleSheetClose} initialFocus=\"firstFocusable\">\n {getNavigationList()}\n </Sheet>\n ) : (\n <Dropdown\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={handleDropdownClose}\n placement={isEdgeBottom ? 'top-end' : 'bottom-end'}\n anchorRef={overflowTabBarItemRef}>\n {getNavigationList()}\n </Dropdown>\n )}\n </>\n );\n}\n\nconst getIsMobile = () => {\n const { deviceRenderMode } = getClientHints();\n return deviceRenderMode === 'phone';\n};\n"],"names":["useTranslationBundle","useTabBarContext","useConveyorBeltItem","useCallback","usePress","_jsx","ErrorS","WarningS","InformationS","SuccessS","useUser","useComponentTheme","TabBarItemRedwoodTheme","classNames","mergeInterpolations","flexitemInterpolations","dimensionInterpolations","boxAlignmentInterpolations","tabBarItemVars","useDetectTruncation","useTabBarItemTooltip","_jsxs","_Fragment","Flex","Text","HiddenAccessible","Badge","mergeProps","useHover","EmbeddedIconButton","Close","Icon","useRef","useEffect","createRef","styles","NavigationList","NavigationListLinkItem","RemovableNavigationListItem","NavigationListItem","OverflowH","Sheet","Dropdown","getClientHints"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OverflowTabBarItem-19ad4971.js","sources":["../../src/UNSAFE_TabBarCommon/BaseTabBarItem.tsx","../../src/UNSAFE_TabBarCommon/TabBarItem.tsx","../../src/UNSAFE_TabBarCommon/RemovableTabBarItem.tsx","../../src/UNSAFE_RedwoodIcons/OverflowH/OverflowH.tsx","../../src/UNSAFE_TabBarCommon/OverflowTabBarItem.tsx"],"sourcesContent":["import { ComponentChildren, ComponentChild } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Text } from '../UNSAFE_Text';\nimport { Flex } from '../UNSAFE_Flex';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Size } from '../utils/UNSAFE_size';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport { dimensionInterpolations } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { BoxAlignmentProps } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { boxAlignmentInterpolations } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { TabBarItemVariantOptions } from './themes/TabBarItemStyles.css';\nimport { TabBarItemRedwoodTheme } from './themes/redwood/TabBarItemTheme';\nimport { Badge } from '../UNSAFE_Badge';\nimport { useConveyorBeltItem } from '../UNSAFE_ConveyorBelt/useConveyorBeltItem';\nimport { useDetectTruncation } from '../hooks/PRIVATE_useDetectTruncation';\nimport { WarningS } from '../UNSAFE_RedwoodIcons/WarningS';\nimport { ErrorS } from '../UNSAFE_RedwoodIcons/ErrorS';\nimport { InformationS } from '../UNSAFE_RedwoodIcons/InformationS';\nimport { SuccessS } from '../UNSAFE_RedwoodIcons/SuccessS';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useTabBarItemTooltip } from './useTabBarItemTooltip';\nimport { tabBarItemVars } from './themes/TabBarItemContract.css';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\n\ntype Severity = 'warning' | 'info' | 'none' | 'error' | 'confirmation';\n\ntype AriaProps = {\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n 'aria-controls'?: string;\n /**\n * Used by an item that renders an interactive popup\n */\n 'aria-haspopup'?: boolean;\n};\n\nexport type BaseTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n itemKey: K;\n /**\n * Label of the TabBarItem. For icon only display this label is the content\n * for aria-label and tooltip text of the Tab.\n */\n label: string;\n /**\n * The icon before the label in non-stack case, icon above the label in\n * stacked case or the stand alone icon when no label is specified.\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * The content to be rendered inside the Text component as a metadata,\n * that appears after the label in non stack case only.\n */\n metadata?: string;\n /**\n * The status icon to be rendered after the label in non stack case only.\n */\n severity?: Severity;\n /**\n * The content to be rendered for remove icon\n */\n removeIcon?: ComponentChildren;\n /**\n * The control for enabling and disabling focusRing\n */\n showFocusRingOverride?: boolean;\n /**\n * The control for enabling and disabling selection indicator\n */\n selectionOverride?: boolean;\n /**\n * The control for overriding display value.\n */\n displayOverride?: string;\n /**\n * Maximum width tabbar item label can have\n */\n labelMaxWidth?: Size;\n /**\n * Sets the URL that the hyperlink points to. If there is no valid URL use \"#\" for href value to navigate to the top of the page.\n */\n href?: string;\n} & AriaProps;\n\nconst onClickLink = (event: MouseEvent) => {\n event.preventDefault();\n};\n\nexport function BaseTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity = 'none',\n removeIcon,\n showFocusRingOverride,\n selectionOverride,\n displayOverride,\n labelMaxWidth,\n href,\n 'aria-controls': ariaControls,\n 'aria-haspopup': ariaHasPopup\n}: BaseTabBarItemProps<K>) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const {\n onSelect,\n selection,\n currentKey,\n showFocusRing,\n hideTooltip,\n layout,\n display,\n size,\n isEdgeBottom,\n tabItemPrefix\n } = useTabBarContext();\n\n const isCurrent = currentKey === itemKey;\n\n const { ref, ...conveyorBeltProps } = useConveyorBeltItem({ isCurrent });\n\n //Selection\n //Dependency on currentKey because upon removal selectionChange does not change hence no re render\n //and it is still holding the deleted key as selection\n const handlePress = useCallback(() => {\n onSelect?.({ value: itemKey as K });\n }, [itemKey, onSelect]);\n\n const { pressProps } = usePress(handlePress);\n\n const isSelected = selection === itemKey;\n\n const isStacked = display === 'stacked' ? true : false;\n const isIconOnly =\n display === 'icons' || (displayOverride && displayOverride === 'icons') ? true : false;\n const isTall = size === 'lg' ? true : false;\n const labelRequirement = label && !(label === ' ' && label === undefined);\n const severityRequirement = !(severity === 'none' || severity === undefined);\n\n const IconComponent = (severityValue: Severity) => {\n switch (severityValue) {\n case 'error':\n // As per spec acc label is required only for error severity icon.\n return <ErrorS color=\"danger\" accessibleLabel={translations.tabBar_tabContainsErrors()} />;\n case 'warning':\n return <WarningS color=\"warning\" />;\n case 'info':\n return <InformationS color=\"info\" />;\n case 'confirmation':\n return <SuccessS color=\"success\" />;\n default:\n return null;\n }\n };\n\n const { direction } = useUser();\n const makeFocusRingVisible =\n showFocusRingOverride !== undefined ? showFocusRingOverride : showFocusRing;\n const makeSelectionVisible = selectionOverride !== undefined ? selectionOverride : isSelected;\n const {\n classes,\n styles: {\n tabBarItemIcon,\n tabBarItemIconStacked,\n tabBarItemMetadata,\n tabBarItemStackedBadge,\n tabBarItemStackedBadgeRtl,\n tabBarItemRemoveIcon,\n tabBarItemLabel,\n tabBarItemLabelTruncated,\n tabBarItemLink\n }\n } = useComponentTheme<TabBarItemVariantOptions>(TabBarItemRedwoodTheme, {\n selection: makeSelectionVisible ? 'isSelected' : 'notSelected',\n current: isCurrent ? 'isCurrent' : 'notCurrent',\n focusRing: makeFocusRingVisible ? 'showFocusRing' : 'noFocusRing',\n edgeBottom: isEdgeBottom ? 'isBottom' : 'notBottom'\n });\n\n const tabBarItem = classNames([classes]);\n const tabBarItemLabelClasses = classNames([\n tabBarItemLabel,\n labelMaxWidth !== undefined && tabBarItemLabelTruncated\n ]);\n const tabBarItemIconClasses = classNames([\n tabBarItemIcon,\n (isStacked || isIconOnly || !labelRequirement) && tabBarItemIconStacked\n ]);\n const tabBarItemMetadataClasses = classNames([tabBarItemMetadata]);\n const tabBarItemStackedBadgeClasses = classNames([\n tabBarItemStackedBadge,\n direction === 'rtl' && tabBarItemStackedBadgeRtl\n ]);\n const removeClass = classNames([tabBarItemRemoveIcon]);\n const tabBarItemLinkClasses = classNames([tabBarItemLink]);\n\n const styleInterpolations = mergeInterpolations<\n FlexitemProps & DimensionProps & BoxAlignmentProps\n >([\n ...Object.values(flexitemInterpolations),\n ...Object.values(dimensionInterpolations),\n ...Object.values(boxAlignmentInterpolations)\n ]);\n\n //This is for simple item where height and width need to be specified on the main div.\n const tabDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto',\n minWidth: '10.5x',\n height: isTall ? tabBarItemVars.lgHeight : tabBarItemVars.mdHeight,\n //This is needed for gap between icon/ label and remove icon in labelIconRenderer\n gap: '2x'\n });\n\n //This is for complex item, where only flex dimensions needs to be applied as height and width comes from child Flex component.\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const maxWithInterpolation = mergeInterpolations<DimensionProps>([\n ...Object.values(dimensionInterpolations)\n ]);\n\n //The threshold for truncation is labelMinWidth: 96px as per spec.\n const labelMinWidth = '96px';\n const maxWidthDimensions = maxWithInterpolation({\n maxWidth: labelMaxWidth !== undefined ? `calc(max(${labelMinWidth},${labelMaxWidth}))` : '100%'\n });\n\n const { detectTruncationProps, isTextTruncated } = useDetectTruncation(\n labelMaxWidth === undefined\n );\n const showTooltip = isIconOnly || isTextTruncated;\n const { tooltipContent, tooltipEventHandlerProps, onLogicalFocus, onLogicalBlur } =\n useTabBarItemTooltip({ label, isDisabled: !showTooltip });\n if (showTooltip) {\n if (isCurrent && showFocusRing && !hideTooltip) {\n onLogicalFocus(ref.current as HTMLElement);\n } else if (!isCurrent || (isCurrent && !showFocusRing) || hideTooltip) {\n onLogicalBlur();\n }\n }\n\n const isComplexItem = badge || metadata || severity !== 'none' || isStacked || isIconOnly;\n const isLinkItem = href != null;\n\n const labelIconRenderer = () => {\n return (\n <>\n <Flex align=\"center\" justify=\"center\" flex=\"1 1 auto\" gap=\"2x\">\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </>\n );\n };\n\n const complexItemRenderer = () => {\n return (\n <Flex flex=\"1 1 auto\">\n <Flex\n minWidth=\"10.5x\"\n minHeight={isTall ? tabBarItemVars.lgHeight : '100%'}\n height={\n isStacked && labelRequirement ? tabBarItemVars.stackedHeight : tabBarItemVars.mdHeight\n }\n direction={isStacked && labelRequirement ? 'column' : 'row'}\n gap=\"2x\"\n align=\"center\"\n justify=\"center\"\n alignSelf=\"center\"\n flex=\"1 1 auto\">\n {(isStacked || isIconOnly) && (\n <div class={tabBarItemIconClasses}>\n {\n // JET-79198 - The label is made hidden so that in can be read out by screen readers and we will not need aria-label at role=\"tab\" level to include all the content in it's children\n isIconOnly && <HiddenAccessible id=\"hiddenLabel\">{label}</HiddenAccessible>\n }\n {icon}\n <span class={tabBarItemStackedBadgeClasses}>\n {badge ? (\n <Badge size=\"xs\" variant=\"neutral\">\n {badge}\n </Badge>\n ) : null}\n </span>\n </div>\n )}\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n {!isStacked && !isIconOnly && badge && labelRequirement && (\n <span data-oj-tab-badge={badge}>\n <Badge size=\"md\" variant=\"neutralSubtle\">\n {badge}\n </Badge>\n </span>\n )}\n {metadata && (\n <span class={tabBarItemMetadataClasses} data-oj-tab-metadata={metadata}>\n <Text size=\"md\" weight=\"normal\">\n {'( ' + metadata + ' )'}\n </Text>\n </span>\n )}\n {severityRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-severity={severity}>\n {IconComponent(severity)}\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </Flex>\n );\n };\n\n const tabBarItemRenderer = () => {\n return (\n <div\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n class={tabBarItem}\n role=\"tab\"\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n ref={ref}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n {tooltipContent}\n </div>\n );\n };\n\n const tabBarLinkItemRenderer = () => {\n return (\n <span\n ref={ref}\n class={tabBarItem}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n <a\n onClick={onClickLink}\n class={tabBarItemLinkClasses}\n href={href}\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n role=\"tab\"\n tabindex={-1}\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n </a>\n {tooltipContent}\n </span>\n );\n };\n return isLinkItem ? tabBarLinkItemRenderer() : tabBarItemRenderer();\n}\n","import { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\n\nexport type TabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n/**\n * TabBarItem content can be created by using labels or icons or both.\n */\nexport function TabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: TabBarItemProps<K>) {\n return (\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n />\n );\n}\n","import { useCallback } from 'preact/hooks';\nimport { useHover } from '../hooks/UNSAFE_useHover';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { Close } from '../UNSAFE_RedwoodIcons/Close';\nimport { Flex } from '../UNSAFE_Flex';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { useTabBarContext } from './useTabBarContext';\nimport { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\n\ntype RemovableTabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n\nexport function RemovableTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: RemovableTabBarItemProps<K>) {\n const { selection, currentKey, layout, onRemove } = useTabBarContext();\n const isSelected = selection === itemKey;\n const isCurrent = currentKey === itemKey;\n\n const handleRemove = useCallback(() => {\n onRemove?.({ value: itemKey as K });\n }, [onRemove, itemKey]);\n\n const { hoverProps, isHover } = useHover({});\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n //TODO: In addition to aria-label a genric instruction is required for keyboard deletion\n //common to al tabs,after feedback from Curt's investigations.\n return (\n <div {...hoverProps} style={flexDimensions}>\n <Flex>\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n removeIcon={\n <span data-oj-tabbar-item-remove-icon=\"true\">\n <EmbeddedIconButton\n aria-label={translations.tabBarNavigationList_removeCueText()}\n size=\"xs\"\n onAction={handleRemove}>\n {(isHover || isSelected || isCurrent) && <Close />}\n </EmbeddedIconButton>\n </span>\n }\n />\n </Flex>\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates. All rights reserved.\n * https://www.oracle.com/contracts/docs/cloud_csa_online_v062223_us_eng.pdf?download=false&er=221886\n * @ignore\n */\n// DO NOT MODIFY THIS FILE MANUALLY!\n// This file is automatically generated based on the corresponding SVG image in\n// the packages/oraclejet-preact/resources/icons folder.\nimport { ComponentProps } from 'preact';\nimport { Icon } from '../../UNSAFE_Icon';\ntype Props = Omit<ComponentProps<typeof Icon>, 'viewBox' | 'children'>;\nconst SvgOverflowH = (props: Props) => (\n <Icon viewBox=\"0 0 24 24\" {...props}>\n <g fill=\"none\">\n <path\n d=\"M6 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"\n fill=\"currentcolor\"\n />\n </g>\n </Icon>\n);\nexport { SvgOverflowH as OverflowH };\n","import { ComponentChild, ComponentProps, createRef } from 'preact';\nimport { useCallback, useRef, useEffect } from 'preact/hooks';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { getClientHints } from '../utils/PRIVATE_clientHints';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport {\n NavigationListItem,\n NavigationList,\n RemovableNavigationListItem,\n FocusableHandle,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationList';\nimport { OverflowH } from '../UNSAFE_RedwoodIcons/OverflowH';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Dropdown } from '../UNSAFE_Dropdown';\nimport { Sheet } from '../UNSAFE_Sheet';\nimport { BaseTabBarItem } from './BaseTabBarItem';\nimport { styles } from './themes/OverflowTabBarItemStyles.css';\nimport { TabBarItem } from './TabBarItem';\n\nexport type OverflowSelectionDetail<K> = {\n value: K;\n};\n\nexport type CloseDetail = {\n /**\n * dismissed represents dismissing the DropDown\n */\n reason: 'dismissed' | 'itemAction' | 'outsideMousedown';\n};\n\nexport type Item<K extends string | number> = Omit<\n ComponentProps<typeof TabBarItem<K>>,\n 'testId' | 'aria-controls'\n> & {\n isRemovable?: boolean;\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n tabPanelId?: string;\n /**\n * Sets the URL that the hyperlink points to.\n */\n href?: string;\n};\n\nexport type OverflowTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n overflowItemKey: K;\n /**\n * Whether to open the popup\n */\n isOpen: boolean;\n /**\n * Property that triggers a callback when DropDown is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n /**\n * The icon of the OverflowTabBarItem\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * An array of data used by NavigationList to render individual overflow items.\n */\n overflowItems?: Item<K>[];\n};\n\n/**\n * An OverflowTabBarItem renders TabBarItems in a device appropriate popup. OverflowTabBarItem is used internally in an OverflowTabBar.\n */\n\nexport function OverflowTabBarItem<K extends string | number>({\n overflowItemKey,\n icon,\n badge,\n overflowItems,\n isOpen,\n onClose\n}: OverflowTabBarItemProps<K>) {\n const { selection, showFocusRing, isEdgeBottom, onSelect, onRemove, layout } = useTabBarContext();\n\n const isPointerSelection = useRef<boolean>(false);\n\n // Reset pointer selection flag when the popup closes so keyboard navigation\n // restores focus-visible on the overflow trigger.\n useEffect(() => {\n if (!isOpen) {\n isPointerSelection.current = false;\n }\n }, [isOpen]);\n\n const overflowTabBarItemRef = useRef<HTMLDivElement>(null);\n const navigationListRef = createRef<FocusableHandle>();\n\n const handleSelectionChange = useCallback<\n Required<ComponentProps<typeof NavigationList>>['onSelectionChange']\n >(\n (detail: { value: string | number; reason?: 'pointer' | 'keyboard' }) => {\n if (detail.reason === 'pointer') {\n isPointerSelection.current = true;\n }\n onSelect?.({ value: detail.value });\n onClose?.({ reason: 'itemAction' });\n },\n [onSelect, onClose]\n );\n\n const handleDropdownClose = useCallback(\n (e: CloseDetail) => {\n onClose?.({ reason: e.reason });\n },\n [onClose]\n );\n\n const handleSheetClose = useCallback(() => {\n onClose?.({ reason: 'dismissed' });\n }, [onClose]);\n\n //When NavigationList steals focus the app resets it. Not always would it be reset to\n //parent of OverflowTabBarItem. Though currentKey would be correct, but focusRing would would not be visible\n //Hence we check for isPointerSelection.current\n\n const focusRingRequirement = showFocusRing && !isPointerSelection.current && !getIsMobile();\n\n const overflowContainsKey = (searchKey: K) => {\n return overflowItems?.find((item) => item.itemKey === searchKey) != null;\n };\n\n const currentPanelId = overflowItems?.find((item) => item.itemKey === selection)?.tabPanelId;\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const isSelected = selection !== undefined && overflowContainsKey(selection as K);\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const navContainerClasses = classNames([styles.navContainerBase]);\n\n const navContainerRef = useRef<HTMLDivElement>(null);\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n navigationListRef.current?.focus();\n }\n },\n [navigationListRef]\n );\n const getNavigationList = useCallback(() => {\n return (\n <div onKeyDown={handleKeyDown} tabIndex={0} ref={navContainerRef} class={navContainerClasses}>\n <NavigationList\n ref={navigationListRef}\n selection={selection}\n onSelectionChange={handleSelectionChange}\n onRemove={onRemove}>\n {overflowItems?.map((item) =>\n item.href != null ? (\n <NavigationListLinkItem\n href={item.href}\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : item.isRemovable ? (\n <RemovableNavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : (\n <NavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n )\n )}\n </NavigationList>\n </div>\n );\n }, [\n handleKeyDown,\n navContainerClasses,\n navigationListRef,\n selection,\n handleSelectionChange,\n onRemove,\n overflowItems\n ]);\n\n return (\n <>\n {overflowItems && overflowItems.length > 0 && (\n <div ref={overflowTabBarItemRef} style={flexDimensions}>\n <BaseTabBarItem\n aria-controls={currentPanelId}\n itemKey={overflowItemKey}\n label={translations.overflowItemLabel()}\n icon={icon ? icon : <OverflowH />}\n badge={badge}\n showFocusRingOverride={focusRingRequirement}\n selectionOverride={isSelected}\n displayOverride={'icons'}\n aria-haspopup={true}\n />\n </div>\n )}\n {getIsMobile() ? (\n <Sheet isOpen={isOpen} onClose={handleSheetClose} initialFocus=\"firstFocusable\">\n {getNavigationList()}\n </Sheet>\n ) : (\n <Dropdown\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={handleDropdownClose}\n placement={isEdgeBottom ? 'top-end' : 'bottom-end'}\n anchorRef={overflowTabBarItemRef}>\n {getNavigationList()}\n </Dropdown>\n )}\n </>\n );\n}\n\nconst getIsMobile = () => {\n const { deviceRenderMode } = getClientHints();\n return deviceRenderMode === 'phone';\n};\n"],"names":["useTranslationBundle","useTabBarContext","useConveyorBeltItem","useCallback","usePress","_jsx","ErrorS","WarningS","InformationS","SuccessS","useUser","useComponentTheme","TabBarItemRedwoodTheme","classNames","mergeInterpolations","flexitemInterpolations","dimensionInterpolations","boxAlignmentInterpolations","tabBarItemVars","useDetectTruncation","useTabBarItemTooltip","_jsxs","_Fragment","Flex","Text","HiddenAccessible","Badge","mergeProps","useHover","EmbeddedIconButton","Close","Icon","useRef","useEffect","createRef","styles","NavigationList","NavigationListLinkItem","RemovableNavigationListItem","NavigationListItem","OverflowH","Sheet","Dropdown","getClientHints"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var BaseCardView = require('./BaseCardView-
|
|
6
|
+
var BaseCardView = require('./BaseCardView-ba63723a.js');
|
|
7
7
|
require('preact/jsx-runtime');
|
|
8
8
|
require('preact');
|
|
9
9
|
require('preact/compat');
|
package/cjs/PRIVATE_TableList.js
CHANGED
|
@@ -43,6 +43,8 @@ var useInteractionStyle = require('./useInteractionStyle-c203a8a0.js');
|
|
|
43
43
|
var Selector = require('./Selector-6550b8e0.js');
|
|
44
44
|
var PRIVATE_TableCommon_themes_Common_css = require('./PRIVATE_TableCommon/themes/Common.css.js');
|
|
45
45
|
var PRIVATE_TableList_themes_ListCellStyles_css = require('./PRIVATE_TableList/themes/ListCellStyles.css.js');
|
|
46
|
+
require('./StyledCheckbox-9047ed7d.js');
|
|
47
|
+
|
|
46
48
|
var PRIVATE_TableList_themes_ListSkeletonStyles_css = require('./PRIVATE_TableList/themes/ListSkeletonStyles.css.js');
|
|
47
49
|
var dimensions$1 = require('./dimensions-6101ca1f.js');
|
|
48
50
|
var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
|
|
@@ -95,7 +97,8 @@ require('./useToggle-3ebba7d8.js');
|
|
|
95
97
|
require('./useActive-6770f917.js');
|
|
96
98
|
require('./BaseSelector-2dc69917.js');
|
|
97
99
|
require('./useFocus-1b288fb9.js');
|
|
98
|
-
require('./
|
|
100
|
+
require('./PRIVATE_BaseSelector/themes/SelectorStyles.css.js');
|
|
101
|
+
|
|
99
102
|
require('./Check-1272bb86.js');
|
|
100
103
|
require('./Icon-56789beb.js');
|
|
101
104
|
require('./size-1914356b.js');
|
|
@@ -130,9 +133,6 @@ require('./UNSAFE_Checkbox/themes/redwood/CheckboxIconVariants.css.js');
|
|
|
130
133
|
|
|
131
134
|
require('./useTabbableMode-dbd254e8.js');
|
|
132
135
|
|
|
133
|
-
require('./PRIVATE_BaseSelector/themes/SelectorStyles.css.js');
|
|
134
|
-
|
|
135
|
-
|
|
136
136
|
|
|
137
137
|
require('./mergeDeepWithKey-210b024d.js');
|
|
138
138
|
require('./_isObject-28636267.js');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.SegmentStyles_base__kzheun0 {
|
|
2
2
|
caret-color: transparent;
|
|
3
3
|
text-align: end;
|
|
4
4
|
-webkit-tap-highlight-color: transparent;
|
|
@@ -6,35 +6,32 @@
|
|
|
6
6
|
user-select: none;
|
|
7
7
|
-webkit-user-select: none;
|
|
8
8
|
}
|
|
9
|
-
.
|
|
9
|
+
.SegmentStyles_base__kzheun0:focus-visible {
|
|
10
10
|
outline: none;
|
|
11
11
|
}
|
|
12
|
-
.
|
|
12
|
+
.SegmentStyles_literalBase__kzheun1 {
|
|
13
13
|
white-space: pre;
|
|
14
14
|
-webkit-user-select: none;
|
|
15
15
|
-moz-user-select: none;
|
|
16
16
|
user-select: none;
|
|
17
17
|
}
|
|
18
|
-
.
|
|
18
|
+
.SegmentStyles_placeholder__kzheun2 {
|
|
19
19
|
color: var(--oj-c-text-icon-secondary);
|
|
20
20
|
text-align: start;
|
|
21
21
|
}
|
|
22
|
-
.
|
|
23
|
-
width: 4px;
|
|
24
|
-
}
|
|
25
|
-
.SegmentStyles_selected__51w8ze4 {
|
|
22
|
+
.SegmentStyles_selected__kzheun3 {
|
|
26
23
|
background-color: var(--oj-c-surface-selected);
|
|
27
24
|
border-color: var(--oj-c-border-selected);
|
|
28
25
|
}
|
|
29
|
-
.
|
|
26
|
+
.SegmentStyles_highlighted__kzheun4 {
|
|
30
27
|
background-color: var(--oj-c-surface-selected);
|
|
31
28
|
}
|
|
32
|
-
.
|
|
29
|
+
.SegmentStyles_hidden__kzheun5 {
|
|
33
30
|
display: none;
|
|
34
31
|
}
|
|
35
|
-
.
|
|
32
|
+
.SegmentStyles_notHidden__kzheun6 {
|
|
36
33
|
display: block;
|
|
37
34
|
}
|
|
38
|
-
.
|
|
35
|
+
.SegmentStyles_accessibleTouchTarget__kzheun7 {
|
|
39
36
|
min-width: 24px;
|
|
40
37
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.SegmentStyles_base__51w8ze0 {
|
|
2
2
|
caret-color: transparent;
|
|
3
3
|
text-align: end;
|
|
4
4
|
-webkit-tap-highlight-color: transparent;
|
|
@@ -6,32 +6,35 @@
|
|
|
6
6
|
user-select: none;
|
|
7
7
|
-webkit-user-select: none;
|
|
8
8
|
}
|
|
9
|
-
.
|
|
9
|
+
.SegmentStyles_base__51w8ze0:focus-visible {
|
|
10
10
|
outline: none;
|
|
11
11
|
}
|
|
12
|
-
.
|
|
12
|
+
.SegmentStyles_literalBase__51w8ze1 {
|
|
13
13
|
white-space: pre;
|
|
14
14
|
-webkit-user-select: none;
|
|
15
15
|
-moz-user-select: none;
|
|
16
16
|
user-select: none;
|
|
17
17
|
}
|
|
18
|
-
.
|
|
18
|
+
.SegmentStyles_placeholder__51w8ze2 {
|
|
19
19
|
color: var(--oj-c-text-icon-secondary);
|
|
20
20
|
text-align: start;
|
|
21
21
|
}
|
|
22
|
-
.
|
|
22
|
+
.SegmentStyles_space__51w8ze3 {
|
|
23
|
+
width: 4px;
|
|
24
|
+
}
|
|
25
|
+
.SegmentStyles_selected__51w8ze4 {
|
|
23
26
|
background-color: var(--oj-c-surface-selected);
|
|
24
27
|
border-color: var(--oj-c-border-selected);
|
|
25
28
|
}
|
|
26
|
-
.
|
|
29
|
+
.SegmentStyles_highlighted__51w8ze5 {
|
|
27
30
|
background-color: var(--oj-c-surface-selected);
|
|
28
31
|
}
|
|
29
|
-
.
|
|
32
|
+
.SegmentStyles_hidden__51w8ze6 {
|
|
30
33
|
display: none;
|
|
31
34
|
}
|
|
32
|
-
.
|
|
35
|
+
.SegmentStyles_notHidden__51w8ze7 {
|
|
33
36
|
display: block;
|
|
34
37
|
}
|
|
35
|
-
.
|
|
38
|
+
.SegmentStyles_accessibleTouchTarget__51w8ze8 {
|
|
36
39
|
min-width: 24px;
|
|
37
40
|
}
|