@oracle/oraclejet-preact 20.0.3 → 20.0.4
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/{BarChart-f429b382.js → BarChart-994cb8f0.js} +2 -2
- package/amd/{BarChart-f429b382.js.map → BarChart-994cb8f0.js.map} +1 -1
- package/amd/BaseCardView-16fda4c3.js +2 -0
- package/amd/{BaseCardView-b8119561.js.map → BaseCardView-16fda4c3.js.map} +1 -1
- package/amd/CardFlexView-d3eb7373.js +2 -0
- package/amd/{CardFlexView-aa2f3de8.js.map → CardFlexView-d3eb7373.js.map} +1 -1
- package/amd/CardGridView-842f70cd.js +2 -0
- package/amd/{CardGridView-85f90c75.js.map → CardGridView-842f70cd.js.map} +1 -1
- package/amd/{Chart-57965de4.js → Chart-d9eafc7a.js} +2 -2
- package/amd/{Chart-57965de4.js.map → Chart-d9eafc7a.js.map} +1 -1
- package/amd/CheckboxSetContext-2e486ea8.js +2 -0
- package/amd/CheckboxSetContext-2e486ea8.js.map +1 -0
- package/amd/{ComboChart-c42ed049.js → ComboChart-5a6f6c8a.js} +2 -2
- package/amd/{ComboChart-c42ed049.js.map → ComboChart-5a6f6c8a.js.map} +1 -1
- package/amd/{LineAreaChart-48efb7f7.js → LineAreaChart-47fc17d2.js} +2 -2
- package/amd/{LineAreaChart-48efb7f7.js.map → LineAreaChart-47fc17d2.js.map} +1 -1
- package/amd/ListView-02a92d18.js +2 -0
- package/amd/{ListView-2678b2af.js.map → ListView-02a92d18.js.map} +1 -1
- package/amd/NavigationListItem-9df5446c.js +2 -0
- package/amd/NavigationListItem-9df5446c.js.map +1 -0
- package/amd/NavigationListLinkItem-161049bb.js +2 -0
- package/amd/NavigationListLinkItem-161049bb.js.map +1 -0
- package/amd/{OverflowTabBar-f8bf9356.js → OverflowTabBar-5ff68da7.js} +2 -2
- package/amd/{OverflowTabBar-f8bf9356.js.map → OverflowTabBar-5ff68da7.js.map} +1 -1
- package/amd/OverflowTabBarItem-926b0c8a.js +2 -0
- package/amd/{OverflowTabBarItem-0aa39512.js.map → OverflowTabBarItem-926b0c8a.js.map} +1 -1
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_Chart.js +1 -1
- package/amd/PRIVATE_TableList.js +1 -1
- package/amd/RemovableNavigationListItem-e298c5de.js +2 -0
- package/amd/{RemovableNavigationListItem-60593d4c.js.map → RemovableNavigationListItem-e298c5de.js.map} +1 -1
- package/amd/ReorderableTabBar-0c69bfd4.js +2 -0
- package/amd/{ReorderableTabBar-19a503c7.js.map → ReorderableTabBar-0c69bfd4.js.map} +1 -1
- package/amd/{ScatterChart-6427e7ec.js → ScatterChart-7bd0f601.js} +2 -2
- package/amd/{ScatterChart-6427e7ec.js.map → ScatterChart-7bd0f601.js.map} +1 -1
- package/amd/TabBar-de723fbc.js +2 -0
- package/amd/{TabBar-92bac52f.js.map → TabBar-de723fbc.js.map} +1 -1
- package/amd/TabBarMixed-cfd346bf.js +2 -0
- package/amd/{TabBarMixed-5b5a5047.js.map → TabBarMixed-cfd346bf.js.map} +1 -1
- package/amd/TextArea-4a3b8b56.js +2 -0
- package/amd/TextArea-4a3b8b56.js.map +1 -0
- package/amd/TextAreaAutosize-3a13ebb2.js +2 -0
- package/amd/{TextAreaAutosize-01dfd98e.js.map → TextAreaAutosize-3a13ebb2.js.map} +1 -1
- package/amd/Theme-redwood/theme.css +181 -181
- package/amd/Theme-stable/theme.css +182 -182
- package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
- package/amd/UNSAFE_BarChart.js +1 -1
- 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_ComboChart.js +1 -1
- package/amd/UNSAFE_LineAreaChart.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_ScatterChart.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/useTextAreaAltEnter-32272da6.js +2 -0
- package/amd/useTextAreaAltEnter-32272da6.js.map +1 -0
- package/cjs/{NavigationList-d0d74565.js → NavigationListItem-3b9eb0fb.js} +8 -21
- package/cjs/NavigationListItem-3b9eb0fb.js.map +1 -0
- package/cjs/{NavigationListLinkItem-317a5200.js → NavigationListLinkItem-62c3912e.js} +99 -8
- package/cjs/NavigationListLinkItem-62c3912e.js.map +1 -0
- package/cjs/{OverflowTabBarItem-19ad4971.js → OverflowTabBarItem-abcd2327.js} +4 -6
- package/cjs/{OverflowTabBarItem-19ad4971.js.map → OverflowTabBarItem-abcd2327.js.map} +1 -1
- package/cjs/{TabBar-d84e222e.js → TabBar-4bc753a9.js} +1 -7
- package/{es/TabBar-67ca442c.js.map → cjs/TabBar-4bc753a9.js.map} +1 -1
- package/cjs/{TabBarLinkItem-e924f83b.js → TabBarLinkItem-b0c4b100.js} +2 -2
- package/cjs/{TabBarLinkItem-e924f83b.js.map → TabBarLinkItem-b0c4b100.js.map} +1 -1
- package/cjs/Theme-redwood/theme.css +130 -130
- package/cjs/Theme-stable/theme.css +220 -220
- package/cjs/UNSAFE_NavigationList.js +15 -17
- package/cjs/UNSAFE_NavigationList.js.map +1 -1
- package/cjs/UNSAFE_NavigationListCommon.js +13 -14
- package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
- package/cjs/UNSAFE_OverflowTabBar.js +59 -62
- package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
- package/cjs/UNSAFE_ReorderableTabBar.js +19 -32
- package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
- package/cjs/UNSAFE_TabBar.js +60 -63
- package/cjs/UNSAFE_TabBar.js.map +1 -1
- package/cjs/UNSAFE_TabBarCommon.js +75 -78
- package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
- package/cjs/UNSAFE_TabBarMixed.js +33 -36
- package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
- package/es/{BaseCardView-b3d8bae0.js → BaseCardView-85b9a71e.js} +1 -4
- package/es/{BaseCardView-b3d8bae0.js.map → BaseCardView-85b9a71e.js.map} +1 -1
- package/es/ButtonLayoutVariants.styles.css +2 -2
- package/es/ButtonLayoutVariants.styles2.css +2 -2
- package/es/CheckboxSetContext-1be56556.js +9 -0
- package/es/CheckboxSetContext-1be56556.js.map +1 -0
- package/es/{ColorPicker-ae648c4c.js → ColorPicker-fa103067.js} +2 -2
- package/es/{ColorPicker-ae648c4c.js.map → ColorPicker-fa103067.js.map} +1 -1
- package/es/PRIVATE_BaseCardView.js +1 -1
- package/es/PRIVATE_CollapsibleNavigationList.js +25 -25
- package/es/PRIVATE_TableList.js +4 -4
- package/es/SegmentStyles.styles.css +12 -9
- package/es/SegmentStyles.styles2.css +9 -12
- package/es/{TabBar-67ca442c.js → TabBar-10488830.js} +1 -3
- package/{cjs/TabBar-d84e222e.js.map → es/TabBar-10488830.js.map} +1 -1
- package/es/Theme-redwood/theme.css +401 -401
- package/es/Theme-stable/theme.css +451 -451
- package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutTheme.js +1 -1
- package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutVariants.css.js +1 -1
- package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutTheme.js +1 -1
- package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutVariants.css.js +1 -1
- package/es/UNSAFE_ButtonLayout.js +1 -1
- package/es/UNSAFE_CardFlexView.js +1 -1
- package/es/UNSAFE_CardGridView.js +1 -1
- package/es/UNSAFE_CheckboxItem.js +61 -122
- package/es/UNSAFE_CheckboxItem.js.map +1 -1
- package/es/UNSAFE_CheckboxSet.js +49 -15
- package/es/UNSAFE_CheckboxSet.js.map +1 -1
- package/es/UNSAFE_ColorPicker.js +25 -25
- package/es/UNSAFE_FlatTreeView.js +14 -14
- package/es/UNSAFE_InputColor.js +2 -2
- package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputDateMask.js +1 -1
- package/es/UNSAFE_InputDatePicker.js +1 -1
- package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputTimeMask.js +1 -1
- package/es/UNSAFE_ListView.js +53 -53
- package/es/UNSAFE_OverflowTabBar.js +10 -10
- package/es/UNSAFE_ReorderableTabBar.js +12 -12
- package/es/UNSAFE_RichCheckboxSet.js +42 -46
- package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/es/UNSAFE_RichSelectionItem.js +89 -152
- package/es/UNSAFE_RichSelectionItem.js.map +1 -1
- package/es/UNSAFE_TabBar.js +10 -10
- package/es/UNSAFE_TabBarMixed.js +8 -8
- package/es/UNSAFE_TextArea.js +226 -106
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +1 -1
- package/es/UNSAFE_Toolbar.js +1 -1
- package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
- package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
- package/package.json +2 -2
- package/amd/BaseCardView-b8119561.js +0 -2
- package/amd/CardFlexView-aa2f3de8.js +0 -2
- package/amd/CardGridView-85f90c75.js +0 -2
- package/amd/CheckboxSet-f000e5c2.js +0 -2
- package/amd/CheckboxSet-f000e5c2.js.map +0 -1
- package/amd/ListView-2678b2af.js +0 -2
- package/amd/NavigationList-a6bb123d.js +0 -2
- package/amd/NavigationList-a6bb123d.js.map +0 -1
- package/amd/NavigationListItem-10bf6656.js +0 -2
- package/amd/NavigationListItem-10bf6656.js.map +0 -1
- package/amd/NavigationListLinkItem-df1826e6.js +0 -2
- package/amd/NavigationListLinkItem-df1826e6.js.map +0 -1
- package/amd/OverflowTabBarItem-0aa39512.js +0 -2
- package/amd/RemovableNavigationListItem-60593d4c.js +0 -2
- package/amd/ReorderableTabBar-19a503c7.js +0 -2
- package/amd/TabBar-92bac52f.js +0 -2
- package/amd/TabBarMixed-5b5a5047.js +0 -2
- package/amd/TextArea-345f89d4.js +0 -2
- package/amd/TextArea-345f89d4.js.map +0 -1
- package/amd/TextAreaAutosize-01dfd98e.js +0 -2
- package/amd/useNavigationListItem-582f5564.js +0 -2
- package/amd/useNavigationListItem-582f5564.js.map +0 -1
- package/cjs/NavigationList-d0d74565.js.map +0 -1
- package/cjs/NavigationListItem-b0b03089.js +0 -12
- package/cjs/NavigationListItem-b0b03089.js.map +0 -1
- package/cjs/NavigationListLinkItem-317a5200.js.map +0 -1
- package/cjs/useNavigationListItem-b97e76d5.js +0 -104
- package/cjs/useNavigationListItem-b97e76d5.js.map +0 -1
- package/es/CheckboxSet-3aab5935.js +0 -51
- package/es/CheckboxSet-3aab5935.js.map +0 -1
- package/es/TextArea-93ce78a7.js +0 -225
- package/es/TextArea-93ce78a7.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './mergeProps-bcfa6a92', './collectionUtils-77dc5fa1', './ReorderableContext-6d10a1b7', './useNavigation-4d87e7e6', './LayerHost-0b288129', './useSelection-aecb6b23', './clientHints-6d361eaa', './classNames-08d99695', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css', './HiddenAccessible-037ef42d', './LoadMoreCollection-895f1ed5', './PRIVATE_BaseCardView/themes/BaseCardViewStyles.css', './refUtils-77e97004', './logger-0f873e29', './tabbableUtils-f95361a6', './useId-c9578d26', './useAnimation-d90c433f', './useResizeObserver-25032462', './TabbableModeContext-a9c97640', './FocusTrap-038b32c3', './useUser-08901aba', './keys-4755c121', './useReorderableItem-7b4b2c3d', './useReorderableContext-a5453bd7', './Grid-caac1c86', './Flex-4b81b412', './PRIVATE_BaseCardView/themes/BaseCardViewContract.css', './Skeleton-3e52c94a', 'module', './useAddBusyState-8ed5cc58'], (function(e,t,r,n,o,s,i,a,l,c,d,u,y,m,h,g,f,x,p,b,C,R,S,v,A,I,w,K,j,B,E,k,T,D,L,P){"use strict";const O="[data-oj-card-item]",V={all:!1,keys:new Set},F={xs:12,sm:16,md:24,lg:48,xl:64};function M({children:e,itemKey:r,itemIndex:n,isCurrentKey:s,dragKey:i,setDragKey:a,onReorder:l,rootRef:c,gutterSize:d,columns:u}){const m=o.useRef(null),h=1===u,g=n%u==0,f=n%u==u-1,p=x.multiVariantStyles({itemOverlayFront:d}),b=x.multiVariantStyles({itemOverlayFrontVertical:d}),C={itemOverlayFront:h?b:p,itemOverlayRear:h?x.styles.itemOverlayRearVertical:x.styles.itemOverlayRear,itemDragger:x.styles.itemDragger},R=o.useCallback((()=>m?.current?.closest(O)),[]),S=o.useCallback((e=>{e.dataTransfer?.setData("text/cardview-items-key",JSON.stringify(r))}),[r]),{rootProps:v,isDragged:A,overlayZoneBeforeProps:I,overlayZoneAfterProps:E}=j.useReorderableItem({isDisabled:!l,dragKey:i,setDragKey:a,onReorder:l,rootRef:c,ref:m,getItem:R,setTransferData:S,itemStyles:C,itemSelector:O,isVertical:h}),{currentItemKey:k}=B.useReorderableContext();o.useEffect((()=>{s&&(k.current=r)}),[s,r,k]);const{direction:T}=w.useUser(),D="rtl"===T,L=y.classNames([I?.class,!h&&!D&&g&&x.styles.itemOverlayFrontEdge,!h&&D&&f&&x.styles.itemOverlayFrontEdge]),P=y.classNames([E?.class,!h&&!D&&f&&x.styles.itemOverlayRearEdge,!h&&D&&g&&x.styles.itemOverlayRearEdge]);return t.jsxs("div",{...v,children:[e,!A&&K.isKeyDefined(i)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{...I,class:L}),t.jsx("div",{...E,class:P})]})]})}const z=e=>({animationStates:{slideUp:{from:{translateY:"50px"},to:{translateY:"0px"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}},slideDown:{from:{translateY:"-50px"},to:{translateY:"0"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}}},isAnimatedOnMount:!0}),N=(e,t,r)=>({animationStates:{opacity:{from:{opacity:0},to:{opacity:1},options:{duration:150,delay:50*e,easing:"linear"}}},isAnimatedOnMount:!0,onAnimationEnd:()=>{r?.(),t.current&&clearTimeout(t.current)}}),_=n.memo((function({children:e,itemKey:r,itemData:n,itemIndex:s,isTabbable:a,isCurrentKey:l,isFocused:c,isFocusRingVisible:d,selectedKeys:u,selectionMode:m,onSelectionChange:h,focusBehavior:g,setIsFocusBehaviorValid:f,initialAnimation:w,isGridLayout:j,updateCardSize:B,reorderItemProps:E,onAnimationBusyStart:k,onAnimationBusyEnd:T}){const D=o.useRef(null),L=o.useRef(),P=c&&d,O=x.multiVariantStyles({itemFocused:"card"===g&&P?"isItemFocused":"isNotItemFocused",itemInitialOpacity:w?"isTransparent":"isNotTransparent",itemInGridLayout:j?"isInGridLayout":"isNotInGridLayout"}),V=y.classNames([x.styles.itemStyle,O]),F=o.useCallback((e=>{B?.(e.contentRect.width,e.contentRect.height)}),[B]),_=o.useRef(null);v.useResizeObserver(B?D:_,F),o.useLayoutEffect((()=>{if("content"===g&&P){const e=D.current?.firstElementChild?.firstElementChild,t=C.allTabbableElements(e,!0,!0);0===t.length||t.length>1?(b.warn(`${t.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`),f?.(!1)):t[0].focus()}}),[g,P,f]);const{nodeRef:H,controller:U}=S.useAnimation(w||"none",z(s)),{nodeRef:Y,controller:G}=S.useAnimation(w?"opacity":"none",N(s,L,T));w&&k?.(),o.useEffect((()=>{void 0!==w&&(L.current=setTimeout((()=>{U.cancel(),G.cancel(),D.current&&(D.current.style.opacity="1"),T?.()}),1e3))}),[G,U,w,T]);const $=o.useMemo((()=>void 0===w?p.mergeRefs(D):p.mergeRefs(D,H,Y)),[D,H,Y,w]),W=i.getItemContext({data:{data:n,metadata:{key:r}},index:s},u,"multiple"===m,h),Z=E?t.jsx(M,{...E,itemKey:r,itemIndex:s,isCurrentKey:l,children:e(W)}):e(W);return t.jsx("div",{id:R.useId(),ref:$,class:V,role:"gridcell","data-oj-card-item":"","data-oj-key":r,onKeyDown:e=>{"card"!==g||!a||"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.stopPropagation()},"aria-selected":"none"===m?void 0:K.containsKey(u,r),..."number"==typeof r&&{"data-oj-key-type":"number"},children:t.jsx(A.TabbableModeContext.Provider,{value:{isTabbable:a},children:t.jsx(I.FocusTrap,{isDisabled:!a,restoreFocusRef:!1,children:Z})})})}),((e,t)=>{return!(!e||!t)&&(e.children===t.children&&e.itemKey===t.itemKey&&e.itemData===t.itemData&&e.itemIndex===t.itemIndex&&e.isTabbable===t.isTabbable&&e.isCurrentKey===t.isCurrentKey&&e.isFocused===t.isFocused&&e.isFocusRingVisible===t.isFocusRingVisible&&e.initialAnimation===t.initialAnimation&&e.focusBehavior===t.focusBehavior&&K.isSameKey(e.selectedKeys,t.selectedKeys)&&e.selectionMode===t.selectionMode&&e.onSelectionChange===t.onSelectionChange&&e.setIsFocusBehaviorValid===t.setIsFocusBehaviorValid&&e.isGridLayout===t.isGridLayout&&e.updateCardSize===t.updateCardSize&&e.onAnimationBusyStart===t.onAnimationBusyStart&&e.onAnimationBusyEnd===t.onAnimationBusyEnd&&(r=e.reorderItemProps,n=t.reorderItemProps,r?.dragKey===n?.dragKey&&r?.setDragKey===n?.setDragKey&&r?.columns===n?.columns&&r?.gutterSize===n?.gutterSize&&r?.rootRef===n?.rootRef));var r,n}));function H({children:e,layout:r,gutterSize:n,columns:o}){const s=T.cardViewVars.gutterSize[n];return"grid"===r?o<1?null:t.jsx(E.Grid,{gridTemplateColumns:`repeat(${o}, 1fr)`,gap:s,children:e}):t.jsx(k.Flex,{wrap:"wrap",gap:s,children:e})}function U({children:e}){const[n,s]=o.useState(!1);return o.useEffect((()=>{setTimeout((()=>{s(!0)}),50)}),[]),n?t.jsx(r.Fragment,{children:e}):t.jsx("div",{class:f.LOADMORE_STYLE_CLASS})}const Y=(e,r=25,n,o,s=!0)=>{const i=n||("flex"===e?"80x":"100%"),a=o||"85x";return[...Array(r)].map(((e,r)=>t.jsx(D.Skeleton,{width:i,height:a,borderRadius:"6px"},s&&`${r}${(new Date).getTime()}`)))},G=e=>t.jsx(U,{children:Y(e.layout)}),$=e=>{const r=[t.jsx("div",{class:f.LOADMORE_STYLE_CLASS,children:Y(e.layout,1)}),...Y(e.layout,24)];return t.jsx(U,{children:r})},W=()=>t.jsx("div",{class:f.LOADMORE_STYLE_CLASS}),Z=e=>{if(e.colCount<1||null==e.cardWidth||null==e.cardHeight)return t.jsx(W,{});{const r=[],n=e.colCount-e.totalCount%e.colCount,o=n===e.colCount,s=`calc(${e.cardWidth}px)`,i=e.cardHeight?`calc(${e.cardHeight}px)`:"85x",a="flex"===e.layout?s:"100%",l="flex"===e.layout||o?i:"100%",c=t.jsx("div",{class:f.LOADMORE_STYLE_CLASS,children:Y(e.layout,1,a,l)});return r.push(c),r.push(Y(e.layout,n-1,a,l)),o||r.push(Y(e.layout,e.colCount,a,i)),t.jsx(U,{children:r})}},J=e=>t.jsx(U,{children:q({loadingStatus:"initial"},25,e.skeletonRenderer)}),X=e=>{const r=[];if(e.isRenderAsInitial){const n={loadingStatus:"initial"};r.push(t.jsx("div",{class:f.LOADMORE_STYLE_CLASS,children:e.skeletonRenderer(n)})),r.push(q(n,24,e.skeletonRenderer))}else{if(0===e.colCount)return null;const n=`calc(${e.cardWidth}px)`,o=`calc(${e.cardHeight}px)`,s=e.colCount-e.totalCount%e.colCount,i=s===e.colCount,a={loadingStatus:"loadMore",height:"flex"===e.layout||i?o:"100%",width:"flex"===e.layout?n:"100%"};r.push(t.jsx("div",{class:f.LOADMORE_STYLE_CLASS,children:e.skeletonRenderer(a)})),r.push(Array(q(a,s-1,e.skeletonRenderer))),i||r.push(q(a,e.colCount,e.skeletonRenderer))}return t.jsx(U,{children:r})},q=(e,t,r)=>Array(t).fill(r(e)),Q=n.forwardRef((({children:e,data:n,onLoadMore:c=()=>{},hasMore:m=!1,getRowKey:h,currentItemOverride:p,onPersistCurrentItem:b,selectionMode:C="none",selectedKeys:R=V,onSelectionChange:S,onReorder:v,viewportConfig:A,focusBehavior:I="card","aria-label":w,"aria-labelledby":K,"aria-describedby":B,initialAnimation:E="slideUp",gutterSize:k="sm",columns:T,layout:D,cardSize:L,updateCardSize:M,skeletonRenderer:z},N)=>{const U=o.useRef(null);o.useImperativeHandle(N,(()=>U.current),[U]);const Y=o.useRef(),W=F[k],q={layout:D,columns:T,gutterSize:k},{onBusyStart:Q,onBusyEnd:te}=P.useAddBusyState("handling initial animation"),re=o.useRef(!0);o.useEffect((()=>{null!=L.height&&null!=L.width&&(re.current=!1)}),[L]);const ne="none"===C?void 0:"multiple"===C,oe=n?n.length:-1,[se,ie]=o.useState(!0),ae=se?I:"card",le=o.useRef(!1),ce=null!=v,de=o.useRef(!1),ue={ArrowUp:e=>i.getPrevNextKeyByCount(n,h,e,-T),ArrowDown:e=>i.getPrevNextKeyByCount(n,h,e,T),ArrowLeft:e=>i.getPrevNextKeyByCount(n,h,e,-1),ArrowRight:e=>i.getPrevNextKeyByCount(n,h,e,1)},{navigationProps:ye,currentKey:me,isCurrentItemOverridden:he,showFocusRing:ge,isCurrentTabbableKey:fe}=l.useNavigation(n,U,ee,O,ue,p,b,A,void 0,"multiple"!==C,"card"===ae,"card"===ae,!1),xe=o.useCallback((e=>{S&&(!1===e.value.all&&e.value.keys.size>0&&(Y.current=Array.from(e.value.keys.values()).pop()),S(e))}),[Y,S]),pe=o.useCallback((e=>{if(n&&S){const t=i.handleSelectionRange(e,n,h);Array.isArray(t)&&("shiftSpace"===e.eventType?Y.current=e.value.start:Y.current=e.value.end,S({value:{all:!1,keys:new Set(t)},target:null}))}}),[n,S,h]),{selectionProps:be}=d.useSelection((e=>e===U.current?void 0===me?null:me:i.keyExtractor(e,O)),R,C,!1,"toggle",xe,Y.current,me,((e,t)=>i.getPrevNextKeyByCount(n,h,e,t?-T:T)),((e,t)=>i.getPrevNextKeyByCount(n,h,e,t?-1:1)),(e=>{if(U.current){const t=i.findElementByKey(U.current,e,O);t&&t.scrollIntoView({block:"nearest"})}}),pe),{reorderProps:Ce,reorderItemProps:Re,reorderContext:Se,reorderInstructionsId:ve,reorderInstructions:Ae}=(({onReorder:e,gutterSize:t,columns:r,rootRef:n,scrollCurrItemIntoView:s})=>{const a=null!=e,[l,c]=o.useState(void 0),{reorderProps:d,reorderContext:u,reorderInstructionsId:y,reorderInstructions:m}=j.useReorderable({onReorder:e,rootRef:n,itemSelector:O,isDisabled:!a,columns:r});return a?{reorderProps:{...d,onDragOver:e=>{i.dragToScroll(e,void 0!==l,n.current),s.current=!1}},reorderItemProps:{dragKey:l,setDragKey:c,onReorder:e,rootRef:n,gutterSize:t,columns:r},reorderContext:u,reorderInstructionsId:y,reorderInstructions:m}:{reorderProps:d,reorderContext:u,reorderInstructionsId:y,reorderInstructions:m}})({onReorder:v,gutterSize:k,columns:T,rootRef:U,scrollCurrItemIntoView:le}),Ie=ce&&t.jsx(t.Fragment,{children:t.jsx("span",{id:ve,children:t.jsx(g.HiddenAccessible,{children:Ae})})});o.useEffect((()=>{if(ce&&null!=me&&U.current){const e=i.findElementByKey(U.current,me,O);e&&le.current&&!he&&(e.scrollIntoView({block:"nearest"}),le.current=!1)}}),[me,n,ce,he]);const we=o.useCallback((()=>{de.current||(de.current=!0,c())}),[de,c]);o.useEffect((()=>{de.current=!1}),[n,m]);const Ke=n?!n.length&&m?z?t.jsx(X,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height,isRenderAsInitial:!0,skeletonRenderer:z}):t.jsx($,{layout:D}):z?t.jsx(X,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height,isRenderAsInitial:!1,skeletonRenderer:z}):t.jsx(Z,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height}):null;A=i.getViewportConfig(U,A);const je=t.jsx("div",{role:"row",children:t.jsx(H,{...q,children:t.jsx(f.LoadMoreCollection,{data:n,hasMore:m,onLoadMore:we,loadMoreIndicator:Ke,loadMoreThreshold:W+4,viewportConfig:A,children:r=>{const o=h(r.data),s=fe(o),i=me===o&&!s,a=i&&ge,l=!!n&&r.index===n.length-1;return t.jsx(_,{itemKey:o,isCurrentKey:me===o,itemData:r.data,itemIndex:r.index,isTabbable:s,isFocused:i,isFocusRingVisible:a,isGridLayout:"grid"===D,selectedKeys:R,selectionMode:C,onSelectionChange:S,focusBehavior:ae,...0===r.index&&re.current&&{onAnimationBusyStart:Q},...l&&re.current&&{onAnimationBusyEnd:te},..."content"===I&&{setIsFocusBehaviorValid:ie},...re.current&&{initialAnimation:E},...0===r.index&&!L.width&&{updateCardSize:M},...ce&&{reorderItemProps:Re},children:e},o)}})})}),Be=t.jsx(H,{...q,children:z?t.jsx(J,{skeletonRenderer:z}):t.jsx(G,{layout:D})}),Ee=!("ios"===u.getClientHints().platform||"android"===u.getClientHints().platform),ke=[x.styles.baseStyle];Ee||ke.push(x.styles.userSelect);const Te=y.classNames(ke);return t.jsxs("div",{...s.mergeProps(ye,be,Ce,{onKeyDown:e=>{"content"===ae&&"Tab"===e.key&&U.current?.focus({preventScroll:!0});ce&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(le.current=!0)}}),ref:U,role:"grid",class:Te,tabIndex:0,"aria-label":w,"aria-labelledby":K,"aria-describedby":ce?ve+" "+B:B,"aria-multiselectable":ne,"aria-rowcount":1,"aria-colcount":oe,children:[t.jsx(a.ReorderableContext.Provider,{value:Se,children:n?n.length||m?je:t.jsx(r.Fragment,{}):Be}),Ie]})})),ee=e=>e.id,te=Q;e.BaseCardView=te,e.getColCount=(e,t,r)=>{if(!t||!r)return 0;const n=Math.floor((r+e)/(e+t));return Math.max(1,n)},e.gutterSizeToPX=F}));
|
|
2
|
-
//# sourceMappingURL=BaseCardView-b8119561.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useResizeObserver-25032462', './BaseCardView-b8119561'], (function(e,t,i,r,a){"use strict";e.CardFlexView=function(e){const s=i.useRef(null),[c,n]=i.useState({}),d=i.useCallback(((e,t)=>{n((i=>({...i,cardWidth:e,cardHeight:t})))}),[]),u=i.useCallback((e=>{const t=e.contentRect.width;c.containerWidth!==t&&n((e=>({...e,containerWidth:t})))}),[c]);r.useResizeObserver(s,u);const o=a.gutterSizeToPX[e.gutterSize||"sm"],h=a.getColCount(o,c.cardWidth,c.containerWidth),l={width:c.cardWidth,height:c.cardHeight};return t.jsx(a.BaseCardView,{...e,ref:s,layout:"flex",columns:h,cardSize:l,updateCardSize:d})}}));
|
|
2
|
-
//# sourceMappingURL=CardFlexView-aa2f3de8.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/hooks', './BaseCardView-b8119561'], (function(e,t,a,i){"use strict";e.CardGridView=function(e){const[r,s]=a.useState({}),d=a.useCallback(((e,t)=>{s({width:e,height:t})}),[]);return t.jsx(i.BaseCardView,{...e,layout:"grid",cardSize:r,updateCardSize:d})}}));
|
|
2
|
-
//# sourceMappingURL=CardGridView-85f90c75.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', './useFormFieldContextProps-08e673cf', 'css!./CheckboxSetStyles.styles.css', './useId-c9578d26', './Flex-4b81b412', './utils-9a3f9606', './CheckboxRadioField-dd884b27'], (function(e,s,t,i,o,a,l,r,n,d,c,u,b,x){"use strict";const h=t.createContext({});var m="CheckboxSetStyles_styles_ul__68p6630";const p=o.forwardRef((({"aria-describedby":e,assistiveText:o,columnSpan:a,direction:d="column",helpSourceLink:p,helpSourceText:C,isDisabled:S,isReadonly:F,isRequired:y=!1,label:k,labelEdge:v,labelStartWidth:R,messages:f,onCommit:g,userAssistanceDensity:j,value:D,children:I,testId:w},A)=>{const P=void 0!==D&&D.size>0,T=c.useId(),{isDisabled:_,isReadonly:E,labelEdge:V,labelStartWidth:W,userAssistanceDensity:q}=l.useFormContext(),L=S??_,z=F??E,B=v??V,M=R??W,N=j??q,U=n.useFormFieldContextProps({hasValue:P,isDisabled:L,isReadonly:z}),G=i.useMemo((()=>({name:T,value:D,onCommit:g})),[T,g,D]),H=t.toChildArray(I).filter(Boolean).map((e=>s.jsx("li",{children:e})));return s.jsx(r.FormFieldContext.Provider,{value:U,children:s.jsx(x.CheckboxRadioField,{"aria-describedby":e,assistiveText:o,baseId:T,columnSpan:a,helpSourceLink:p,helpSourceText:C,isDisabled:L,isReadonly:z,isRequired:y,label:k,labelEdge:B,labelStartWidth:M,parentComponentVariant:"checkboxSet",messages:f,userAssistanceDensity:N,hasValue:P,role:"group",testId:w,ref:A,children:s.jsx(h.Provider,{value:G,children:s.jsx(u.Flex,{direction:d,..."row"===d&&{gap:[0,b.xUnits(8)],wrap:"wrap"},children:s.jsx("ul",{className:m,children:H})})})})})}));e.CheckboxSet=p,e.CheckboxSetContext=h,e.useCheckboxSetContext=()=>i.useContext(h)}));
|
|
2
|
-
//# sourceMappingURL=CheckboxSet-f000e5c2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSet-f000e5c2.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray, JSX } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Flex } from '#UNSAFE_Flex';\nimport { xUnits } from '#UNSAFE_Theme';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <Flex\n direction={direction}\n {...(direction === 'row' && { gap: [0, xUnits(8) as Size], wrap: 'wrap' })}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </Flex>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["CheckboxSetContext","createContext","CheckboxSet","forwardRef","ariaDescribedBy","assistiveText","columnSpan","direction","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","messages","onCommit","userAssistanceDensity","propUserAssistanceDensity","value","children","testId","ref","hasValue","undefined","size","baseId","useId","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formUserAssistanceDensity","useFormContext","formFieldContext","useFormFieldContextProps","checkboxSetContext","useMemo","name","wrappedChildren","toChildArray","filter","Boolean","map","item","_jsx","jsx","FormFieldContext","Provider","CheckboxRadioField","parentComponentVariant","role","Flex","gap","xUnits","wrap","className","styles","useContext"],"mappings":"sXAWA,MAAMA,EAAqBC,EAAaA,cAA0B,iDC8F3D,MAAMC,EAAcC,EAAUA,YACnC,EAEI,mBAAoBC,EACpBC,gBACAC,aACAC,YAAY,SACZC,iBACAC,iBACAC,WAAYC,EACZC,WAAYC,EACZC,cAAa,EACbC,QACAC,UAAWC,EACXC,gBAAiBC,EACjBC,WACAC,WACAC,sBAAuBC,EACvBC,QACAC,WACAC,UAEFC,KAEA,MAAMC,OAAqBC,IAAVL,GAAsBA,EAAMM,KAAO,EAC9CC,EAASC,EAAAA,SAGbtB,WAAYuB,EACZrB,WAAYsB,EACZlB,UAAWmB,EACXjB,gBAAiBkB,EACjBd,sBAAuBe,GACrBC,EAAcA,iBAGZ5B,EAAaC,GAAkBsB,EAC/BrB,EAAaC,GAAkBqB,EAC/BlB,EAAYC,GAAiBkB,EAC7BjB,EAAkBC,GAAuBiB,EACzCd,EAAwBC,GAA6Bc,EAErDE,EAAmBC,EAAAA,yBAAyB,CAChDZ,WACAlB,aACAE,eAGI6B,EAAqBC,EAAAA,SACzB,KAAO,CACLC,KAAMZ,EACNP,QACAH,cAEF,CAACU,EAAQV,EAAUG,IAKfoB,EADgBC,EAAAA,aAAapB,GAAUqB,OAAOC,SACdC,KAAKC,GAASC,MAAA,KAAA,CAAAzB,SAAKwB,MAEzD,OACEC,EAAAC,IAACC,EAAgBA,iBAACC,SAAS,CAAA7B,MAAOe,EAChCd,SAAAyB,EAAAC,IAACG,qBAAkB,CAAA,mBACClD,EAClBC,cAAeA,EACf0B,OAAQA,EACRzB,WAAYA,EACZE,eAAgBA,EAChBC,eAAgBA,EAChBC,WAAYA,EACZE,WAAYA,EACZE,WAAYA,EACZC,MAAOA,EACPC,UAAWA,EACXE,gBAAiBA,EACjBqC,uBAAuB,cACvBnC,SAAUA,EACVE,sBAAuBA,EACvBM,SAAUA,EACV4B,KAAK,QACL9B,OAAQA,EACRC,IAAKA,EACLF,SAAAyB,EAAAC,IAACnD,EAAmBqD,SAAQ,CAAC7B,MAAOiB,EAClChB,SAAAyB,MAACO,EAAAA,KAAI,CACHlD,UAAWA,KACQ,QAAdA,GAAuB,CAAEmD,IAAK,CAAC,EAAGC,EAAMA,OAAC,IAAaC,KAAM,QAASnC,SAC1EyB,EAAAA,IAAI,KAAA,CAAAW,UAAWC,EAASrC,SAAGmB,WAKnC,mEDzLwB,IAAMmB,EAAAA,WAAW/D"}
|
package/amd/ListView-2678b2af.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './LayerHost-0b288129', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css', './ReorderableContext-6d10a1b7', './HiddenAccessible-037ef42d', './List-daac1169', './keys-4755c121', './useReorderableItem-7b4b2c3d', './classNames-08d99695', './UNSAFE_ListView/themes/ListViewStyles.css', './useNavigation-4d87e7e6', './mergeProps-bcfa6a92', './collectionUtils-77dc5fa1', './Menu-1b8fefc5', './MenuItem-85e4ffdc', 'preact', './logger-0f873e29', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './SelectMenuGroupContext-67f24a8f', './UNSAFE_Menu/themes/MenuItemStyles.css', './UNSAFE_Separator/themes/SeparatorStyles.css', 'css!./MenuSeparatorStyles.styles.css', 'module', './UNSAFE_Menu/themes/redwood/MenuSeparatorVariants.css', './menuUtils-8e42385f', 'css!./MenuStyles.styles.css', './useItemAction-3616efde', './useContextMenuGesture-750ef2c6', './LoadMoreCollection-895f1ed5'], (function(e,r,t,o,n,s,i,a,l,c,d,u,m,f,y,I,g,p,C,S,x,R,h,M,b,v,T,E,L,P,O,K,k,_,D,j,w){"use strict";const A=t.memo((function({children:e,dragKey:t,setDragKey:n,onReorder:s,rootRef:i,itemKey:a}){const l=o.useRef(null),c={itemOverlayFront:f.styles.reorderableItemOverlayFront,itemOverlayRear:f.styles.reorderableItemOverlayRear,itemDragger:f.styles.reorderableItemDragger},I=o.useCallback((e=>{e.dataTransfer?.setData("text/listview-items-key",JSON.stringify(a))}),[a]),{rootProps:g,isDragged:p,overlayZoneBeforeProps:C,overlayZoneAfterProps:S}=u.useReorderableItem({isDisabled:!s,dragKey:t,setDragKey:n,onReorder:s,rootRef:i,ref:l,getItem:()=>l?.current?.closest(y.LIST_ITEM_SELECTOR),setTransferData:I,itemStyles:c,itemSelector:y.LIST_ITEM_SELECTOR,isVertical:!0}),x=m.classNames([g?.class,f.styles.reorderableItemDnd]);return r.jsxs("div",{...g,class:x,children:[e,!p&&d.isKeyDefined(t)&&r.jsxs(r.Fragment,{children:[r.jsx("div",{...C}),r.jsx("div",{...S})]})]})}),((e,r)=>!(!e||!r)&&(e.children===r.children&&e.dragKey===r.dragKey)));function F({contextMenuConfig:e,testId:t,contextMenuContext:o,...n}){const s=e.accessibleLabel;let i;if(n.isOpen){if(i=e.itemsRenderer(o),k.isMenuChildrenFalsy(i))return null}else i=null;return r.jsx(p.Menu,{...n,...s&&{"aria-label":s},testId:t,children:i})}const N={mouse:{initialFocus:"menu",placement:"bottom-start",offsetValue:0},keyboard:{initialFocus:"firstItem",placement:"bottom-start",offsetValue:0},touch:{initialFocus:"firstItem",placement:"end",offsetValue:40}},U={isOpen:!1,initialFocus:"menu",placement:"bottom-start",offsetValue:0,anchorRef:{current:null}},V=t.forwardRef((({children:e,...t},n)=>{const{contextMenuConfig:s}=t,i=o.useRef(null),{currentItemOverride:d,updateCurrentItemOverride:m}=(e=>{const r=o.useRef(),t=o.useRef();t.current!==e&&(t.current=e,r.current=e);const n=o.useCallback((e=>{r.current={rowKey:e}}),[]);return{currentItemOverride:r.current,updateCurrentItemOverride:n}})(t.currentItemOverride),f=t.data?t.data.map((e=>({data:e,metadata:{key:t.getRowKey(e)}}))):null,p=t.onLoadMore?t.onLoadMore:()=>{},C=f?{offset:0,data:f,sizePrecision:t.hasMore?"atLeast":"exact",totalSize:f.length}:null;o.useImperativeHandle(n,(()=>({getScrollPosition:()=>i.current?c.getScrollPosition(i.current):{y:0},focus:()=>{i.current&&i.current.focus()}})));const S=null!=t.onReorder,{reorderProps:x,reorderItemProps:R,reorderContext:h,reorderInstructionsId:M,reorderInstructions:b}=(({onReorder:e,rootRef:r,viewportConfig:t})=>{const n=null!=e,[s,i]=o.useState(void 0),{reorderProps:a,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}=u.useReorderable({onReorder:e,rootRef:r,itemSelector:y.LIST_ITEM_SELECTOR,isDisabled:!n,columns:1}),m=o.useRef(!1);o.useEffect((()=>{if(n&&m.current){const e=r.current,o=g.findElementByKey(e,l.currentItemKey.current,y.LIST_ITEM_SELECTOR);if(o){const r=t?.scrollerRef.current||e;y.scrollToVisible(o,r,0),m.current=!1}}}));const f=o.useMemo((()=>({dragKey:s,setDragKey:i,onReorder:e,rootRef:r})),[s,e,r]);return n?{reorderProps:I.mergeProps({onKeyDown:e=>{n&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(m.current=!0,a.onKeyDown?.(e))},onDragOver:e=>{void 0!==s&&(m.current=!1,g.dragToScroll(e,void 0!==s,r.current))}}),reorderItemProps:f,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}:{reorderProps:a,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}})({onReorder:t.onReorder,rootRef:i,viewportConfig:t.viewportConfig}),{triggerProps:v,menuProps:T,contextMenuContext:E,notifyCurrentKeyChanged:L}=((e,r,t,n)=>{const[s,i]=o.useState(),[a,l]=o.useState(U),c=o.useRef(),{triggerProps:d}=j.useContextMenuGesture((({gesture:r,anchor:o,target:s})=>{let a=o;if("keyboard"===r){a=g.findElementByKey(t.current,c.current,y.LIST_ITEM_SELECTOR)||o;const r=D.findItemContext(c.current,e);i(r)}else{const r=g.keyExtractor(s,y.LIST_ITEM_SELECTOR),t=D.findItemContext(r,e);i(t),n(r)}l({...N[r],anchorRef:{current:a},isOpen:!0})}),{isDisabled:!r}),u=o.useCallback((e=>{"dismissed"!==e.reason&&"itemAction"!==e.reason||t.current?.focus({preventScroll:!0}),l({...U})}),[t]);return{menuProps:{...a,onClose:u},onClose:u,contextMenuContext:s,triggerProps:d,notifyCurrentKeyChanged:e=>{c.current=e.value}}})(C,s,i,m),P=e=>{t.onPersistCurrentItem?.(e),L(e)},O=o.useCallback((t=>r.jsx(A,{...R,itemKey:t.metadata.key,children:e(t)})),[e,R]);if(S&&R)return r.jsxs(r.Fragment,{children:[r.jsxs(a.ReorderableContext.Provider,{value:h,children:[r.jsx(c.List,{...t,"aria-describedby":M,contextMenuTriggerProps:v,reorderProps:x,onLoadRange:p,scrollerRef:i,data:C,currentItemOverride:d,onPersistCurrentItem:P,children:O}),r.jsx("span",{id:M,children:r.jsx(l.HiddenAccessible,{children:b})})]}),s&&r.jsx(F,{...T,testId:t.testId?t.testId+"-menu":void 0,contextMenuConfig:s,contextMenuContext:E})]});return r.jsxs(r.Fragment,{children:[r.jsx(c.List,{...t,loadingIndicator:t.skeletonRenderer?(K=t.skeletonRenderer,r.jsx(c.SkeletonContainer,{minimumCount:25,children:e=>K({loadingStatus:"initial",index:e})})):void 0,loadMoreIndicator:t.skeletonRenderer?(e=>r.jsx("div",{class:w.LOADMORE_STYLE_CLASS,children:r.jsx(c.SkeletonContainer,{minimumCount:3,children:r=>e({loadingStatus:"loadMore",index:r})})}))(t.skeletonRenderer):void 0,onLoadRange:p,scrollerRef:i,data:C,contextMenuTriggerProps:v,currentItemOverride:d,onPersistCurrentItem:P,children:e}),s&&r.jsx(F,{...T,contextMenuConfig:s,contextMenuContext:E,testId:t.testId?t.testId+"-menu":void 0})]});var K}));e.ListView=V}));
|
|
2
|
-
//# sourceMappingURL=ListView-2678b2af.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/hooks', './mergeProps-bcfa6a92', './classNames-08d99695', './clientUtils-f1eea2db', './useId-c9578d26', './UNSAFE_NavigationList/themes/NavigationListStyles.css', './collectionUtils-77dc5fa1', './useCollectionFocusRing-ae19cd81', './useCurrentKey-5749e7fb', './useContextMenuGesture-750ef2c6', './useTranslationBundle-e4dd341e', './TabBarContextMenu-6a167e27', 'preact/compat', './useTestId-f4240cbd', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', './UNSAFE_Text/themes/TextStyles.css', './useNavigationListItem-582f5564', './Flex-4b81b412', './logger-0f873e29', 'css!./BadgeStyles.styles.css', 'module', './UNSAFE_Badge/themes/redwood/BadgeVariants.css', 'preact', './LayerHost-0b288129', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './UNSAFE_NavigationList/themes/NavigationListItemStyles.css', 'module', './UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css', './BaseButton-5a0ad529', './ButtonLabelLayout-6464870c'], (function(e,t,n,o,s,r,i,a,c,l,u,d,m,f,y,g,b,v,x,h,p,C,S,K,R,N,I,F,k,E,L,M,w,A,B,T,U){"use strict";const _='[role="tab"]',D="[data-oj-navigationlist-item-remove-icon]",j={mouse:{initialFocus:"menu",placement:"bottom-start",offsetValue:0},keyboard:{initialFocus:"firstItem",placement:"bottom-start",offsetValue:0},touch:{initialFocus:"menu",placement:"end",offsetValue:40}},P={isOpen:!1,initialFocus:"menu",placement:"bottom-start",offsetValue:0,anchorRef:{current:null}};const V=(e,t,n)=>{const o=c.findElementByKey(t,e,_);if(o){return o.querySelector(n)}},H=(e,t)=>{const n=c.findElementByKey(t,e,_);if(n)return n.innerText},O=(e,t,n)=>{const o=e.closest(t),s=e.closest(n);return o?.contains(s)?null:c.keyExtractor(e,t)},q=(e,t,n)=>{const o=n.indexOf(e);if(o>0){const e=n[o===n.length-1?o-1:o+1];if(-1!==t.indexOf(e))return e}return t[0]},G=y.forwardRef((({children:e,selection:x,edge:p="start",onSelectionChange:C,onRemove:S,"aria-label":K,"aria-labelledby":R,testId:N,display:I="standard"},F)=>{const k=n.useRef(null),E=r.isMobile(),L=n.useMemo((()=>E?{itemsRenderer:e=>{if(e){if(null!=V(e.itemKey,k.current,D)){const n=e.defaultMenuItems;return t.jsx(t.Fragment,{children:n})}}return null}}:void 0),[E]),{showFocusRing:M,currentKey:w,onCurrentKeyChange:A,containerHandlers:B,onKeyDown:T,contextMenuContext:U,menuProps:G,contextMenuDescription:$,contextMenuDescriptionId:z,accStatusInfo:J}=function({containerRef:e,selection:t,onRemove:s,onSelectionChange:r,children:i,contextMenuConfig:a}){const y=m.useTranslationBundle("@oracle/oraclejet-preact"),[g,b]=n.useState(t),v=n.useCallback((e=>{b(e.value)}),[]),{currentKeyProps:x}=u.useCurrentKey((e=>s?O(e,_,D):c.keyExtractor(e,_)),!1,!1,c.getPrevNextKeyUsingRef(e,g,!0,_),c.getPrevNextKeyUsingRef(e,g,!1,_),void 0,void 0,g,v),[h,p]=l.useCollectionFocusRing(e,["Home","End","ArrowUp","ArrowDown"]),C={onFocus:n.useCallback((()=>{if(e.current&&void 0===g){const t=c.getFirstVisibleKey(e.current,_);t&&b(t)}}),[g,e])},S=n.useRef();n.useEffect((()=>{if(e.current){const t=Array.from(e.current.querySelectorAll(_),(e=>c.getKey(e)));if(null!=g&&-1!==t.indexOf(g)){const t=c.findElementByKey(e.current,g,_);t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded():t.scrollIntoView({block:"nearest"})}else g&&-1===t.indexOf(g)&&(S.current?b(q(g,t,S.current)):b(t[0])),S.current=t}}),[i,g,e]);const K=n.useCallback((t=>{if(("Home"===t.key||"End"===t.key)&&e.current&&g){const n=Array.from(e.current.querySelectorAll(_),(e=>c.getKey(e)));v?.({value:n["Home"===t.key?0:n.length-1]})}!g||"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),r?.({value:g,reason:"keyboard"})),g&&"Delete"===t.key&&s?.({value:g})}),[g,r,s,v,e]),[R,N]=n.useState(),[I,F]=n.useState(P),[k,E]=n.useState(),{triggerProps:L}=d.useContextMenuGesture((({gesture:t,anchor:n,target:o})=>{let r=n,i=g;if("keyboard"===t){r=c.findElementByKey(e.current,g,_)||n}else{const e=c.keyExtractor(o,_);i=null!=e?e:g}let l=!1;e.current&&(l=null!=V(i,e.current,D));const u=f.getDefaultContextMenu({isRemovable:l,handleRemove:s,handleReorder:void 0,itemKey:i,tabKeys:void 0,direction:void 0,itemLabels:{labelRemove:l?y.tabbar_labelRemove():void 0},handleAccStatus:t=>{const n=H(t.removedKey,e.current),o=l&&t.removedKey?` Removed ${n}`:"";E(o)}});N(u),F({...j[t],anchorRef:{current:r},isOpen:null!=a})}),{isDisabled:!a}),M=n.useCallback((t=>{"dismissed"!==t.reason&&"itemAction"!==t.reason||(b(R?.itemKey),e.current?.focus()),F({...P})}),[e,R?.itemKey]),w="contextMenu_"+n.useId(),A=y.tabbar_labelContextMenu();return{showFocusRing:h,currentKey:g,onCurrentKeyChange:v,onKeyDown:K,menuProps:{...I,onClose:M},contextMenuContext:R,contextMenuDescription:A,contextMenuDescriptionId:w,accStatusInfo:k,containerHandlers:o.mergeProps(p,x,C,L)}}({containerRef:k,selection:x,onRemove:S,onSelectionChange:C,children:e,contextMenuConfig:L}),Q={onKeyDown:T},W=s.classNames([a.navigationListStyles.uListStyle]),X=i.useId()+"_",Y=g.useTestId(N);return y.useImperativeHandle(F,(()=>({focus:()=>{k.current&&k.current.focus()},blur:()=>{k.current&&k.current.focus()}}))),t.jsxs(t.Fragment,{children:[t.jsx("div",{"aria-label":K,"aria-labelledby":R,role:"tablist",ref:k,"aria-orientation":"vertical",tabIndex:0,"aria-activedescendant":w?X+w:"",...o.mergeProps(Q,B),...Y,class:W,children:t.jsx(h.NavigationListContext.Provider,{value:{selection:x,display:I,onSelectionChange:C,onCurrentKeyChange:A,currentKey:w,showFocusRing:M,navigationListItemPrefix:X,onRemove:S,edge:p},children:e})}),L&&z&&$&&t.jsx("span",{id:z,children:t.jsx(b.HiddenAccessible,{children:$})}),L&&J&&t.jsx(v.LiveRegion,{children:J}),L&&t.jsx(f.TabBarContextMenu,{...G,contextMenuConfig:L,contextMenuContext:U})]})}));e.NavigationList=G}));
|
|
2
|
-
//# sourceMappingURL=NavigationList-a6bb123d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationList-a6bb123d.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx"],"sourcesContent":["import { ComponentChildren, ComponentProps } from 'preact';\nimport { useState, useCallback, MutableRef, useRef, useEffect, useId } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { MenuProps } from '../hooks/PRIVATE_useVisContextMenu/util';\nimport { useContextMenuGesture } from '../hooks/UNSAFE_useContextMenuGesture';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { Menu } from '../UNSAFE_Menu';\nimport { getDefaultContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { TabBarContextMenuConfig, TabBarItemContextMenuContext } from '../UNSAFE_TabBarCommon';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nexport const REMOVE_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\nconst TOUCH_OFFSET_VALUE = 40;\nconst menuPropGestureStates: Record<\n 'mouse' | 'keyboard' | 'touch',\n Omit<Required<MenuProps>, 'anchorRef' | 'isOpen'>\n> = {\n mouse: {\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0\n },\n keyboard: {\n initialFocus: 'firstItem',\n placement: 'bottom-start',\n offsetValue: 0\n },\n touch: {\n initialFocus: 'menu',\n placement: 'end',\n offsetValue: TOUCH_OFFSET_VALUE\n }\n};\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\nconst initialMenuProps: MenuProps = {\n isOpen: false,\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0,\n anchorRef: { current: null }\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig\n}: {\n containerRef: MutableRef<HTMLDivElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n}) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVE_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && (event.key === 'Enter' || event.key === ' ')) {\n // Prevent default to avoid page scrolling on Space (and native actions on Enter)\n event.preventDefault();\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n const [contextMenuContext, setContextMenuContext] = useState<TabBarItemContextMenuContext<K>>();\n\n const [menuProps, setMenuProps] = useState<MenuProps>(initialMenuProps);\n const [accStatusInfo, setAccStatusInfo] = useState<string>();\n\n const { triggerProps } = useContextMenuGesture(\n ({ gesture, anchor, target }) => {\n let anchorBasedOnGesture = anchor;\n let itemKey = currentKey as K;\n if (gesture === 'keyboard') {\n //We find the element where the position of the menu is going to be based of\n const elem = findElementByKey(\n containerRef.current as HTMLElement,\n currentKey as K,\n ITEM_SELECTOR\n );\n //We set the correct anchor\n anchorBasedOnGesture = elem ? elem : anchor;\n } else {\n //We search for the key using the target of the event\n const key = keyExtractor(target as HTMLElement, ITEM_SELECTOR);\n\n //On touch devices, the keyExtractor returns null because target of touch event is the entire tabbar. Hence we make use of currentkey since the context menu is always launched from selected item and its key is currentKey\n itemKey = key != null ? (key as K) : (currentKey as K);\n }\n let isRemovable = false;\n if (containerRef.current) {\n isRemovable = getItemAttribute(itemKey, containerRef.current, REMOVE_ICON_SELECTOR) != null;\n }\n const defaultContext = getDefaultContextMenu<K>({\n // For default menu items the existence of REMOVE_ICON_SELECTOR is the indicator that it is removable because we render the default menu in touch devices not the application.\n // Furthermore in corepack due to delegations onRemove is always defined as it is a even handler hence not a good check for isRemovable.\n isRemovable: isRemovable,\n handleRemove: onRemove,\n handleReorder: undefined,\n itemKey: itemKey,\n tabKeys: undefined,\n // As direction is only needed for reorder to switch the labels\n direction: undefined,\n itemLabels: {\n labelRemove: isRemovable ? translations.tabbar_labelRemove() : undefined\n },\n handleAccStatus: (detail) => {\n const removeItemLabel = getItemLabel(detail.removedKey!, containerRef.current!) as string;\n const removeStatus =\n isRemovable && detail.removedKey ? ` Removed ${removeItemLabel}` : '';\n\n setAccStatusInfo(removeStatus);\n }\n });\n setContextMenuContext(defaultContext);\n\n setMenuProps({\n ...menuPropGestureStates[gesture],\n anchorRef: { current: anchorBasedOnGesture },\n // This is set so that when no contextMenuConfig and when items is not removable we need not open it.\n isOpen: contextMenuConfig != null\n });\n },\n {\n isDisabled: !contextMenuConfig //If there is no a context menu renderer we disable the hook\n }\n );\n\n const handleCloseContextMenu = useCallback<Required<ComponentProps<typeof Menu>>['onClose']>(\n (detail) => {\n //Focus has to be set on the current target that was obtained\n //during context menu gesture when menu is dismissed or item is \"selected\"\n if (detail.reason === 'dismissed' || detail.reason === 'itemAction') {\n setCurrentKey(contextMenuContext?.itemKey);\n containerRef.current?.focus();\n }\n // We close the menu.The only prop that matters here is isOpen\n setMenuProps({ ...initialMenuProps });\n },\n [containerRef, contextMenuContext?.itemKey]\n );\n\n const contextMenuDescriptionId = 'contextMenu_' + useId();\n const contextMenuDescription = translations.tabbar_labelContextMenu();\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n menuProps: { ...menuProps, onClose: handleCloseContextMenu },\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps, triggerProps)\n };\n}\n// Utility that returns the value for a attribute related to the role=\"tab\" item.\nexport const getItemAttribute = <K extends string | number>(\n itemKey: K,\n root: HTMLElement,\n attribute: string\n) => {\n const navItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (navItem) {\n const tabBarItemAttribute = navItem.querySelector(attribute);\n return tabBarItemAttribute;\n }\n return;\n};\n\n// Utility that returns the visible inner text inside the role=\"tab\" item.\nconst getItemLabel = <K extends string | number>(itemKey: K, root: HTMLElement) => {\n const tabBarItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (tabBarItem) {\n return tabBarItem.innerText;\n }\n return;\n};\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useMemo, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { getItemAttribute, REMOVE_ICON_SELECTOR, useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport type { TabBarContextMenuConfig as NavigationListContextMenuConfig } from '../UNSAFE_TabBarCommon';\nexport {\n RemovableNavigationListItem,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n edge = 'start',\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId,\n display = 'standard'\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<\n NavigationListContextMenuConfig<string | number> | undefined\n >(() => {\n return isMobileDevice\n ? {\n itemsRenderer: (context) => {\n //Only if context is available, it is a mobile device and it is removable item, we will return remove context menu item\n if (context) {\n const isRemovableItem =\n getItemAttribute(context.itemKey, containerRef.current!, REMOVE_ICON_SELECTOR) !=\n null;\n if (isRemovableItem) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n }\n : undefined;\n }, [isMobileDevice]);\n\n const {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n containerHandlers,\n onKeyDown,\n contextMenuContext,\n menuProps,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useNavigationList({\n containerRef: containerRef as MutableRef<HTMLDivElement>,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n display,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove,\n edge\n }}>\n {children}\n </NavigationListContext.Provider>\n </div>\n {defaultContextMenuConfig && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {defaultContextMenuConfig && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {defaultContextMenuConfig && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n"],"names":["ITEM_SELECTOR","REMOVE_ICON_SELECTOR","menuPropGestureStates","mouse","initialFocus","placement","offsetValue","keyboard","touch","initialMenuProps","isOpen","anchorRef","current","getItemAttribute","itemKey","root","attribute","navItem","findElementByKey","querySelector","getItemLabel","tabBarItem","innerText","extractOnlyItemKey","element","itemSelector","itemEliminator","navigationListItem","closest","removeButton","contains","keyExtractor","findNextCurrentKey","currentKey","currNavs","prevNavs","index","indexOf","nextKey","length","NavigationList","forwardRef","children","selection","edge","onSelectionChange","onRemove","ariaLabel","ariaLabelLedBy","testId","display","ref","containerRef","useRef","isMobileDevice","isMobile","defaultContextMenuConfig","useMemo","itemsRenderer","context","defaultItems","defaultMenuItems","_jsx","jsx","_Fragment","Fragment","undefined","showFocusRing","onCurrentKeyChange","containerHandlers","onKeyDown","contextMenuContext","menuProps","contextMenuDescription","contextMenuDescriptionId","accStatusInfo","contextMenuConfig","translations","useTranslationBundle","setCurrentKey","useState","useCallback","detail","value","currentKeyProps","useCurrentKey","getPrevNextKeyUsingRef","focusRingProps","useCollectionFocusRing","onFocusProps","onFocus","key","getFirstVisibleKey","prevNavItems","useEffect","navListItemKeys","Array","from","querySelectorAll","elem","getKey","navListItem","scrollIntoViewIfNeeded","scrollIntoView","block","event","navListItemKey","preventDefault","reason","setContextMenuContext","setMenuProps","setAccStatusInfo","triggerProps","useContextMenuGesture","gesture","anchor","target","anchorBasedOnGesture","isRemovable","defaultContext","getDefaultContextMenu","handleRemove","handleReorder","tabKeys","direction","itemLabels","labelRemove","tabbar_labelRemove","handleAccStatus","removeItemLabel","removedKey","removeStatus","isDisabled","handleCloseContextMenu","focus","useId","tabbar_labelContextMenu","onClose","mergeProps","useNavigationList","eventProps","navigationListClass","classNames","navigationListStyles","uListStyle","navigationListItemPrefix","testIdProps","useTestId","useImperativeHandle","blur","_jsxs","role","tabIndex","class","NavigationListContext","Provider","id","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './NavigationListLinkItem-df1826e6'], (function(e,t,i){"use strict";e.NavigationListItem=function({itemKey:e,label:a,badge:n,metadata:s,severity:m,icon:o}){return t.jsx(i.BaseNavigationListItem,{itemKey:e,label:a,badge:n,metadata:s,severity:m,icon:o})}}));
|
|
2
|
-
//# sourceMappingURL=NavigationListItem-10bf6656.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationListItem-10bf6656.js","sources":["../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity,\n icon\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n icon={icon}\n />\n );\n}\n"],"names":["itemKey","label","badge","metadata","severity","icon","_jsx","BaseNavigationListItem"],"mappings":"+HAUgB,UAA8CA,QAC5DA,EAAOC,MACPA,EAAKC,MACLA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,KACRA,IAEA,OACEC,EAAAA,IAACC,EAAAA,uBAAsB,CACrBP,QAASA,EACTC,MAAOA,EACPC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVC,KAAMA,GAGZ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/hooks', './Text-31cabc49', './useNavigationListItem-582f5564', './Flex-4b81b412', './Badge-b28ef084', './useComponentTheme-5aa41a8f', './classNames-08d99695', './WarningS-98a81abe', './ErrorS-d91c3db2', './InformationS-53490112', './SuccessS-eb8fd915', './UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme', './useTabBarItemTooltip-a81da662', './mergeProps-bcfa6a92'], (function(e,s,a,n,t,i,r,l,o,c,d,m,h,x,u,g){"use strict";const j=e=>{e.preventDefault()};function v({itemKey:e,label:v,badge:f,metadata:b,severity:p="none",removeIcon:y,icon:I,href:S,"aria-controls":C}){const N=a.useRef(null),{itemId:L,itemHandlers:T,itemClasses:F,isSelected:w,labelContainerClasses:B,labelContainerStyle:k,isIconOnly:E,isEdgeEnd:P,stackedBadgeClasses:R,iconOnlyClasses:z,isCurrent:K,showFocusRing:W}=t.useNavigationListItem({itemKey:e}),D=!("none"===p||void 0===p),H=e=>{switch(e){case"error":return s.jsx(d.SvgErrorS,{color:"danger"});case"warning":return s.jsx(c.SvgWarningS,{color:"warning"});case"info":return s.jsx(m.SvgInformationS,{color:"info"});case"confirmation":return s.jsx(h.SvgSuccessS,{color:"success"});default:return null}},{styles:{iconLabelContainer:O,iconContainer:A,startIconPadding:M,endContentPadding:U,removeIconPaddingWithEndContent:_,navigationItemMetadata:q,navigationListItemLink:G}}=l.useComponentTheme(x.NavigationListItemRedwoodTheme),J=o.classNames([q,U]),Q=o.classNames([G]),V=o.classNames([O,A,U]),X=o.classNames([!E&&O,A,!E&&M,E&&z]),{styles:{navigationlistRemoveIcon:Y}}=l.useComponentTheme(x.NavigationListItemRedwoodTheme),Z=b||D||f,$=o.classNames([Y,Z&&_,!Z&&U]),ee=null!=S,se=v&&!(" "===v&&void 0===v),ae=I&&null!=I&&E,ne=ae,{tooltipContent:te,tooltipEventHandlerProps:ie,onLogicalFocus:re,onLogicalBlur:le}=u.useTabBarItemTooltip({label:v,isDisabled:!ne,position:P?"start":"end"});ne&&(K&&W||w?re(N.current):K&&W||le());const oe=()=>s.jsxs(s.Fragment,{children:[I&&s.jsx(i.Flex,{justify:"start",children:s.jsx("span",{class:X,children:I})}),!E&&se&&s.jsx(i.Flex,{align:"center",justify:"start",flex:"1 1 auto",children:s.jsx("span",{class:B,style:k,children:s.jsx(n.Text,{size:"inherit",weight:"inherit",variant:"inherit",children:v})})}),y&&!ee&&s.jsx("span",{class:$,children:y})]}),ce=()=>s.jsxs(s.Fragment,{children:[ae&&s.jsxs("div",{class:X,children:[I,s.jsx("span",{class:R,children:f?s.jsx(r.Badge,{size:"xs",variant:"neutral",children:f}):null})]}),!E&&I&&s.jsx(i.Flex,{justify:"start",children:s.jsx("span",{class:X,children:I})}),(!E||E&&!ae)&&se&&s.jsx(i.Flex,{align:"center",justify:"start",flex:"1 1 auto",children:s.jsx("span",{class:B,style:k,children:s.jsx(n.Text,{size:"inherit",weight:"inherit",variant:"inherit",children:v})})}),(b||D||f||y)&&s.jsxs(i.Flex,{align:"center",justify:"end",children:[" ",(!E||E&&!ae)&&f&&s.jsx("span",{class:V,children:s.jsx(r.Badge,{size:"md",variant:"neutralSubtle",children:f})}),b&&s.jsx("span",{class:J,children:s.jsx(n.Text,{children:"( "+b+" )"})}),D&&s.jsx("span",{class:V,children:H(p)}),y&&!ee&&s.jsx("span",{class:$,children:y})]})]});return ee?s.jsx("div",{...T,class:F,children:s.jsx("a",{tabindex:-1,role:"tab","data-oj-key":e,id:L,class:Q,"aria-selected":w,"aria-controls":C,href:S,onClick:j,children:Z?ce():oe()})}):s.jsxs("div",{role:"tab",...g.mergeProps(ie,T),"data-oj-key":e,id:L,class:F,"aria-selected":w,ref:N,"aria-controls":C,children:[Z?ce():oe(),E&&te]})}e.BaseNavigationListItem=v,e.NavigationListLinkItem=function({itemKey:e,badge:a,metadata:n,severity:t,href:i,label:r,"aria-controls":l}){return s.jsx(v,{"aria-controls":l,itemKey:e,label:r,badge:a,metadata:n,severity:t,href:i})}}));
|
|
2
|
-
//# sourceMappingURL=NavigationListLinkItem-df1826e6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationListLinkItem-df1826e6.js","sources":["../../src/UNSAFE_NavigationListCommon/BaseNavigationListItem.tsx","../../src/UNSAFE_NavigationListCommon/NavigationListLinkItem.tsx"],"sourcesContent":["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';\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":["onClickLink","event","preventDefault","BaseNavigationListItem","itemKey","label","badge","metadata","severity","removeIcon","icon","href","ariaControls","itemRef","useRef","itemId","itemHandlers","itemClasses","isSelected","labelContainerClasses","labelContainerStyle","isIconOnly","isEdgeEnd","stackedBadgeClasses","iconOnlyClasses","isCurrent","showFocusRing","useNavigationListItem","severityRequirement","undefined","IconComponent","severityValue","_jsx","ErrorS","SvgErrorS","color","WarningS","SvgWarningS","InformationS","SvgInformationS","SuccessS","SvgSuccessS","styles","iconLabelContainer","iconContainer","startIconPadding","endContentPadding","removeIconPaddingWithEndContent","navigationItemMetadata","navigationListItemLink","useComponentTheme","NavigationListItemRedwoodTheme","navigationItemMatadata","classNames","navigationItemLinkClass","endIconContainerClasses","startIconContainerClasses","navigationlistRemoveIcon","isComplexItem","removeClass","isLinkItem","labelRequirement","iconOnlyRequirement","showTooltip","tooltipContent","tooltipEventHandlerProps","onLogicalFocus","onLogicalBlur","useTabBarItemTooltip","isDisabled","position","current","labelRenderer","_jsxs","_Fragment","children","Flex","justify","jsx","class","align","flex","style","Text","size","weight","variant","complexItemRenderer","Badge","jsxs","tabindex","role","id","onClick","mergeProps","ref"],"mappings":"2dAiEA,MAAMA,EAAeC,IACnBA,EAAMC,gBAAgB,EAGlB,SAAUC,GAAkDC,QAChEA,EAAOC,MACPA,EAAKC,MACLA,EAAKC,SACLA,EAAQC,SACRA,EAAW,OAAMC,WACjBA,EAAUC,KACVA,EAAIC,KACJA,EACA,gBAAiBC,IAEjB,MAAMC,EAAUC,SAA8B,OAGxCC,OACJA,EAAMC,aACNA,EAAYC,YACZA,EAAWC,WACXA,EAAUC,sBACVA,EAAqBC,oBACrBA,EAAmBC,WACnBA,EAAUC,UACVA,EAASC,oBACTA,EAAmBC,gBACnBA,EAAeC,UACfA,EAASC,cACTA,GACEC,EAAAA,sBAAsB,CACxBvB,YAGIwB,IAAqC,SAAbpB,QAAoCqB,IAAbrB,GAE/CsB,EAAiBC,IACrB,OAAQA,GACN,IAAK,QACH,OAAOC,MAACC,EAAMC,UAAA,CAACC,MAAM,WACvB,IAAK,UACH,OAAOH,MAACI,EAAQC,YAAA,CAACF,MAAM,YACzB,IAAK,OACH,OAAOH,MAACM,EAAYC,gBAAA,CAACJ,MAAM,SAC7B,IAAK,eACH,OAAOH,MAACQ,EAAQC,YAAA,CAACN,MAAM,YACzB,QACE,OAAO,KACV,GAIDO,QAAQC,mBACNA,EAAkBC,cAClBA,EAAaC,iBACbA,EAAgBC,kBAChBA,EAAiBC,gCACjBA,EAA+BC,uBAC/BA,EAAsBC,uBACtBA,IAEAC,EAAiBA,kBACnBC,EAA8BA,gCAG1BC,EAAyBC,EAAUA,WAAC,CAACL,EAAwBF,IAC7DQ,EAA0BD,EAAAA,WAAW,CAACJ,IAEtCM,EAA0BF,EAAAA,WAAW,CACzCV,EACAC,EACAE,IAEIU,EAA4BH,EAAAA,WAAW,EAC1ChC,GAAcsB,EACfC,GAECvB,GAAcwB,EACfxB,GAAcG,KAGdkB,QAAQe,yBAAEA,IACRP,EAAAA,kBACFC,EAAAA,gCAGIO,EAAgBnD,GAAYqB,GAAuBtB,EACnDqD,EAAcN,EAAAA,WAAW,CAC7BI,EACAC,GAAiBX,GAChBW,GAAiBZ,IAGdc,GAAqB,MAARjD,EACbkD,GAAmBxD,KAAqB,MAAVA,QAA2BwB,IAAVxB,GAC/CyD,GAAsBpD,GAAgB,MAARA,GAAgBW,EAC9C0C,GAAcD,IAEdE,eAAEA,GAAcC,yBAAEA,GAAwBC,eAAEA,GAAcC,cAAEA,IAChEC,EAAAA,qBAAqB,CACnB/D,QACAgE,YAAaN,GAEbO,SAAWhD,EAAoB,QAAR,QAEvByC,KACGtC,GAAaC,GAAkBR,EAClCgD,GAAerD,EAAQ0D,SACb9C,GAAcC,GACxByC,MAIJ,MAAMK,GAAgB,IAElBC,EAAAA,KACGC,EAAAA,SAAA,CAAAC,SAAA,CAAAjE,GACCsB,EAAAA,IAAC4C,EAAAA,KAAK,CAAAC,QAAQ,iBACZ7C,EAAM8C,IAAA,OAAA,CAAAC,MAAOvB,EAAyBmB,SAAGjE,OAG3CW,GAAcwC,IACd7B,MAAC4C,EAAIA,KAAA,CAACI,MAAM,SAASH,QAAQ,QAAQI,KAAK,WAAUN,SAClD3C,EAAM8C,IAAA,OAAA,CAAAC,MAAO5D,EAAuB+D,MAAO9D,WACzCY,EAAAA,IAACmD,EAAAA,MAAKC,KAAK,UAAUC,OAAO,UAAUC,QAAQ,UAC3CX,SAAAtE,QAKRI,IAAemD,IAAc5B,EAAM8C,IAAA,OAAA,CAAAC,MAAOpB,EAAWgB,SAAGlE,OAKzD8E,GAAsB,IAExBd,OACGC,EAAAA,SAAA,CAAAC,SAAA,CAAAb,IACCW,cAAKM,MAAOvB,EAAyBmB,SAAA,CAClCjE,EACDsB,MAAA,OAAA,CAAM+C,MAAOxD,EACVoD,SAAArE,EACC0B,EAAAA,IAACwD,EAAKA,MAAA,CAACJ,KAAK,KAAKE,QAAQ,UAASX,SAC/BrE,IAED,WAIRe,GAAcX,GACdsB,EAAA8C,IAACF,EAAIA,KAAC,CAAAC,QAAQ,QAAOF,SACnB3C,cAAM+C,MAAOvB,EAAyBmB,SAAGjE,QAG1CW,GAA8CA,IAAeyC,KAC9DD,IACE7B,EAAA8C,IAACF,OAAI,CAACI,MAAM,SAASH,QAAQ,QAAQI,KAAK,oBACxCjD,EAAM8C,IAAA,OAAA,CAAAC,MAAO5D,EAAuB+D,MAAO9D,EACzCuD,SAAA3C,MAACmD,EAAAA,KAAK,CAAAC,KAAK,UAAUC,OAAO,UAAUC,QAAQ,UAASX,SACpDtE,SAKTE,GAAYqB,GAAuBtB,GAASG,IAC5CgE,EAACgB,KAAAb,QAAKI,MAAM,SAASH,QAAQ,gBAC1B,MACExD,GAA8CA,IAAeyC,KAC9DxD,GACE0B,EAAAA,IAAM,OAAA,CAAA+C,MAAOxB,EAAuBoB,SAClC3C,EAAC8C,IAAAU,EAAKA,OAACJ,KAAK,KAAKE,QAAQ,gBACtBX,SAAArE,MAIRC,GACCyB,EAAA8C,IAAA,OAAA,CAAMC,MAAO3B,EACXuB,SAAA3C,EAAA8C,IAACK,EAAIA,KAAA,CAAAR,SAAE,KAAOpE,EAAW,SAG5BqB,GACCI,EAAM8C,IAAA,OAAA,CAAAC,MAAOxB,EAAuBoB,SAAG7C,EAActB,KAEtDC,IAAemD,IAAc5B,cAAM+C,MAAOpB,EAAWgB,SAAGlE,UAwCnE,OAAOmD,GAhBH5B,EAAAA,IAAS,MAAA,IAAAhB,EAAc+D,MAAO9D,EAAW0D,SACvC3C,EAAAA,IACE,IAAA,CAAA0D,UAAW,EACXC,KAAK,MACQ,cAAAvF,EACbwF,GAAI7E,EACJgE,MAAOzB,kBACQpC,EAAU,gBACVN,EACfD,KAAMA,EACNkF,QAAS7F,EACR2E,SAAAjB,EAAgB6B,KAAwBf,SA3B7CC,cACEkB,KAAK,SACDG,EAAUA,WAAC7B,GAA0BjD,GAC5B,cAAAZ,EACbwF,GAAI7E,EACJgE,MAAO9D,EACQ,gBAAAC,EACf6E,IAAKlF,EACU,gBAAAD,YACd8C,EAAgB6B,KAAwBf,KACxCnD,GAAc2C,KAuBvB,+DCnRkE5D,QAChEA,EAAOE,MACPA,EAAKC,SACLA,EAAQC,SACRA,EAAQG,KACRA,EAAIN,MACJA,EACA,gBAAiBO,IAEjB,OACEoB,EAAAA,IAAC7B,EAAsB,CAAA,gBACNS,EACfR,QAASA,EACTC,MAAOA,EACPC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVG,KAAMA,GAEZ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', './useTranslationBundle-e4dd341e', './clientHints-6d361eaa', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './classNames-08d99695', './NavigationList-a6bb123d', './NavigationListItem-10bf6656', 'css!./NavigationListSeparator.styles.css', './Icon-234f9eb8', './useTabBarContext-15a23bb6', './Dropdown-7eca9554', './Sheet-1d02491d', './BaseTabBarItem-d7c2922b', './UNSAFE_TabBarCommon/themes/OverflowTabBarItemStyles.css', './NavigationListLinkItem-df1826e6', './RemovableNavigationListItem-60593d4c'], (function(e,a,t,s,n,i,o,l,r,c,d,m,b,u,v,f,g,p,h,y){"use strict";const x=e=>a.jsx(b.Icon,{viewBox:"0 0 24 24",...e,children:a.jsx("g",{fill:"none",children:a.jsx("path",{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",fill:"currentcolor"})})});const I=()=>{const{deviceRenderMode:e}=i.getClientHints();return"phone"===e};e.OverflowTabBarItem=function({overflowItemKey:e,icon:i,badge:m,overflowItems:b,isOpen:j,onClose:B}){const{selection:C,showFocusRing:w,isEdgeBottom:R,onSelect:L,onRemove:N,layout:K}=u.useTabBarContext(),k=s.useRef(!1);s.useEffect((()=>{j||(k.current=!1)}),[j]);const O=s.useRef(null),T=t.createRef(),F=s.useCallback((e=>{"pointer"===e.reason&&(k.current=!0),L?.({value:e.value}),B?.({reason:"itemAction"})}),[L,B]),S=s.useCallback((e=>{B?.({reason:e.reason})}),[B]),D=s.useCallback((()=>{B?.({reason:"dismissed"})}),[B]),z=w&&!k.current&&!I(),A=b?.find((e=>e.itemKey===C))?.tabPanelId,E=n.useTranslationBundle("@oracle/oraclejet-preact"),H=void 0!==C&&(M=C,null!=b?.find((e=>e.itemKey===M)));var M;const P=o.mergeInterpolations([...Object.values(l.flexitemInterpolations)])({flex:"stretch"===K?"1 0 auto":"0 0 auto"}),U=r.classNames([p.styles.navContainerBase]),_=s.useRef(null),q=s.useCallback((e=>{"ArrowDown"===e.key&&(e.preventDefault(),T.current?.focus())}),[T]),G=s.useCallback((()=>a.jsx("div",{onKeyDown:q,tabIndex:0,ref:_,class:U,children:a.jsx(c.NavigationList,{ref:T,selection:C,onSelectionChange:F,onRemove:N,children:b?.map((e=>null!=e.href?a.jsx(h.NavigationListLinkItem,{href:e.href,itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity}):e.isRemovable?a.jsx(y.RemovableNavigationListItem,{itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity}):a.jsx(d.NavigationListItem,{itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity})))})})),[q,U,T,C,F,N,b]);return a.jsxs(a.Fragment,{children:[b&&b.length>0&&a.jsx("div",{ref:O,style:P,children:a.jsx(g.BaseTabBarItem,{"aria-controls":A,itemKey:e,label:E.overflowItemLabel(),icon:i||a.jsx(x,{}),badge:m,showFocusRingOverride:z,selectionOverride:H,displayOverride:"icons","aria-haspopup":!0})}),I()?a.jsx(f.Sheet,{isOpen:j,onClose:D,initialFocus:"firstFocusable",children:G()}):a.jsx(v.Dropdown,{initialFocus:"firstFocusable",isOpen:j,onClose:S,placement:R?"top-end":"bottom-end",anchorRef:O,children:G()})]})}}));
|
|
2
|
-
//# sourceMappingURL=OverflowTabBarItem-0aa39512.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './NavigationListLinkItem-df1826e6', './useNavigationListItem-582f5564', './Close-36cbae0d', './EmbeddedIconButton-d1472ac1', 'preact/hooks', './useHover-8b8a1496', './useTranslationBundle-e4dd341e'], (function(e,t,a,i,o,n,s,r,d){"use strict";e.RemovableNavigationListItem=function({itemKey:e,label:l,badge:c,metadata:v,severity:u}){const{selection:m,currentKey:b,onRemove:g}=i.useNavigationListContext(),x=m===e,j=b===e,I=s.useCallback((()=>{g?.({value:e})}),[g,e]),{hoverProps:L,isHover:p}=r.useHover({}),B=d.useTranslationBundle("@oracle/oraclejet-preact");return t.jsx("div",{...L,children:t.jsx(a.BaseNavigationListItem,{itemKey:e,label:l,badge:c,metadata:v,severity:u,removeIcon:t.jsx("span",{"data-oj-navigationlist-item-remove-icon":!0,children:t.jsx(n.EmbeddedIconButton,{"aria-label":B.tabBarNavigationList_removeCueText(),size:"xs",onAction:I,children:(p||x||j)&&t.jsx(o.SvgClose,{})})})})})}}));
|
|
2
|
-
//# sourceMappingURL=RemovableNavigationListItem-60593d4c.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', './TabBar-92bac52f', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './collectionUtils-77dc5fa1', './useUser-08901aba', './LayerHost-0b288129', './useReorderableItem-7b4b2c3d', './ReorderableContext-6d10a1b7', './UNSAFE_ReorderableTabBar/themes/ReorderableTabBarItemStyles.css', './keys-4755c121', './classNames-08d99695', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css'], (function(e,r,t,s,a,o,l,i,d,n,c,y,b,m,u,R,f,g,v,x){"use strict";const p='[role="tab"]';function I({children:e,dragKey:t,setDragKey:s,onReorder:o,layout:l,rootRef:i,isFirstItem:b,isLastItem:u}){const v=a.useRef(null),x=a.useCallback((()=>v?.current?.querySelector(p)),[]),I=a.useCallback((e=>{e.dataTransfer?.setData("text/tabbar-item-key",c.getKey(x())+"")}),[x]),{direction:h}=y.useUser(),j="rtl"===h,D=d.mergeInterpolations([...Object.values(n.flexitemInterpolations)])({flex:"stretch"===l?"1 0 auto":"0 0 auto"}),{rootProps:S,isDragged:F,overlayZoneBeforeProps:K,overlayZoneAfterProps:O}=m.useReorderableItem({isDisabled:!o,dragKey:t,setDragKey:s,onReorder:o,rootRef:i,ref:v,getItem:x,setTransferData:I,itemStyles:{itemOverlayFront:R.styles.itemOverlayFront,itemOverlayRear:R.styles.itemOverlayRear,itemDragger:R.styles.itemDragger},itemSelector:p}),C=g.classNames([K?.class,!j&&b&&R.styles.itemOverlayFrontFirst,j&&u&&R.styles.itemOverlayFrontFirst]),L=g.classNames([O?.class,!j&&u&&R.styles.itemOverlayRearLast,j&&b&&R.styles.itemOverlayRearLast]);return r.jsxs("div",{...S,draggable:!!o,"data-oj-draggable":o?"":void 0,style:D,children:[e,!F&&f.isKeyDefined(t)&&r.jsxs(r.Fragment,{children:[r.jsx("div",{...K,class:C}),r.jsx("div",{...O,class:L})]})]})}const h=s.forwardRef((({"aria-label":e,"aria-labelledby":s,children:d,layout:n="stretch",display:c="standard",size:y="md",edge:b="top",selection:R,onSelect:f,onRemove:g,onReorder:v,contextMenuConfig:x,testId:h},j)=>{const D=a.useRef(null),[S,F]=a.useState(void 0),K=t.toChildArray(d),O="stacked"===c?{display:c}:{display:c,size:y},{reorderProps:C,reorderContext:L,reorderInstructionsId:T,reorderStatus:k,reorderInstructions:A}=m.useReorderable({onReorder:v,rootRef:D,itemSelector:p}),B={currentItemKey:L.currentItemKey,onReorder:v};return r.jsxs("div",{ref:D,...C,children:[r.jsx(u.ReorderableContext.Provider,{value:B,children:r.jsx(i.TabBar,{ref:j,"aria-label":e,"aria-labelledby":s,layout:n,edge:b,selection:R,onSelect:f,onRemove:g,testId:h,...O,"aria-describedby":T,contextMenuConfig:x,children:K.map(((e,t)=>r.jsx(I,{dragKey:S,setDragKey:F,onReorder:v,layout:n,rootRef:D,isFirstItem:0===t,isLastItem:t===K.length-1,children:e})))})}),r.jsx("span",{id:T,children:r.jsx(o.HiddenAccessible,{children:A})}),r.jsx(l.LiveRegion,{children:k})]})}));e.ReorderableTabBar=h}));
|
|
2
|
-
//# sourceMappingURL=ReorderableTabBar-19a503c7.js.map
|
package/amd/TabBar-92bac52f.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', 'preact/hooks', './LayerHost-0b288129', 'preact/compat', './UNSAFE_Text/themes/TextStyles.css', './Flex-4b81b412', './useTabBarContext-15a23bb6', './flexitem-5db48325', './dimensions-95c0c920', './boxalignment-8d80de7e', './logger-0f873e29', 'css!./TabBarItemStyles.styles.css', 'module', './UNSAFE_TabBarCommon/themes/redwood/TabBarItemVariants.css', 'css!./BadgeStyles.styles.css', 'module', './UNSAFE_Badge/themes/redwood/BadgeVariants.css', './ConveyorBeltContext-d8653090', './BusyStateContext-ab2c549a', './TabbableModeContext-a9c97640', 'preact', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './BaseButton-5a0ad529', './ButtonLabelLayout-6464870c', './NavigationList-a6bb123d', './useNavigationListItem-582f5564', './UNSAFE_NavigationList/themes/NavigationListItemStyles.css', 'module', './UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css', 'css!./NavigationListSeparator.styles.css', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './TabBarLayout-4eb6c732', './UNSAFE_TabBar/themes/TabBarStyles.css', './useTabBar-b05edef0', './TabBarContextMenu-6a167e27'], (function(e,t,s,a,o,n,i,r,l,c,d,b,y,m,B,u,x,h,T,S,g,p,C,N,f,v,L,F,U,A,I,w,E,_,M,j,R,k,V,H,P,z,D,$,O,q,G,J,K){"use strict";const Q=i.forwardRef((({children:e,layout:o="stretch",display:n="standard",size:i="md",edge:r="top",selection:l,onSelect:d,onRemove:b,"aria-describedby":y,"aria-label":m,"aria-labelledby":B,contextMenuConfig:u},x)=>{const h=x,{rootProps:T,tabBarContext:S,menuProps:g,contextMenuContext:p,contextMenuDescription:C,contextMenuDescriptionId:N,accStatusInfo:f}=J.useTabBar({class:G.styles.tabBarBase,edge:r,onRemove:b,onSelect:d,ref:h,selection:l,size:i,children:e,contextMenuConfig:u}),v=null!=u;return t.jsxs(t.Fragment,{children:[t.jsx(c.TabBarContext.Provider,{value:S,children:t.jsx("div",{...T,"aria-label":m,"aria-labelledby":B,"aria-haspopup":null!=u,"aria-describedby":v&&N?y?`${y} ${N}`:N:y,children:t.jsx(q.TabBarLayout,{layout:o,display:n,children:e})})}),v&&N&&t.jsx("span",{id:N,children:t.jsx(s.HiddenAccessible,{children:C})}),v&&f&&t.jsx(a.LiveRegion,{children:f}),v&&t.jsx(K.TabBarContextMenu,{...g,contextMenuConfig:u,contextMenuContext:p})]})}));e.TabBar=Q}));
|
|
2
|
-
//# sourceMappingURL=TabBar-92bac52f.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/hooks', 'preact/compat', './LayerHost-0b288129', './UNSAFE_Text/themes/TextStyles.css', './Flex-4b81b412', './useTabBarContext-15a23bb6', './flexitem-5db48325', './dimensions-95c0c920', './boxalignment-8d80de7e', './logger-0f873e29', 'css!./TabBarItemStyles.styles.css', 'module', './UNSAFE_TabBarCommon/themes/redwood/TabBarItemVariants.css', 'css!./BadgeStyles.styles.css', 'module', './UNSAFE_Badge/themes/redwood/BadgeVariants.css', './ConveyorBeltContext-d8653090', './BusyStateContext-ab2c549a', './TabbableModeContext-a9c97640', 'preact', './mergeProps-bcfa6a92', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './HiddenAccessible-037ef42d', './BaseButton-5a0ad529', './ButtonLabelLayout-6464870c', './NavigationList-a6bb123d', './useNavigationListItem-582f5564', './UNSAFE_NavigationList/themes/NavigationListItemStyles.css', 'module', './UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css', 'css!./NavigationListSeparator.styles.css', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './clientUtils-f1eea2db', './UNSAFE_TabBarMixed/themes/TabBarMixedStyles.css', './useTabBar-b05edef0', './LiveRegion-dbefb95b', './TabBarContextMenu-6a167e27', './ConveyorBeltFocusContext-7d718341'], (function(e,t,s,a,o,n,r,i,l,c,b,d,u,m,x,y,B,T,h,f,C,S,g,v,p,N,M,F,I,A,L,U,E,w,_,k,R,j,P,V,H,D,K,O,z,q,G,J,Q,W,X){"use strict";const Y=a.forwardRef(((e,o)=>{const{children:n,onRemove:r,onSelect:l,selection:c,size:b,"aria-label":d,"aria-labelledby":u}=e,m=s.useRef(null),x=q.isMobile(),y=s.useMemo((()=>({itemsRenderer:e=>{if(e){if(null!=J.getItemAttribute(e.itemKey,m.current,J.REMOVABLE_ITEM_ATTRIBUTE)&&x){const s=e.defaultMenuItems;return t.jsx(t.Fragment,{children:s})}}return null}})),[]),{rootProps:B,tabBarContext:T,menuProps:h,contextMenuContext:f,contextMenuDescription:C,contextMenuDescriptionId:S,accStatusInfo:v}=(p={class:G.styles.tabBarBase,edge:"bottom",onRemove:r,onSelect:l,ref:m,selection:c,size:b,children:n,contextMenuConfig:y},J.useTabBar(p));var p;const N=null!=y&&x;a.useImperativeHandle(o,(()=>({focus:()=>{m.current&&m.current.focus()},blur:()=>{m.current&&m.current.blur()}})));const[M,F]=s.useState(!1),A=s.useCallback((()=>{m.current?.focus()}),[]),L=s.useCallback((()=>{F(!0)}),[]),U=s.useCallback((()=>{F(!1)}),[]),E=s.useCallback((e=>{"Tab"!==e.key||e.shiftKey||L?.()}),[L]),w=s.useCallback((()=>{U?.()}),[U]),_=s.useMemo((()=>({focusTabbarRoot:A,isSuppressOverflowFocus:M,beginTabPass:L,endTabPass:U})),[M,A,L,U]),k=g.mergeProps(B,{onKeyDown:E,onBlur:w});return t.jsxs(X.ConveyorBeltFocusContext.Provider,{value:_,children:[t.jsx(i.TabBarContext.Provider,{value:T,children:t.jsx("div",{"aria-label":d,"aria-labelledby":u,...k,children:n})}),N&&S&&C&&t.jsx("span",{id:S,children:t.jsx(I.HiddenAccessible,{children:C})}),N&&v&&t.jsx(Q.LiveRegion,{children:v}),N&&t.jsx(W.TabBarContextMenu,{...h,contextMenuConfig:y,contextMenuContext:f})]})}));e.TabBarMixed=Y}));
|
|
2
|
-
//# sourceMappingURL=TabBarMixed-5b5a5047.js.map
|
package/amd/TextArea-345f89d4.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/compat', './useCurrentValueReducer-faded381', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', 'preact/hooks', './useId-c9578d26', './useLengthFilter-c05fd679', './useSelectableTextField-900d2860', './useTextField-3ab0a23b', './useTranslationBundle-e4dd341e', './HiddenAccessible-037ef42d', './Label-701506b1', './keyboardUtils-fb6219eb', './TextFieldInput-f8635c62', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-41384d7e', './StyledTextField-2b62c81d', './TextField-c8c71735', './MaxLengthLiveRegion-8f9f7247', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-a59440e5', './CompactUserAssistance-fcc04dcc', './mergeProps-bcfa6a92', './LayerHost-0b288129', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'preact', 'css!./IconStyle.styles.css', './Popup-6b57cc3e', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './formControlUtils-de035f75', './classNames-08d99695', './usePress-949a0d03', './useFormFieldContext-9260f081', 'css!./MaxLengthCounterStyles.styles.css'], (function(e,s,t,n,a,l,i,o,r,d,c,u,x,m,h,p,b,F,y,f,g,L,T,v,A,S,C,R,U,I,E,j,_,w,D,P,k,M,N,V,B,H,q,K,z,W,$,G,O,X,J,Q,Y,Z,ee,se){"use strict";var te="MaxLengthCounterStyles_spanStyles__7dy9j72";const ne=()=>{};function ae({maxLength:e,valueLength:t=0,onClick:n}){const{isFocused:a}=ee.useFormFieldContext(),l=r.useCallback((e=>e.preventDefault()),[]),i=Y.classNames([!a&&"MaxLengthCounterStyles_hide__7dy9j71"]),{pressProps:o}=Z.usePress(n??ne);return s.jsx("div",{class:"MaxLengthCounterStyles_maxLengthCounterBase__7dy9j70",onMouseDown:l,...o,children:s.jsxs("span",{class:i,children:[s.jsx("span",{class:te,children:t}),s.jsx("span",{class:te,children:"/"}),s.jsx("span",{class:te,children:e})]})})}const le=({onInput:e,textAreaRef:s})=>{const[t,n]=r.useState(),a=r.useCallback((s=>{if(s.altKey&&"Enter"===s.key){s.preventDefault();const t=s.target,{selectionStart:a,selectionEnd:l,value:i}=t,o=i.substring(0,a)+"\n"+i.substring(l),r={previousValue:i,value:o};n(a+1),e(r)}}),[e]);return r.useLayoutEffect((()=>{t&&(s.current?.setSelectionRange(t,t),n(void 0))}),[t,s]),{handleKeyDown:a}},ie=t.forwardRef((({"aria-describedby":e,assistiveText:l,autoComplete:r="off",autoFocus:b=!1,columnSpan:y,helpSourceLink:v,helpSourceText:A,isDisabled:S,isReadonly:C,isRequired:R=!1,isRequiredShown:U,label:I,labelEdge:E,labelStartWidth:j,maxLength:_,maxLengthCounter:w="remaining",maxLengthUnit:M,messages:N,placeholder:V,resize:B,role:H,rows:q,textAlign:K,userAssistanceDensity:z,value:W,variant:$="default",onInput:G,onCommit:O,testId:X},J)=>{const Y=m.useTranslationBundle("@oracle/oraclejet-preact"),Z=_?Y.formControl_limitReached({CHARACTER_LIMIT:_}):"",{currentCommitValue:ee,dispatch:se}=n.useCurrentValueReducer({value:W}),te=t.useCallback((e=>{se({type:"input",payload:e.value}),G?.(e)}),[G,se]),ne=t.useCallback((e=>{se({type:"commit",payload:e.value}),O?.(e)}),[O,se]),{isDisabled:ie,isReadonly:oe,labelEdge:re,labelStartWidth:de,textAlign:ce,userAssistanceDensity:ue}=i.useFormContext(),xe=S??ie,me=C??oe,he=E??re,pe=j??de,be=K??ce??Q.defaultTextAlignForVariant($),Fe=z??ue,ye=t.useRef(d.useId()),fe=e?`${e} ${ye.current}`:ye.current,ge=t.useRef(null),Le=t.useRef(null),{handleKeyDown:Te}=le({onInput:te,textAreaRef:ge}),{focusProps:ve,isFocused:Ae,methods:Se}=a.useFocusableTextField({isDisabled:xe,isReadonly:me,enabledElementRef:ge,readonlyElementRef:Le}),{methods:Ce}=u.useSelectableTextField(ge);t.useImperativeHandle(J,(()=>k.mergeProps(Se,Ce)),[Se,Ce]);const{isMaxLengthExceeded:Re,isMaxLengthReached:Ue,valueLength:Ie,onFilteredInput:Ee}=c.useLengthFilter({maxLength:_,maxLengthUnit:M,value:W,onInput:te,onCommit:ne}),je=[...N??[],...Ue?[{detail:Z,severity:"info"}]:[]],{formFieldContext:_e,inputProps:we,labelProps:De,textFieldProps:Pe,userAssistanceProps:ke}=x.useTextField({ariaDescribedBy:me||xe?e:fe,contentVariant:"textarea",helpSourceLink:v,helpSourceText:A,isDisabled:xe,isFocused:Ae,isReadonly:me,isRequiredShown:U,labelEdge:he,messages:je,styleVariant:$,userAssistanceDensity:Fe,value:W}),Me=t.useCallback((()=>{const e=ge.current,s=e?e.value.length:null;ge.current?.setSelectionRange(s,s),ge.current?.focus()}),[ge]),Ne="none"!==he?s.jsx(p.Label,{...De,children:I}):void 0,Ve={label:"none"!==he?Ne:void 0,labelEdge:"none"!==he?he:void 0,labelStartWidth:"none"!==he?pe:void 0,labelText:"inside"!==he||xe?void 0:I},Be="none"===he?I:void 0,He="efficient"===Fe||"reflow"===Fe?xe?"efficient"!==Fe?void 0:s.jsx(D.InlineUserAssistance,{userAssistanceDensity:Fe,...ke}):me?s.jsx(D.InlineUserAssistance,{fieldLabel:I,messages:N,userAssistanceDensity:Fe,...ke}):s.jsx(D.InlineUserAssistance,{assistiveText:l,fieldLabel:I,helpSourceLink:v,helpSourceText:A,messages:je,isRequiredShown:U,userAssistanceDensity:Fe,...ke}):void 0,qe=t.useRef(null),Ke="compact"===Fe?s.jsx(P.CompactUserAssistance,{anchorRef:qe,messages:je,assistiveText:l,...ke}):void 0;if(me){const e=s.jsx(f.ReadonlyTextFieldInput,{"aria-describedby":we["aria-describedby"],"aria-label":Be,"aria-labelledby":De.id,as:"textarea",elementRef:Le,formVariant:$,rows:q,autoFocus:b,textAlign:be,value:W,variant:"textarea",hasEmptyLabel:""===I&&"none"===he,hasInsideLabel:void 0!==I&&"inside"===he,onBlur:we.onBlur,onFocus:we.onFocus});return s.jsx(o.FormFieldContext.Provider,{value:_e,children:s.jsx(g.ReadonlyTextField,{role:"presentation",columnSpan:y,compactUserAssistance:Ke,inlineUserAssistance:He,ref:qe,testId:X,variant:"textarea",mainContent:e,resize:B,...Ve})})}const ze=void 0!==_,We=s.jsxs(s.Fragment,{children:[s.jsx(F.TextFieldInput,{as:"textarea","aria-label":Be,autoComplete:r,autoFocus:b,currentCommitValue:ee,hasEmptyLabel:""===I&&"none"===he,hasInsideLabel:void 0!==Ne&&"inside"===he,isRequired:R,inputRef:ge,onCommit:ne,onInput:Ee,onKeyDown:Te,placeholder:V,role:H,rows:q,textAlign:be,value:W,...we}),"remaining"===w&&ze&&s.jsx(ae,{maxLength:_,valueLength:Ie,onClick:Me}),ze&&s.jsx(h.HiddenAccessible,{id:ye.current,isHidden:!0,children:Y.formControl_maxLength({MAX_LENGTH:`${_}`})}),ze&&Ae&&s.jsx(T.MaxLengthLiveRegion,{isMaxLengthExceeded:Re,maxLength:_,valueLength:Ie,testId:X?X+"_maxLength":void 0})]});return s.jsx(o.FormFieldContext.Provider,{value:_e,children:s.jsx(L.TextField,{mainContent:We,columnSpan:y,compactUserAssistance:Ke,inlineUserAssistance:He,onBlur:ve?.onFocusOut,onFocus:ve?.onFocusIn,mainFieldRef:qe,resize:B,testId:X,...Pe,...Ve})})}));e.MaxLengthCounter=ae,e.TextArea=ie,e.useTextAreaAltEnter=le}));
|
|
2
|
-
//# sourceMappingURL=TextArea-345f89d4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea-345f89d4.js","sources":["../../src/UNSAFE_TextArea/MaxLengthCounter.tsx","../../src/UNSAFE_TextArea/useTextAreaAltEnter.ts","../../src/UNSAFE_TextArea/TextArea.tsx"],"sourcesContent":["import { useCallback } from 'preact/hooks';\n\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useFormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { hide, maxLengthCounterBase, spanStyles } from './MaxLengthCounterStyles.css';\n\ntype Props = {\n maxLength: number;\n valueLength?: number;\n onClick?: () => void; // the calling component should focus on the appropriate element when clicked.\n};\n\nconst noop = () => {};\n\nexport function MaxLengthCounter({ maxLength, valueLength = 0, onClick }: Props) {\n const { isFocused } = useFormFieldContext();\n // We don't want mousedown on this component to do anything, so prevent the default behavior.\n const killEvent = useCallback((event: Event) => event.preventDefault(), []);\n const textClasses = classNames([!isFocused && hide]);\n const { pressProps } = usePress(onClick ?? noop);\n return (\n <div class={maxLengthCounterBase} onMouseDown={killEvent} {...pressProps}>\n <span class={textClasses}>\n <span class={spanStyles}>{valueLength}</span>\n <span class={spanStyles}>/</span>\n <span class={spanStyles}>{maxLength}</span>\n </span>\n </div>\n );\n}\n","import { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useLayoutEffect, useState } from 'preact/hooks';\n\nimport { TextFieldInput } from '#UNSAFE_TextField';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype UseTextAreaAltEnterOptions = {\n /**\n * The onInput of the TextFieldInput\n */\n onInput: NonNullable<ComponentProps<typeof TextFieldInput>['onInput']>;\n /**\n * The ref to the textarea element\n */\n textAreaRef: RefObject<HTMLTextAreaElement>;\n};\n\n/**\n * A custom hook to enable an alternate way for entering a new line in the TextArea components using\n * Alt + Enter (or option + return in MacOS). This is particularly useful in scenarios where pressing Enter\n * could mean a different action, like exiting from edit mode in a Table/DataGrid containing a TextArea.\n */\nexport const useTextAreaAltEnter = ({ onInput, textAreaRef }: UseTextAreaAltEnterOptions) => {\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const [selectionStart, setSelectionStart] = useState<number>();\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // If we see an alt+enter (or option+return on a Mac), we insert a newline and call onInputAndDispatch\n // since that is what is called any time the input value changes.\n if (event.altKey && event.key === 'Enter') {\n event.preventDefault(); // Prevent default Enter behavior\n const textarea = event.target as HTMLTextAreaElement;\n const { selectionStart: start, selectionEnd: end, value: previousValue } = textarea;\n const newValue = previousValue.substring(0, start) + '\\n' + previousValue.substring(end);\n\n const valueUpdateDetail: ValueUpdateDetail<string> = {\n previousValue: previousValue,\n value: newValue\n };\n setSelectionStart(start + 1);\n onInput(valueUpdateDetail);\n }\n },\n [onInput]\n );\n\n useLayoutEffect(() => {\n if (selectionStart) {\n textAreaRef.current?.setSelectionRange(selectionStart, selectionStart);\n // reset to undefined, so the next selectionStart will trigger the useLayoutEffect\n // even if it is the same as the previous selectionStart that was set. This is\n // because we are only setting selectionStart for alt+enter.\n setSelectionStart(undefined);\n }\n }, [selectionStart, textAreaRef]);\n\n return { handleKeyDown };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef, useCallback, useImperativeHandle, useRef } from 'preact/compat';\n\nimport { useCurrentValueReducer } from '#hooks/UNSAFE_useCurrentValueReducer';\nimport { FocusableHandle, useFocusableTextField } from '#hooks/UNSAFE_useFocusableTextField';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { CountUnit, useLengthFilter } from '#hooks/UNSAFE_useLengthFilter';\nimport { SelectableHandle, useSelectableTextField } from '#hooks/UNSAFE_useSelectableTextField';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTextField } from '#hooks/UNSAFE_useTextField';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { ComponentMessageItem } from '#UNSAFE_ComponentMessage';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { Label } from '#UNSAFE_Label';\nimport {\n MaxLengthLiveRegion,\n ReadonlyTextField,\n ReadonlyTextFieldInput,\n TextField,\n TextFieldInput\n} from '#UNSAFE_TextField';\nimport {\n CompactUserAssistance,\n InlineUserAssistance,\n UserAssistanceDensityType\n} from '#UNSAFE_UserAssistance';\nimport { defaultTextAlignForVariant } from '#utils/PRIVATE_formControlUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { Size } from '#utils/UNSAFE_size';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { MaxLengthCounter } from './MaxLengthCounter';\nimport { useTextAreaAltEnter } from './useTextAreaAltEnter';\n\ntype TextFieldProps = ComponentProps<typeof TextField>;\ntype TextFieldInputProps = ComponentProps<typeof TextFieldInput>;\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = TestIdProps & {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: TextFieldInputProps['aria-describedby'];\n\n /**\n * Text to provide guidance to help the user understand what to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * Dictates component's autocomplete state.\n * This attribute indicates whether the value of the control can be automatically completed by the browser.\n * The common values are \"on\" and \"off\".\n */\n autoComplete?: TextFieldInputProps['autoComplete'];\n /**\n * Autofocus specifies whether the component will get focus when the page is loaded.\n * If it is set to true then the associated component will get input focus when the page is loaded.\n * Setting this property doesn't set the focus to the component; it tells the browser to focus\n * to it when the element is inserted in the document.\n */\n autoFocus?: TextFieldInputProps['autoFocus'];\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the component is disabled.\n */\n isDisabled?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * Specifies for accessibility purposes whether a value is required.\n *\n * Setting this property to <code>false</code> means that a value is not required to be\n * committed by the user. Setting this property to <code>true</code> means that a value\n * is required to be committed by the user.\n */\n isRequired?: TextFieldInputProps['isRequired'];\n /**\n * Specifies whether to show an indicator on screen that a value is required, for example\n * before the user has committed a value.\n */\n isRequiredShown?: InlineUserAssistanceProps['isRequiredShown'];\n /**\n * Specifies the label associated with the field.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'inside' | 'start' | 'top' | 'none';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>\n */\n labelStartWidth?: Size;\n /**\n * Specifies the maximum number of characters that can be entered in the input field.\n */\n maxLength?: number;\n /**\n * Determines whether the remaining number of characters that can be entered is shown or not.\n */\n maxLengthCounter?: 'none' | 'remaining';\n /**\n * Specifies how the input text characters are to be counted when maxLength is specified.\n */\n maxLengthUnit?: CountUnit;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * A short hint to display before the user enters a value.\n */\n placeholder?: TextFieldInputProps['placeholder'];\n /**\n * Specifies how the user is allowed to manually resize the TextArea component.\n */\n resize?: TextFieldProps['resize'];\n /**\n * Specifies the ARIA role type.\n */\n role?: TextFieldInputProps['role'];\n /**\n * Specifies the number of rows to display\n */\n rows?: TextFieldInputProps['rows'];\n /**\n * Specifies how to align text within the field.\n */\n textAlign?: TextFieldInputProps['textAlign'];\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'compact'</code>: Messages, help, hints, and required will not be shown inline; they will show in a mode that keeps the screen more compact, like a popup for the messages, and a required icon to indicate Required. </li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * The current display value of the component.\n */\n value?: TextFieldInputProps['value'];\n /**\n * The style variant of the component.\n */\n variant?: TextFieldInputProps['variant'];\n /**\n * Callback invoked when the user commits the entered value by blurring out of the field.\n */\n onCommit?: TextFieldInputProps['onCommit'];\n /**\n * Callback invoked each time the user changes the value of the field. For example, if the user\n * types 'abcd', this callback will be called four times with the value as 'a', 'ab', 'abc' and 'abcd'\n * respectively.\n */\n onInput: TextFieldInputProps['onInput'];\n};\n\ntype FocusSelectHandle = FocusableHandle & SelectableHandle;\n\n/**\n * A text area displays a field that allows a user to enter a multi-line text value.\n */\nexport const TextArea = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n autoComplete = 'off',\n autoFocus = false,\n columnSpan,\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n isRequiredShown,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n maxLength,\n maxLengthCounter = 'remaining',\n maxLengthUnit,\n messages,\n placeholder,\n resize,\n role,\n rows,\n textAlign: propTextAlign,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n variant = 'default',\n onInput,\n onCommit,\n testId\n }: Props,\n ref?: Ref<FocusSelectHandle>\n ) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const formControl_limitReached = maxLength\n ? translations.formControl_limitReached({\n CHARACTER_LIMIT: maxLength\n })\n : '';\n\n const { currentCommitValue, dispatch } = useCurrentValueReducer({ value });\n const onInputAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'input', payload: detail.value });\n onInput?.(detail);\n },\n [onInput, dispatch]\n );\n const onCommitAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'commit', payload: detail.value });\n onCommit?.(detail);\n },\n [onCommit, dispatch]\n );\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n textAlign: formTextAlign,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const textAlign = propTextAlign ?? formTextAlign ?? defaultTextAlignForVariant(variant);\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n const maxLengthDescribedByIdRef = useRef<string>(useId());\n // The enabledAriaDescribedBy includes the maxLengthDescribedById in addition to what was passed in to aria-describedby.\n // We don't need to announce the max length message for readonly, as it only applies when editing the value.\n const enabledAriaDescribedBy = ariaDescribedBy\n ? `${ariaDescribedBy} ${maxLengthDescribedByIdRef.current}`\n : maxLengthDescribedByIdRef.current;\n\n const enabledElementRef = useRef<HTMLTextAreaElement>(null);\n const readonlyElementRef = useRef<HTMLTextAreaElement>(null);\n\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const { handleKeyDown } = useTextAreaAltEnter({\n onInput: onInputAndDispatch,\n textAreaRef: enabledElementRef\n });\n\n const {\n focusProps,\n isFocused,\n methods: focusMethods\n } = useFocusableTextField<HTMLTextAreaElement, HTMLTextAreaElement>({\n isDisabled,\n isReadonly,\n enabledElementRef,\n readonlyElementRef\n });\n\n const { methods: selectMethods } =\n useSelectableTextField<HTMLTextAreaElement>(enabledElementRef);\n\n useImperativeHandle(ref!, () => mergeProps(focusMethods, selectMethods), [\n focusMethods,\n selectMethods\n ]);\n\n // Handle length filter for user-typed inputs and controlled inputs\n const { isMaxLengthExceeded, isMaxLengthReached, valueLength, onFilteredInput } =\n useLengthFilter({\n maxLength,\n maxLengthUnit,\n value,\n onInput: onInputAndDispatch,\n onCommit: onCommitAndDispatch\n });\n\n const limitMessage = [{ detail: formControl_limitReached, severity: 'info' }];\n const allMessages = [\n ...(messages ?? []),\n ...(isMaxLengthReached ? limitMessage : [])\n ] as ComponentMessageItem[];\n\n const { formFieldContext, inputProps, labelProps, textFieldProps, userAssistanceProps } =\n useTextField({\n ariaDescribedBy: isReadonly || isDisabled ? ariaDescribedBy : enabledAriaDescribedBy,\n contentVariant: 'textarea',\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isFocused,\n isReadonly,\n isRequiredShown,\n labelEdge,\n messages: allMessages,\n styleVariant: variant,\n userAssistanceDensity,\n value\n });\n\n const onClickCounter = useCallback(() => {\n const elm = enabledElementRef.current;\n // for setSelectionRange(), len needs to be a number or null.\n const len = elm ? elm.value.length : null;\n // Since the counter element is after the text, clicking in this\n // should put the selection at the end of the text\n enabledElementRef.current?.setSelectionRange(len, len);\n // Clicking the counter should put the focus on the input field\n enabledElementRef.current?.focus();\n }, [enabledElementRef]);\n\n const labelComp = labelEdge !== 'none' ? <Label {...labelProps}>{label}</Label> : undefined;\n\n const fieldLabelProps = {\n label: labelEdge !== 'none' ? labelComp : undefined,\n labelEdge: labelEdge !== 'none' ? labelEdge : undefined,\n labelStartWidth: labelEdge !== 'none' ? labelStartWidth : undefined,\n labelText: labelEdge === 'inside' && !isDisabled ? label : undefined\n };\n\n const ariaLabel = labelEdge === 'none' ? label : undefined;\n const isInlineDensity =\n userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow';\n\n const inlineUserAssistance = isInlineDensity ? (\n isDisabled ? (\n // save space for user assistance if density is 'efficient', even though we don't\n // render user assistance for disabled fields\n userAssistanceDensity !== 'efficient' ? undefined : (\n <InlineUserAssistance\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : isReadonly ? (\n <InlineUserAssistance\n fieldLabel={label}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n ) : (\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={allMessages}\n isRequiredShown={isRequiredShown}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : undefined;\n\n const anchorRef = useRef<HTMLDivElement>(null);\n\n const compactUserAssistance =\n userAssistanceDensity === 'compact' ? (\n <CompactUserAssistance\n anchorRef={anchorRef}\n messages={allMessages}\n assistiveText={assistiveText}\n {...userAssistanceProps}\n />\n ) : undefined;\n\n if (isReadonly) {\n const mainContent = (\n <ReadonlyTextFieldInput\n aria-describedby={inputProps['aria-describedby']}\n aria-label={ariaLabel}\n aria-labelledby={labelProps.id}\n as=\"textarea\"\n elementRef={readonlyElementRef}\n formVariant={variant}\n rows={rows}\n autoFocus={autoFocus}\n textAlign={textAlign}\n value={value}\n variant=\"textarea\"\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={label !== undefined && labelEdge === 'inside'}\n onBlur={inputProps.onBlur}\n onFocus={inputProps.onFocus}\n />\n );\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <ReadonlyTextField\n role=\"presentation\"\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n ref={anchorRef}\n testId={testId}\n variant=\"textarea\"\n mainContent={mainContent}\n resize={resize}\n {...fieldLabelProps}\n />\n </FormFieldContext.Provider>\n );\n }\n const hasMaxLength = maxLength !== undefined;\n const mainContent = (\n <>\n <TextFieldInput\n as=\"textarea\"\n aria-label={ariaLabel}\n autoComplete={autoComplete}\n autoFocus={autoFocus}\n currentCommitValue={currentCommitValue}\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={labelComp !== undefined && labelEdge === 'inside'}\n isRequired={isRequired}\n inputRef={enabledElementRef}\n onCommit={onCommitAndDispatch}\n onInput={onFilteredInput}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n role={role}\n rows={rows}\n textAlign={textAlign}\n value={value}\n {...inputProps}\n />\n {maxLengthCounter === 'remaining' && hasMaxLength && (\n <MaxLengthCounter\n maxLength={maxLength}\n valueLength={valueLength}\n onClick={onClickCounter}\n />\n )}\n {hasMaxLength && (\n <HiddenAccessible id={maxLengthDescribedByIdRef.current} isHidden={true}>\n {translations.formControl_maxLength({\n MAX_LENGTH: `${maxLength}`\n })}\n </HiddenAccessible>\n )}\n {hasMaxLength && isFocused && (\n <MaxLengthLiveRegion\n isMaxLengthExceeded={isMaxLengthExceeded}\n maxLength={maxLength}\n valueLength={valueLength}\n testId={testId ? testId + '_maxLength' : undefined}\n />\n )}\n </>\n );\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <TextField\n mainContent={mainContent}\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n onBlur={focusProps?.onFocusOut}\n onFocus={focusProps?.onFocusIn}\n mainFieldRef={anchorRef}\n resize={resize}\n testId={testId}\n {...textFieldProps}\n {...fieldLabelProps}></TextField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["noop","MaxLengthCounter","maxLength","valueLength","onClick","isFocused","useFormFieldContext","killEvent","useCallback","event","preventDefault","textClasses","classNames","pressProps","usePress","_jsx","jsx","class","onMouseDown","_jsxs","jsxs","children","spanStyles","useTextAreaAltEnter","onInput","textAreaRef","selectionStart","setSelectionStart","useState","handleKeyDown","altKey","key","textarea","target","start","selectionEnd","end","value","previousValue","newValue","substring","valueUpdateDetail","useLayoutEffect","current","setSelectionRange","undefined","TextArea","forwardRef","ariaDescribedBy","assistiveText","autoComplete","autoFocus","columnSpan","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","isRequiredShown","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","maxLengthCounter","maxLengthUnit","messages","placeholder","resize","role","rows","textAlign","propTextAlign","userAssistanceDensity","propUserAssistanceDensity","variant","onCommit","testId","ref","translations","useTranslationBundle","formControl_limitReached","CHARACTER_LIMIT","currentCommitValue","dispatch","useCurrentValueReducer","onInputAndDispatch","detail","type","payload","onCommitAndDispatch","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formTextAlign","formUserAssistanceDensity","useFormContext","defaultTextAlignForVariant","maxLengthDescribedByIdRef","useRef","useId","enabledAriaDescribedBy","enabledElementRef","readonlyElementRef","focusProps","methods","focusMethods","useFocusableTextField","selectMethods","useSelectableTextField","useImperativeHandle","mergeProps","isMaxLengthExceeded","isMaxLengthReached","onFilteredInput","useLengthFilter","allMessages","severity","formFieldContext","inputProps","labelProps","textFieldProps","userAssistanceProps","useTextField","contentVariant","styleVariant","onClickCounter","elm","len","length","focus","labelComp","Label","fieldLabelProps","labelText","ariaLabel","inlineUserAssistance","InlineUserAssistance","fieldLabel","anchorRef","compactUserAssistance","CompactUserAssistance","mainContent","ReadonlyTextFieldInput","id","as","elementRef","formVariant","hasEmptyLabel","hasInsideLabel","onBlur","onFocus","FormFieldContext","Provider","ReadonlyTextField","hasMaxLength","_Fragment","Fragment","TextFieldInput","inputRef","onKeyDown","HiddenAccessible","isHidden","formControl_maxLength","MAX_LENGTH","MaxLengthLiveRegion","TextField","onFocusOut","onFocusIn","mainFieldRef"],"mappings":"slEAaA,MAAMA,GAAO,OAEP,SAAUC,IAAiBC,UAAEA,EAASC,YAAEA,EAAc,EAACC,QAAEA,IAC7D,MAAMC,UAAEA,GAAcC,GAAAA,sBAEhBC,EAAYC,EAAAA,aAAaC,GAAiBA,EAAMC,kBAAkB,IAClEC,EAAcC,EAAAA,WAAW,EAAEP,6CAC3BQ,WAAEA,GAAeC,EAAQA,SAACV,GAAWJ,IAC3C,OACEe,EAAKC,IAAA,MAAA,CAAAC,6DAA6BC,YAAaX,KAAeM,WAC5DM,EAAMC,KAAA,OAAA,CAAAH,MAAON,EAAWU,SAAA,CACtBN,cAAME,MAAOK,GAAUD,SAAGlB,IAC1BY,EAAAA,YAAME,MAAOK,GAAoBD,SAAA,MACjCN,cAAME,MAAOK,GAAaD,SAAAnB,QAIlC,CCRa,MAAAqB,GAAsB,EAAGC,UAASC,kBAE7C,MAAOC,EAAgBC,GAAqBC,EAAQA,WAC9CC,EAAgBrB,eACnBC,IAGC,GAAIA,EAAMqB,QAAwB,UAAdrB,EAAMsB,IAAiB,CACzCtB,EAAMC,iBACN,MAAMsB,EAAWvB,EAAMwB,QACfP,eAAgBQ,EAAOC,aAAcC,EAAKC,MAAOC,GAAkBN,EACrEO,EAAWD,EAAcE,UAAU,EAAGN,GAAS,KAAOI,EAAcE,UAAUJ,GAE9EK,EAA+C,CACnDH,cAAeA,EACfD,MAAOE,GAETZ,EAAkBO,EAAQ,GAC1BV,EAAQiB,EACT,IAEH,CAACjB,IAaH,OAVAkB,EAAAA,iBAAgB,KACVhB,IACFD,EAAYkB,SAASC,kBAAkBlB,EAAgBA,GAIvDC,OAAkBkB,GACnB,GACA,CAACnB,EAAgBD,IAEb,CAAEI,gBAAe,ECqIbiB,GAAWC,EAAAA,YACtB,EAEI,mBAAoBC,EACpBC,gBACAC,eAAe,MACfC,aAAY,EACZC,aACAC,iBACAC,iBACAC,WAAYC,EACZC,WAAYC,EACZC,cAAa,EACbC,kBACAC,QACAC,UAAWC,EACXC,gBAAiBC,EACjB/D,YACAgE,mBAAmB,YACnBC,gBACAC,WACAC,cACAC,SACAC,OACAC,OACAC,UAAWC,EACXC,sBAAuBC,EACvBvC,QACAwC,UAAU,UACVrD,UACAsD,WACAC,UAEFC,KAEA,MAAMC,EAAeC,uBAAiC,4BAChDC,EAA2BjF,EAC7B+E,EAAaE,yBAAyB,CACpCC,gBAAiBlF,IAEnB,IAEEmF,mBAAEA,GAAkBC,SAAEA,IAAaC,EAAAA,uBAAuB,CAAElD,UAC5DmD,GAAqBhF,eACxBiF,IAECH,GAAS,CAAEI,KAAM,QAASC,QAASF,EAAOpD,QAC1Cb,IAAUiE,EAAO,GAEnB,CAACjE,EAAS8D,KAENM,GAAsBpF,eACzBiF,IAECH,GAAS,CAAEI,KAAM,SAAUC,QAASF,EAAOpD,QAC3CyC,IAAWW,EAAO,GAEpB,CAACX,EAAUQ,MAIX/B,WAAYsC,GACZpC,WAAYqC,GACZhC,UAAWiC,GACX/B,gBAAiBgC,GACjBvB,UAAWwB,GACXtB,sBAAuBuB,IACrBC,EAAAA,iBAGE5C,GAAaC,GAAkBqC,GAC/BpC,GAAaC,GAAkBoC,GAC/BhC,GAAYC,GAAiBgC,GAC7B/B,GAAkBC,GAAuB+B,GACzCvB,GAAYC,GAAiBuB,IAAiBG,EAA0BA,2BAACvB,GACzEF,GAAwBC,GAA6BsB,GACrDG,GAA4BC,EAAAA,OAAeC,EAAKA,SAGhDC,GAAyBxD,EAC3B,GAAGA,KAAmBqD,GAA0B1D,UAChD0D,GAA0B1D,QAExB8D,GAAoBH,SAA4B,MAChDI,GAAqBJ,SAA4B,OAGjDzE,cAAEA,IAAkBN,GAAoB,CAC5CC,QAASgE,GACT/D,YAAagF,MAGTE,WACJA,GAAUtG,UACVA,GACAuG,QAASC,IACPC,EAAAA,sBAAgE,CAClEvD,cACAE,cACAgD,qBACAC,yBAGME,QAASG,IACfC,EAAsBA,uBAAsBP,IAE9CQ,EAAAA,oBAAoBjC,GAAM,IAAMkC,EAAUA,WAACL,GAAcE,KAAgB,CACvEF,GACAE,KAIF,MAAMI,oBAAEA,GAAmBC,mBAAEA,GAAkBjH,YAAEA,GAAWkH,gBAAEA,IAC5DC,EAAAA,gBAAgB,CACdpH,YACAiE,gBACA9B,QACAb,QAASgE,GACTV,SAAUc,KAIR2B,GAAc,IACdnD,GAAY,MACZgD,GAHe,CAAC,CAAE3B,OAAQN,EAA0BqC,SAAU,SAG1B,KAGpCC,iBAAEA,GAAgBC,WAAEA,GAAUC,WAAEA,GAAUC,eAAEA,GAAcC,oBAAEA,IAChEC,eAAa,CACX9E,gBAAiBS,IAAcF,GAAaP,EAAkBwD,GAC9DuB,eAAgB,WAChB1E,iBACAC,iBACAC,cACAlD,aACAoD,cACAG,kBACAE,aACAM,SAAUmD,GACVS,aAAcnD,EACdF,yBACAtC,UAGE4F,GAAiBzH,EAAAA,aAAY,KACjC,MAAM0H,EAAMzB,GAAkB9D,QAExBwF,EAAMD,EAAMA,EAAI7F,MAAM+F,OAAS,KAGrC3B,GAAkB9D,SAASC,kBAAkBuF,EAAKA,GAElD1B,GAAkB9D,SAAS0F,OAAO,GACjC,CAAC5B,KAEE6B,GAA0B,SAAdxE,GAAuB/C,EAAAC,IAACuH,EAAKA,MAAK,IAAAZ,YAAa9D,SAAiBhB,EAE5E2F,GAAkB,CACtB3E,MAAqB,SAAdC,GAAuBwE,QAAYzF,EAC1CiB,UAAyB,SAAdA,GAAuBA,QAAYjB,EAC9CmB,gBAA+B,SAAdF,GAAuBE,QAAkBnB,EAC1D4F,UAAyB,WAAd3E,IAA2BP,QAAqBV,EAARgB,GAG/C6E,GAA0B,SAAd5E,GAAuBD,OAAQhB,EAI3C8F,GAFsB,cAA1BhE,IAAmE,WAA1BA,GAGzCpB,GAG4B,cAA1BoB,QAAwC9B,EACtC9B,MAAC6H,EAAAA,sBACCjE,sBAAuBA,MACnBkD,KAGNpE,GACF1C,EAAAC,IAAC4H,uBACC,CAAAC,WAAYhF,EACZO,SAAUA,EACVO,sBAAuBA,MACnBkD,KAGN9G,EAACC,IAAA4H,wBACC3F,cAAeA,EACf4F,WAAYhF,EACZR,eAAgBA,EAChBC,eAAgBA,EAChBc,SAAUmD,GACV3D,gBAAiBA,EACjBe,sBAAuBA,MACnBkD,UAGNhF,EAEEiG,GAAYxC,SAAuB,MAEnCyC,GACsB,YAA1BpE,GACE5D,EAAAA,IAACiI,EAAAA,sBAAqB,CACpBF,UAAWA,GACX1E,SAAUmD,GACVtE,cAAeA,KACX4E,UAEJhF,EAEN,GAAIY,GAAY,CACd,MAAMwF,EACJlI,MAACmI,EAAAA,2CACmBxB,GAAW,iCACjBgB,GAAS,kBACJf,GAAWwB,GAC5BC,GAAG,WACHC,WAAY3C,GACZ4C,YAAazE,EACbL,KAAMA,EACNrB,UAAWA,EACXsB,UAAWA,GACXpC,MAAOA,EACPwC,QAAQ,WACR0E,cAAyB,KAAV1F,GAA8B,SAAdC,GAC/B0F,oBAA0B3G,IAAVgB,GAAqC,WAAdC,GACvC2F,OAAQ/B,GAAW+B,OACnBC,QAAShC,GAAWgC,UAGxB,OACE3I,EAAAA,IAAC4I,EAAAA,iBAAiBC,UAASvH,MAAOoF,GAAgBpG,SAChDN,EAACC,IAAA6I,EAAiBA,mBAChBtF,KAAK,eACLnB,WAAYA,EACZ2F,sBAAuBA,GACvBJ,qBAAsBA,GACtB3D,IAAK8D,GACL/D,OAAQA,EACRF,QAAQ,WACRoE,YAAaA,EACb3E,OAAQA,KACJkE,MAIX,CACD,MAAMsB,QAA6BjH,IAAd3C,EACf+I,GACJ9H,EAAAA,KAAA4I,EAAAC,SAAA,CAAA3I,SAAA,CACEN,EAAAA,IAACkJ,EAAAA,eACC,CAAAb,GAAG,WACS,aAAAV,GACZxF,aAAcA,EACdC,UAAWA,EACXkC,mBAAoBA,GACpBkE,cAAyB,KAAV1F,GAA8B,SAAdC,GAC/B0F,oBAA8B3G,IAAdyF,IAAyC,WAAdxE,GAC3CH,WAAYA,EACZuG,SAAUzD,GACV3B,SAAUc,GACVpE,QAAS6F,GACT8C,UAAWtI,GACXwC,YAAaA,EACbE,KAAMA,EACNC,KAAMA,EACNC,UAAWA,GACXpC,MAAOA,KACHqF,KAEgB,cAArBxD,GAAoC4F,IACnC/I,EAAAC,IAACf,GACC,CAAAC,UAAWA,EACXC,YAAaA,GACbC,QAAS6H,KAGZ6B,IACC/I,EAAAC,IAACoJ,EAAgBA,iBAAA,CAACjB,GAAI9C,GAA0B1D,QAAS0H,UAAU,EAAIhJ,SACpE4D,EAAaqF,sBAAsB,CAClCC,WAAY,GAAGrK,QAIpB4J,IAAgBzJ,IACfU,MAACyJ,EAAAA,oBAAmB,CAClBrD,oBAAqBA,GACrBjH,UAAWA,EACXC,YAAaA,GACb4E,OAAQA,EAASA,EAAS,kBAAelC,OAMjD,OACE9B,EAAAA,IAAC4I,EAAAA,iBAAiBC,SAAS,CAAAvH,MAAOoF,GAChCpG,SAAAN,EAAAC,IAACyJ,EAASA,UAAA,CACRxB,YAAaA,GACb7F,WAAYA,EACZ2F,sBAAuBA,GACvBJ,qBAAsBA,GACtBc,OAAQ9C,IAAY+D,WACpBhB,QAAS/C,IAAYgE,UACrBC,aAAc9B,GACdxE,OAAQA,EACRS,OAAQA,KACJ6C,MACAY,MAER"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', 'preact/compat', './useCurrentValueReducer-faded381', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', 'preact/hooks', './useId-c9578d26', './useLengthFilter-c05fd679', './useSelectableTextField-900d2860', './useTextField-3ab0a23b', './useTranslationBundle-e4dd341e', './HiddenAccessible-037ef42d', './Label-701506b1', './TextArea-345f89d4', './keyboardUtils-fb6219eb', './TextFieldInput-f8635c62', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-41384d7e', './StyledTextField-2b62c81d', './TextField-c8c71735', './MaxLengthLiveRegion-8f9f7247', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-a59440e5', './CompactUserAssistance-fcc04dcc', './mergeProps-bcfa6a92', './LayerHost-0b288129', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'preact', 'css!./IconStyle.styles.css', './Popup-6b57cc3e', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './formControlUtils-de035f75'], (function(e,s,t,n,a,o,l,i,r,d,c,u,m,x,p,h,b,F,f,y,g,T,A,R,v,L,S,C,U,E,w,I,j,_,D,P,B,H,V,k,N,M,q,W,$,z,G,K,O,X,J,Q,Y){"use strict";const Z=({isReadonly:e,enabledElementRef:s,readonlyElementRef:t,minRows:n=2,maxRows:a,value:o})=>{r.useLayoutEffect((()=>{const o=e?t:s;if(null===o.current)return;if(o.current instanceof HTMLDivElement)return;const l=o.current,i=(e=>{const s=window.getComputedStyle(e),t=s.lineHeight;if("normal"===t)return 1.2*parseFloat(s.fontSize);return parseFloat(t)})(l);l.style.height="0";const{paddingHeight:r,borderHeight:d}=(e=>{const s=window.getComputedStyle(e);return{paddingHeight:parseFloat(s.paddingTop)+parseFloat(s.paddingBottom),borderHeight:parseFloat(s.borderTop)+parseFloat(s.borderBottom)}})(l),c=i*n+r+d,u=l.scrollHeight+d;let m=0;if(void 0===a)m=u<c?c:u;else if(a>n){const e=i*a+r+d;m=u>e?e:u<c?c:u}else m=c;l.style.height=m+.5+"px"}),[o,n,a,e,s,t])},ee=t.forwardRef((({"aria-describedby":e,assistiveText:o,autoComplete:r="off",autoFocus:F=!1,columnSpan:y,helpSourceLink:v,helpSourceText:L,isDisabled:S,isReadonly:C,isRequired:U=!1,isRequiredShown:E,label:w,labelEdge:I,labelStartWidth:j,maxLength:_,maxLengthCounter:D="remaining",maxLengthUnit:V,maxRows:k,messages:N,minRows:M=2,placeholder:q,role:W,textAlign:$,userAssistanceDensity:z,value:G,variant:K="default",onInput:O,onCommit:X,testId:J},Q)=>{const ee=x.useTranslationBundle("@oracle/oraclejet-preact"),se=_?ee.formControl_limitReached({CHARACTER_LIMIT:_}):"",{currentCommitValue:te,dispatch:ne}=n.useCurrentValueReducer({value:G}),ae=t.useCallback((e=>{ne({type:"input",payload:e.value}),O?.(e)}),[O,ne]),oe=t.useCallback((e=>{ne({type:"commit",payload:e.value}),X?.(e)}),[X,ne]),{isDisabled:le,isReadonly:ie,labelEdge:re,labelStartWidth:de,textAlign:ce,userAssistanceDensity:ue}=l.useFormContext(),me=S??le,xe=C??ie,pe=I??re,he=j??de,be=$??ce??Y.defaultTextAlignForVariant(K),Fe=z??ue,fe=t.useRef(d.useId()),ye=e?`${e} ${fe.current}`:fe.current,ge=t.useRef(null),Te=t.useRef(null),{handleKeyDown:Ae}=b.useTextAreaAltEnter({onInput:ae,textAreaRef:ge}),{focusProps:Re,isFocused:ve,methods:Le}=a.useFocusableTextField({isDisabled:me,isReadonly:xe,enabledElementRef:ge,readonlyElementRef:Te}),{methods:Se}=u.useSelectableTextField(ge);t.useImperativeHandle(Q,(()=>H.mergeProps(Le,Se)),[Le,Se]);const{isMaxLengthExceeded:Ce,isMaxLengthReached:Ue,valueLength:Ee,onFilteredInput:we}=c.useLengthFilter({maxLength:_,maxLengthUnit:V,value:G,onInput:ae,onCommit:oe}),Ie=[...N??[],...Ue?[{detail:se,severity:"info"}]:[]],{formFieldContext:je,inputProps:_e,labelProps:De,textFieldProps:Pe,userAssistanceProps:Be}=m.useTextField({ariaDescribedBy:xe||me?e:ye,contentVariant:"textarea",helpSourceLink:v,helpSourceText:L,isDisabled:me,isFocused:ve,isReadonly:xe,isRequiredShown:E,labelEdge:pe,messages:Ie,styleVariant:K,userAssistanceDensity:Fe,value:G}),He=t.useCallback((()=>{const e=ge.current,s=e?e.value.length:null;ge.current?.setSelectionRange(s,s),ge.current?.focus()}),[ge]),Ve="none"!==pe?s.jsx(h.Label,{...De,children:w}):void 0,ke={label:"none"!==pe?Ve:void 0,labelEdge:"none"!==pe?pe:void 0,labelStartWidth:"none"!==pe?he:void 0,labelText:"inside"!==pe||me?void 0:w},Ne="none"===pe?w:void 0,Me="efficient"===Fe||"reflow"===Fe?me?"efficient"!==Fe?void 0:s.jsx(P.InlineUserAssistance,{userAssistanceDensity:Fe,...Be}):xe?s.jsx(P.InlineUserAssistance,{fieldLabel:w,messages:N,userAssistanceDensity:Fe,...Be}):s.jsx(P.InlineUserAssistance,{assistiveText:o,fieldLabel:w,helpSourceLink:v,helpSourceText:L,messages:Ie,isRequiredShown:E,userAssistanceDensity:Fe,...Be}):void 0,qe=t.useRef(null),We="compact"===Fe?s.jsx(B.CompactUserAssistance,{anchorRef:qe,messages:Ie,assistiveText:o,...Be}):void 0;if(Z({isReadonly:xe,enabledElementRef:ge,readonlyElementRef:Te,minRows:M,maxRows:k,value:G}),xe){const e=s.jsx(g.ReadonlyTextFieldInput,{"aria-describedby":_e["aria-describedby"],"aria-label":Ne,"aria-labelledby":De.id,autoFocus:F,elementRef:Te,formVariant:K,...k?{as:"textarea",rows:M}:{as:"div"},onBlur:_e.onBlur,onFocus:_e.onFocus,textAlign:be,value:G,variant:"textarea",hasEmptyLabel:""===w&&"none"===pe,hasInsideLabel:void 0!==w&&"inside"===pe});return s.jsx(i.FormFieldContext.Provider,{value:je,children:s.jsx(T.ReadonlyTextField,{role:"presentation",columnSpan:y,compactUserAssistance:We,inlineUserAssistance:Me,variant:"textarea",mainContent:e,ref:qe,testId:J,...ke})})}const $e=void 0!==_,ze=s.jsxs(s.Fragment,{children:[s.jsx(f.TextFieldInput,{as:"textarea","aria-label":Ne,autoComplete:r,autoFocus:F,currentCommitValue:te,hasEmptyLabel:""===w&&"none"===pe,hasInsideLabel:void 0!==Ve&&"inside"===pe,isRequired:U,inputRef:ge,onCommit:oe,onInput:we,onKeyDown:Ae,placeholder:q,role:W,rows:M,textAlign:be,value:G,..._e}),"remaining"===D&&$e&&s.jsx(b.MaxLengthCounter,{maxLength:_,valueLength:Ee,onClick:He}),$e&&s.jsx(p.HiddenAccessible,{id:fe.current,children:ee.formControl_maxLength({MAX_LENGTH:`${_}`})}),$e&&ve&&s.jsx(R.MaxLengthLiveRegion,{isMaxLengthExceeded:Ce,maxLength:_,valueLength:Ee,testId:J?J+"_maxLength":void 0})]});return s.jsx(i.FormFieldContext.Provider,{value:je,children:s.jsx(A.TextField,{mainContent:ze,columnSpan:y,compactUserAssistance:We,inlineUserAssistance:Me,onBlur:Re?.onFocusOut,onFocus:Re?.onFocusIn,mainFieldRef:qe,testId:J,...Pe,...ke})})}));e.TextAreaAutosize=ee}));
|
|
2
|
-
//# sourceMappingURL=TextAreaAutosize-01dfd98e.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(['exports', 'preact/hooks', './usePress-949a0d03', './mergeProps-bcfa6a92', './classNames-08d99695', './useInteractionStyle-15a2bdd0', './useComponentTheme-5aa41a8f', 'preact', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme', './useUser-08901aba'], (function(e,s,t,n,o,a,i,r,l,c,d,u){"use strict";const m=r.createContext(null);function g(){return s.useContext(m)}const v=l.mergeInterpolations([...Object.values(c.flexitemInterpolations)]),{class:p,...y}=v({alignSelf:"center"});e.NavigationListContext=m,e.useNavigationListContext=g,e.useNavigationListItem=function({itemKey:e}){const{onSelectionChange:r,selection:l,currentKey:c,showFocusRing:m,navigationListItemPrefix:v,edge:C,display:I}=g(),S=c===e,N=l===e,b="icons"===I,f="end"===C,{interactionProps:H,applyPseudoHoverStyle:h,applyHoverStyle:P,applyActiveStyle:R}=a.useInteractionStyle(),{direction:x}=u.useUser(),L="rtl"===x,{classes:k,styles:{labelContainerClasses:E,navigationItemStackedBadge:O,navigationItemStackedBadgeRtl:F,startIconStacked:w}}=i.useComponentTheme(d.NavigationListItemRedwoodTheme,{focusRing:m?"isFocusRing":"notFocusRing",current:S?"isCurrent":"notCurrtent",selected:N?"isSelected":"notSelected",direction:L?"isRtl":"notRtl",hybridHover:P?"isHybridHover":"notHybridHover",pseudoHover:h?"isPseudoHover":"notPseudoHover",active:R?"isActive":"notActive",edgeEnd:"end"===C?"isEnd":"notEnd",iconOnly:b?"isIconOnly":"notIconOnly"}),A=o.classNames([w]),T=o.classNames([O,"rtl"===x&&F]),B=s.useCallback((()=>{r?.({value:e,reason:"pointer"})}),[e,r]),{pressProps:U}=t.usePress(B);return{itemId:v+e,itemHandlers:n.mergeProps(H,U),itemClasses:o.classNames([k]),isSelected:N,labelContainerClasses:o.classNames([E,p]),labelContainerStyle:y,isIconOnly:b,isEdgeEnd:f,stackedBadgeClasses:o.classNames([T]),iconOnlyClasses:o.classNames([A]),isCurrent:S,showFocusRing:m}}}));
|
|
2
|
-
//# sourceMappingURL=useNavigationListItem-582f5564.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationListItem-582f5564.js","sources":["../../src/UNSAFE_NavigationListCommon/NavigationListContext.ts","../../src/UNSAFE_NavigationListCommon/useNavigationListContext.ts","../../src/UNSAFE_NavigationListCommon/useNavigationListItem.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { createContext } from 'preact';\nimport { NavigationListProps } from './NavigationListProps';\n\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n\nexport type NavigationListContextProps<K extends string | number> = Pick<\n NavigationListProps<K>,\n 'selection' | 'onSelectionChange' | 'onRemove' | 'edge' | 'display'\n> & {\n currentKey?: K;\n showFocusRing: boolean;\n onCurrentKeyChange:\n | (<K extends string | number>(detail: CurrentKeyDetail<K>) => void)\n | undefined;\n navigationListItemPrefix: string;\n};\n\n/**\n * Context used to pass navlist information without having to pass it to navlist children props.\n * We want to communicate information down to any interested navlist item children.\n */\n\nconst NavigationListContext = createContext<NavigationListContextProps<string | number>>(null!);\n\nexport { NavigationListContext };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useContext } from 'preact/hooks';\nimport { NavigationListContext } from './NavigationListContext';\n\n/**\n * Utility hook for consuming the NavigationListContext\n *\n * @returns The value of NavigationListContext provider\n */\nfunction useNavigationListContext() {\n return useContext(NavigationListContext);\n}\n\nexport { useNavigationListContext };\n","import { useCallback } from 'preact/hooks';\n\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useInteractionStyle } from '../hooks/UNSAFE_useInteractionStyle';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useNavigationListContext } from './useNavigationListContext';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport {\n NavigationListItemStyles,\n NavigationListItemVariantOptions\n} from '../UNSAFE_NavigationList/themes/NavigationListItemStyles.css';\nimport { NavigationListItemRedwoodTheme } from './themes/redwood/NavigationListItemTheme';\nimport { useUser } from '../hooks/UNSAFE_useUser';\n\nconst flexItemStyleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n]);\nconst { class: labelContainerFlexItemClasses, ...labelContainerFlexItemStyle } =\n flexItemStyleInterpolations({\n alignSelf: 'center'\n });\n\nexport function useNavigationListItem<K extends string | number>({ itemKey }: { itemKey: K }) {\n const {\n onSelectionChange,\n selection,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n edge,\n display\n } = useNavigationListContext();\n\n //Selection and focus state\n const isCurrent = currentKey === itemKey;\n\n const isSelected = selection === itemKey;\n\n const isIconOnly = display === 'icons' ? true : false;\n const isEdgeEnd = edge === 'end' ? true : false;\n\n //Styling\n const { interactionProps, applyPseudoHoverStyle, applyHoverStyle, applyActiveStyle } =\n useInteractionStyle();\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const {\n classes: listItemClasses,\n styles: {\n labelContainerClasses,\n navigationItemStackedBadge,\n navigationItemStackedBadgeRtl,\n startIconStacked\n }\n } = useComponentTheme<NavigationListItemVariantOptions, NavigationListItemStyles>(\n NavigationListItemRedwoodTheme,\n {\n focusRing: showFocusRing ? 'isFocusRing' : 'notFocusRing',\n current: isCurrent ? 'isCurrent' : 'notCurrtent',\n selected: isSelected ? 'isSelected' : 'notSelected',\n direction: isRtl ? 'isRtl' : 'notRtl',\n hybridHover: applyHoverStyle ? 'isHybridHover' : 'notHybridHover',\n pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',\n active: applyActiveStyle ? 'isActive' : 'notActive',\n edgeEnd: edge === 'end' ? 'isEnd' : 'notEnd',\n iconOnly: isIconOnly ? 'isIconOnly' : 'notIconOnly'\n }\n );\n\n const navigationItemIconOnlyClasses = classNames([startIconStacked]);\n\n const navigationItemStackedBadgeClasses = classNames([\n navigationItemStackedBadge,\n direction === 'rtl' && navigationItemStackedBadgeRtl\n ]);\n\n //Item handlers\n const handlePress = useCallback(() => {\n onSelectionChange?.({ value: itemKey as K, reason: 'pointer' });\n }, [itemKey, onSelectionChange]);\n\n //Legacy navlist makes selection on keyDown, but since preact tabbar made selection after keyUp, will do the same\n //for preact navlist\n const { pressProps } = usePress(handlePress);\n\n return {\n itemId: navigationListItemPrefix + itemKey,\n itemHandlers: mergeProps(interactionProps, pressProps /*,onFocusProps*/),\n itemClasses: classNames([listItemClasses]),\n isSelected,\n labelContainerClasses: classNames([labelContainerClasses, labelContainerFlexItemClasses]),\n labelContainerStyle: labelContainerFlexItemStyle,\n isIconOnly,\n isEdgeEnd,\n stackedBadgeClasses: classNames([navigationItemStackedBadgeClasses]),\n iconOnlyClasses: classNames([navigationItemIconOnlyClasses]),\n isCurrent,\n showFocusRing\n };\n}\n"],"names":["NavigationListContext","createContext","useNavigationListContext","useContext","flexItemStyleInterpolations","mergeInterpolations","Object","values","flexitemInterpolations","class","labelContainerFlexItemClasses","labelContainerFlexItemStyle","alignSelf","itemKey","onSelectionChange","selection","currentKey","showFocusRing","navigationListItemPrefix","edge","display","isCurrent","isSelected","isIconOnly","isEdgeEnd","interactionProps","applyPseudoHoverStyle","applyHoverStyle","applyActiveStyle","useInteractionStyle","direction","useUser","isRtl","classes","listItemClasses","styles","labelContainerClasses","navigationItemStackedBadge","navigationItemStackedBadgeRtl","startIconStacked","useComponentTheme","NavigationListItemRedwoodTheme","focusRing","current","selected","hybridHover","pseudoHover","active","edgeEnd","iconOnly","navigationItemIconOnlyClasses","classNames","navigationItemStackedBadgeClasses","handlePress","useCallback","value","reason","pressProps","usePress","itemId","itemHandlers","mergeProps","itemClasses","labelContainerStyle","stackedBadgeClasses","iconOnlyClasses"],"mappings":"oXAgCA,MAAMA,EAAwBC,EAAaA,cAA8C,MChBzF,SAASC,IACP,OAAOC,EAAAA,WAAWH,EACpB,CCAA,MAAMI,EAA8BC,EAAAA,oBAAmC,IAClEC,OAAOC,OAAOC,6BAEXC,MAAOC,KAAkCC,GAC/CP,EAA4B,CAC1BQ,UAAW,0FAGC,UAAiDC,QAAEA,IACjE,MAAMC,kBACJA,EAAiBC,UACjBA,EAASC,WACTA,EAAUC,cACVA,EAAaC,yBACbA,EAAwBC,KACxBA,EAAIC,QACJA,GACElB,IAGEmB,EAAYL,IAAeH,EAE3BS,EAAaP,IAAcF,EAE3BU,EAAyB,UAAZH,EACbI,EAAqB,QAATL,GAGZM,iBAAEA,EAAgBC,sBAAEA,EAAqBC,gBAAEA,EAAeC,iBAAEA,GAChEC,EAAAA,uBAEIC,UAAEA,GAAcC,EAAAA,UAChBC,EAAsB,QAAdF,GAGZG,QAASC,EACTC,QAAQC,sBACNA,EAAqBC,2BACrBA,EAA0BC,8BAC1BA,EAA6BC,iBAC7BA,IAEAC,EAAAA,kBACFC,EAAAA,+BACA,CACEC,UAAWzB,EAAgB,cAAgB,eAC3C0B,QAAStB,EAAY,YAAc,cACnCuB,SAAUtB,EAAa,aAAe,cACtCQ,UAAWE,EAAQ,QAAU,SAC7Ba,YAAalB,EAAkB,gBAAkB,iBACjDmB,YAAapB,EAAwB,gBAAkB,iBACvDqB,OAAQnB,EAAmB,WAAa,YACxCoB,QAAkB,QAAT7B,EAAiB,QAAU,SACpC8B,SAAU1B,EAAa,aAAe,gBAIpC2B,EAAgCC,EAAAA,WAAW,CAACZ,IAE5Ca,EAAoCD,EAAAA,WAAW,CACnDd,EACc,QAAdP,GAAuBQ,IAInBe,EAAcC,EAAAA,aAAY,KAC9BxC,IAAoB,CAAEyC,MAAO1C,EAAc2C,OAAQ,WAAY,GAC9D,CAAC3C,EAASC,KAIP2C,WAAEA,GAAeC,EAAQA,SAACL,GAEhC,MAAO,CACLM,OAAQzC,EAA2BL,EACnC+C,aAAcC,EAAAA,WAAWpC,EAAkBgC,GAC3CK,YAAaX,EAAAA,WAAW,CAACjB,IACzBZ,aACAc,sBAAuBe,EAAUA,WAAC,CAACf,EAAuB1B,IAC1DqD,oBAAqBpD,EACrBY,aACAC,YACAwC,oBAAqBb,EAAAA,WAAW,CAACC,IACjCa,gBAAiBd,EAAAA,WAAW,CAACD,IAC7B7B,YACAJ,gBAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationList-d0d74565.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx"],"sourcesContent":["import { ComponentChildren, ComponentProps } from 'preact';\nimport { useState, useCallback, MutableRef, useRef, useEffect, useId } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { MenuProps } from '../hooks/PRIVATE_useVisContextMenu/util';\nimport { useContextMenuGesture } from '../hooks/UNSAFE_useContextMenuGesture';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { Menu } from '../UNSAFE_Menu';\nimport { getDefaultContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { TabBarContextMenuConfig, TabBarItemContextMenuContext } from '../UNSAFE_TabBarCommon';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nexport const REMOVE_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\nconst TOUCH_OFFSET_VALUE = 40;\nconst menuPropGestureStates: Record<\n 'mouse' | 'keyboard' | 'touch',\n Omit<Required<MenuProps>, 'anchorRef' | 'isOpen'>\n> = {\n mouse: {\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0\n },\n keyboard: {\n initialFocus: 'firstItem',\n placement: 'bottom-start',\n offsetValue: 0\n },\n touch: {\n initialFocus: 'menu',\n placement: 'end',\n offsetValue: TOUCH_OFFSET_VALUE\n }\n};\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\nconst initialMenuProps: MenuProps = {\n isOpen: false,\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0,\n anchorRef: { current: null }\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig\n}: {\n containerRef: MutableRef<HTMLDivElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n}) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVE_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && (event.key === 'Enter' || event.key === ' ')) {\n // Prevent default to avoid page scrolling on Space (and native actions on Enter)\n event.preventDefault();\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n const [contextMenuContext, setContextMenuContext] = useState<TabBarItemContextMenuContext<K>>();\n\n const [menuProps, setMenuProps] = useState<MenuProps>(initialMenuProps);\n const [accStatusInfo, setAccStatusInfo] = useState<string>();\n\n const { triggerProps } = useContextMenuGesture(\n ({ gesture, anchor, target }) => {\n let anchorBasedOnGesture = anchor;\n let itemKey = currentKey as K;\n if (gesture === 'keyboard') {\n //We find the element where the position of the menu is going to be based of\n const elem = findElementByKey(\n containerRef.current as HTMLElement,\n currentKey as K,\n ITEM_SELECTOR\n );\n //We set the correct anchor\n anchorBasedOnGesture = elem ? elem : anchor;\n } else {\n //We search for the key using the target of the event\n const key = keyExtractor(target as HTMLElement, ITEM_SELECTOR);\n\n //On touch devices, the keyExtractor returns null because target of touch event is the entire tabbar. Hence we make use of currentkey since the context menu is always launched from selected item and its key is currentKey\n itemKey = key != null ? (key as K) : (currentKey as K);\n }\n let isRemovable = false;\n if (containerRef.current) {\n isRemovable = getItemAttribute(itemKey, containerRef.current, REMOVE_ICON_SELECTOR) != null;\n }\n const defaultContext = getDefaultContextMenu<K>({\n // For default menu items the existence of REMOVE_ICON_SELECTOR is the indicator that it is removable because we render the default menu in touch devices not the application.\n // Furthermore in corepack due to delegations onRemove is always defined as it is a even handler hence not a good check for isRemovable.\n isRemovable: isRemovable,\n handleRemove: onRemove,\n handleReorder: undefined,\n itemKey: itemKey,\n tabKeys: undefined,\n // As direction is only needed for reorder to switch the labels\n direction: undefined,\n itemLabels: {\n labelRemove: isRemovable ? translations.tabbar_labelRemove() : undefined\n },\n handleAccStatus: (detail) => {\n const removeItemLabel = getItemLabel(detail.removedKey!, containerRef.current!) as string;\n const removeStatus =\n isRemovable && detail.removedKey ? ` Removed ${removeItemLabel}` : '';\n\n setAccStatusInfo(removeStatus);\n }\n });\n setContextMenuContext(defaultContext);\n\n setMenuProps({\n ...menuPropGestureStates[gesture],\n anchorRef: { current: anchorBasedOnGesture },\n // This is set so that when no contextMenuConfig and when items is not removable we need not open it.\n isOpen: contextMenuConfig != null\n });\n },\n {\n isDisabled: !contextMenuConfig //If there is no a context menu renderer we disable the hook\n }\n );\n\n const handleCloseContextMenu = useCallback<Required<ComponentProps<typeof Menu>>['onClose']>(\n (detail) => {\n //Focus has to be set on the current target that was obtained\n //during context menu gesture when menu is dismissed or item is \"selected\"\n if (detail.reason === 'dismissed' || detail.reason === 'itemAction') {\n setCurrentKey(contextMenuContext?.itemKey);\n containerRef.current?.focus();\n }\n // We close the menu.The only prop that matters here is isOpen\n setMenuProps({ ...initialMenuProps });\n },\n [containerRef, contextMenuContext?.itemKey]\n );\n\n const contextMenuDescriptionId = 'contextMenu_' + useId();\n const contextMenuDescription = translations.tabbar_labelContextMenu();\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n menuProps: { ...menuProps, onClose: handleCloseContextMenu },\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps, triggerProps)\n };\n}\n// Utility that returns the value for a attribute related to the role=\"tab\" item.\nexport const getItemAttribute = <K extends string | number>(\n itemKey: K,\n root: HTMLElement,\n attribute: string\n) => {\n const navItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (navItem) {\n const tabBarItemAttribute = navItem.querySelector(attribute);\n return tabBarItemAttribute;\n }\n return;\n};\n\n// Utility that returns the visible inner text inside the role=\"tab\" item.\nconst getItemLabel = <K extends string | number>(itemKey: K, root: HTMLElement) => {\n const tabBarItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (tabBarItem) {\n return tabBarItem.innerText;\n }\n return;\n};\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useMemo, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { getItemAttribute, REMOVE_ICON_SELECTOR, useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport type { TabBarContextMenuConfig as NavigationListContextMenuConfig } from '../UNSAFE_TabBarCommon';\nexport {\n RemovableNavigationListItem,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n edge = 'start',\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId,\n display = 'standard'\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<\n NavigationListContextMenuConfig<string | number> | undefined\n >(() => {\n return isMobileDevice\n ? {\n itemsRenderer: (context) => {\n //Only if context is available, it is a mobile device and it is removable item, we will return remove context menu item\n if (context) {\n const isRemovableItem =\n getItemAttribute(context.itemKey, containerRef.current!, REMOVE_ICON_SELECTOR) !=\n null;\n if (isRemovableItem) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n }\n : undefined;\n }, [isMobileDevice]);\n\n const {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n containerHandlers,\n onKeyDown,\n contextMenuContext,\n menuProps,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useNavigationList({\n containerRef: containerRef as MutableRef<HTMLDivElement>,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n display,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove,\n edge\n }}>\n {children}\n </NavigationListContext.Provider>\n </div>\n {defaultContextMenuConfig && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {defaultContextMenuConfig && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {defaultContextMenuConfig && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n"],"names":["useTranslationBundle","useState","useCallback","useCurrentKey","keyExtractor","getPrevNextKeyUsingRef","useCollectionFocusRing","getFirstVisibleKey","useRef","useEffect","getKey","findElementByKey","useContextMenuGesture","getDefaultContextMenu","useId","mergeProps","forwardRef","isMobile","useMemo","_jsx","_Fragment","classNames","navigationListStyles","useTestId","useImperativeHandle","_jsxs","NavigationListContext","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/* @oracle/oraclejet-preact: undefined */
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
|
-
var NavigationListLinkItem = require('./NavigationListLinkItem-317a5200.js');
|
|
6
|
-
|
|
7
|
-
function NavigationListItem({ itemKey, label, badge, metadata, severity, icon }) {
|
|
8
|
-
return (jsxRuntime.jsx(NavigationListLinkItem.BaseNavigationListItem, { itemKey: itemKey, label: label, badge: badge, metadata: metadata, severity: severity, icon: icon }));
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
exports.NavigationListItem = NavigationListItem;
|
|
12
|
-
//# sourceMappingURL=NavigationListItem-b0b03089.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationListItem-b0b03089.js","sources":["../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity,\n icon\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n icon={icon}\n />\n );\n}\n"],"names":["_jsx","BaseNavigationListItem"],"mappings":";;;;;;AAUgB,SAAA,kBAAkB,CAA4B,EAC5D,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACuB,EAAA;AAC3B,IAAA,QACEA,cAAA,CAACC,6CAAsB,EAAA,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EAAA,CACV,EACF;AACJ;;;;"}
|