@oracle/oraclejet-preact 20.0.2 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/amd/BaseCardView-b8119561.js +2 -0
  2. package/amd/{BaseCardView-16fda4c3.js.map → BaseCardView-b8119561.js.map} +1 -1
  3. package/amd/CardFlexView-aa2f3de8.js +2 -0
  4. package/amd/{CardFlexView-d3eb7373.js.map → CardFlexView-aa2f3de8.js.map} +1 -1
  5. package/amd/CardGridView-85f90c75.js +2 -0
  6. package/amd/{CardGridView-842f70cd.js.map → CardGridView-85f90c75.js.map} +1 -1
  7. package/amd/CheckboxSet-f000e5c2.js +2 -0
  8. package/amd/CheckboxSet-f000e5c2.js.map +1 -0
  9. package/amd/ExpandableList-233c279e.js +2 -0
  10. package/amd/{ExpandableList-a9a86ad8.js.map → ExpandableList-233c279e.js.map} +1 -1
  11. package/amd/{InlineSelectSingle-7c1cc5b5.js → InlineSelectSingle-87bc8a45.js} +2 -2
  12. package/amd/{InlineSelectSingle-7c1cc5b5.js.map → InlineSelectSingle-87bc8a45.js.map} +1 -1
  13. package/amd/ListView-2678b2af.js +2 -0
  14. package/amd/{ListView-6d21e8f9.js.map → ListView-2678b2af.js.map} +1 -1
  15. package/amd/NavigationList-a6bb123d.js +2 -0
  16. package/amd/NavigationList-a6bb123d.js.map +1 -0
  17. package/amd/NavigationListItem-10bf6656.js +2 -0
  18. package/amd/NavigationListItem-10bf6656.js.map +1 -0
  19. package/amd/NavigationListLinkItem-df1826e6.js +2 -0
  20. package/amd/NavigationListLinkItem-df1826e6.js.map +1 -0
  21. package/amd/{OverflowTabBar-5ff68da7.js → OverflowTabBar-f8bf9356.js} +2 -2
  22. package/amd/{OverflowTabBar-5ff68da7.js.map → OverflowTabBar-f8bf9356.js.map} +1 -1
  23. package/amd/OverflowTabBarItem-0aa39512.js +2 -0
  24. package/amd/{OverflowTabBarItem-926b0c8a.js.map → OverflowTabBarItem-0aa39512.js.map} +1 -1
  25. package/amd/PRIVATE_BaseCardView.js +1 -1
  26. package/amd/PRIVATE_SelectCommon.js +1 -1
  27. package/amd/PRIVATE_TableList.js +1 -1
  28. package/amd/RemovableNavigationListItem-60593d4c.js +2 -0
  29. package/amd/{RemovableNavigationListItem-e298c5de.js.map → RemovableNavigationListItem-60593d4c.js.map} +1 -1
  30. package/amd/ReorderableTabBar-19a503c7.js +2 -0
  31. package/amd/{ReorderableTabBar-0c69bfd4.js.map → ReorderableTabBar-19a503c7.js.map} +1 -1
  32. package/amd/{SelectMobileFieldInput-d499ef86.js → SelectMobileFieldInput-4795a794.js} +2 -2
  33. package/amd/{SelectMobileFieldInput-d499ef86.js.map → SelectMobileFieldInput-4795a794.js.map} +1 -1
  34. package/amd/{SelectMultiple-cc9bffc6.js → SelectMultiple-e216b16c.js} +2 -2
  35. package/amd/{SelectMultiple-cc9bffc6.js.map → SelectMultiple-e216b16c.js.map} +1 -1
  36. package/amd/{SelectSingle-2bb35b67.js → SelectSingle-d53cf202.js} +2 -2
  37. package/amd/{SelectSingle-2bb35b67.js.map → SelectSingle-d53cf202.js.map} +1 -1
  38. package/amd/TabBar-92bac52f.js +2 -0
  39. package/amd/{TabBar-de723fbc.js.map → TabBar-92bac52f.js.map} +1 -1
  40. package/amd/TabBarMixed-5b5a5047.js +2 -0
  41. package/amd/{TabBarMixed-cfd346bf.js.map → TabBarMixed-5b5a5047.js.map} +1 -1
  42. package/amd/TextArea-345f89d4.js +2 -0
  43. package/amd/TextArea-345f89d4.js.map +1 -0
  44. package/amd/TextAreaAutosize-01dfd98e.js +2 -0
  45. package/amd/{TextAreaAutosize-3a13ebb2.js.map → TextAreaAutosize-01dfd98e.js.map} +1 -1
  46. package/amd/Theme-redwood/theme.css +122 -122
  47. package/amd/Theme-stable/theme.css +174 -174
  48. package/amd/UNSAFE_CardFlexView.js +1 -1
  49. package/amd/UNSAFE_CardGridView.js +1 -1
  50. package/amd/UNSAFE_CheckboxItem.js +1 -1
  51. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  52. package/amd/UNSAFE_CheckboxSet.js +1 -1
  53. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  54. package/amd/UNSAFE_ExpandableList.js +1 -1
  55. package/amd/UNSAFE_InlineSelectSingle.js +1 -1
  56. package/amd/UNSAFE_ListView.js +1 -1
  57. package/amd/UNSAFE_NavigationList.js +1 -1
  58. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  59. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  60. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  61. package/amd/UNSAFE_RichCheckboxSet.js +1 -1
  62. package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
  63. package/amd/UNSAFE_RichSelectionItem.js +1 -1
  64. package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
  65. package/amd/UNSAFE_SelectMultiple.js +1 -1
  66. package/amd/UNSAFE_SelectSingle.js +1 -1
  67. package/amd/UNSAFE_TabBar.js +1 -1
  68. package/amd/UNSAFE_TabBarCommon.js +1 -1
  69. package/amd/UNSAFE_TabBarMixed.js +1 -1
  70. package/amd/UNSAFE_TextArea.js +1 -1
  71. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  72. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  73. package/amd/VirtualizedListView-a0f338c2.js +2 -0
  74. package/amd/{VirtualizedListView-1ae7151d.js.map → VirtualizedListView-a0f338c2.js.map} +1 -1
  75. package/amd/{useDisplayValue-0e90bf4c.js → useDisplayValue-9b671893.js} +2 -2
  76. package/amd/{useDisplayValue-0e90bf4c.js.map → useDisplayValue-9b671893.js.map} +1 -1
  77. package/amd/useNavigationListItem-582f5564.js +2 -0
  78. package/amd/useNavigationListItem-582f5564.js.map +1 -0
  79. package/amd/useSelectCommon-f33709d2.js +2 -0
  80. package/amd/{useSelectCommon-a02ddf3c.js.map → useSelectCommon-f33709d2.js.map} +1 -1
  81. package/cjs/{BaseCardView-c0909427.js → BaseCardView-ba63723a.js} +4 -1
  82. package/cjs/{BaseCardView-c0909427.js.map → BaseCardView-ba63723a.js.map} +1 -1
  83. package/cjs/{NavigationListItem-3b9eb0fb.js → NavigationList-d0d74565.js} +21 -8
  84. package/cjs/NavigationList-d0d74565.js.map +1 -0
  85. package/cjs/NavigationListItem-b0b03089.js +12 -0
  86. package/cjs/NavigationListItem-b0b03089.js.map +1 -0
  87. package/cjs/{NavigationListLinkItem-62c3912e.js → NavigationListLinkItem-317a5200.js} +8 -99
  88. package/cjs/NavigationListLinkItem-317a5200.js.map +1 -0
  89. package/cjs/{OverflowTabBarItem-abcd2327.js → OverflowTabBarItem-19ad4971.js} +6 -4
  90. package/cjs/{OverflowTabBarItem-abcd2327.js.map → OverflowTabBarItem-19ad4971.js.map} +1 -1
  91. package/cjs/PRIVATE_BaseCardView.js +1 -1
  92. package/cjs/PRIVATE_TableList.js +4 -4
  93. package/cjs/SegmentStyles.styles.css +9 -12
  94. package/cjs/SegmentStyles.styles2.css +12 -9
  95. package/cjs/{TabBar-27ae2c21.js → TabBar-d84e222e.js} +9 -1
  96. package/cjs/{TabBar-27ae2c21.js.map → TabBar-d84e222e.js.map} +1 -1
  97. package/cjs/{TabBarLinkItem-b0c4b100.js → TabBarLinkItem-e924f83b.js} +2 -2
  98. package/cjs/{TabBarLinkItem-b0c4b100.js.map → TabBarLinkItem-e924f83b.js.map} +1 -1
  99. package/cjs/Theme-redwood/theme.css +131 -131
  100. package/cjs/Theme-stable/theme.css +233 -233
  101. package/cjs/UNSAFE_CardFlexView.js +1 -1
  102. package/cjs/UNSAFE_CardGridView.js +1 -1
  103. package/cjs/UNSAFE_ListView.js +53 -53
  104. package/cjs/UNSAFE_NavigationList.js +17 -15
  105. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  106. package/cjs/UNSAFE_NavigationListCommon.js +14 -13
  107. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  108. package/cjs/UNSAFE_OverflowTabBar.js +56 -53
  109. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  110. package/cjs/UNSAFE_ReorderableTabBar.js +43 -30
  111. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  112. package/cjs/UNSAFE_TabBar.js +57 -54
  113. package/cjs/UNSAFE_TabBar.js.map +1 -1
  114. package/cjs/UNSAFE_TabBarCommon.js +78 -75
  115. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  116. package/cjs/UNSAFE_TabBarMixed.js +38 -35
  117. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  118. package/cjs/useNavigationListItem-b97e76d5.js +104 -0
  119. package/cjs/useNavigationListItem-b97e76d5.js.map +1 -0
  120. package/es/{Chart-b866a74c.js → Chart-8c63da28.js} +2 -2
  121. package/es/{Chart-b866a74c.js.map → Chart-8c63da28.js.map} +1 -1
  122. package/es/PRIVATE_Chart.js +4 -4
  123. package/es/TextArea-93ce78a7.js +225 -0
  124. package/es/TextArea-93ce78a7.js.map +1 -0
  125. package/es/Theme-redwood/theme.css +427 -427
  126. package/es/Theme-stable/theme.css +583 -583
  127. package/es/UNSAFE_BarChart.js +4 -4
  128. package/es/UNSAFE_ComboChart.js +4 -4
  129. package/es/UNSAFE_LineAreaChart.js +4 -4
  130. package/es/UNSAFE_ScatterChart.js +4 -4
  131. package/es/UNSAFE_TextArea.js +106 -226
  132. package/es/UNSAFE_TextArea.js.map +1 -1
  133. package/es/UNSAFE_TextAreaAutosize.js +1 -1
  134. package/package.json +2 -2
  135. package/amd/BaseCardView-16fda4c3.js +0 -2
  136. package/amd/CardFlexView-d3eb7373.js +0 -2
  137. package/amd/CardGridView-842f70cd.js +0 -2
  138. package/amd/CheckboxSetContext-2e486ea8.js +0 -2
  139. package/amd/CheckboxSetContext-2e486ea8.js.map +0 -1
  140. package/amd/ExpandableList-a9a86ad8.js +0 -2
  141. package/amd/ListView-6d21e8f9.js +0 -2
  142. package/amd/NavigationListItem-9df5446c.js +0 -2
  143. package/amd/NavigationListItem-9df5446c.js.map +0 -1
  144. package/amd/NavigationListLinkItem-161049bb.js +0 -2
  145. package/amd/NavigationListLinkItem-161049bb.js.map +0 -1
  146. package/amd/OverflowTabBarItem-926b0c8a.js +0 -2
  147. package/amd/RemovableNavigationListItem-e298c5de.js +0 -2
  148. package/amd/ReorderableTabBar-0c69bfd4.js +0 -2
  149. package/amd/TabBar-de723fbc.js +0 -2
  150. package/amd/TabBarMixed-cfd346bf.js +0 -2
  151. package/amd/TextArea-4a3b8b56.js +0 -2
  152. package/amd/TextArea-4a3b8b56.js.map +0 -1
  153. package/amd/TextAreaAutosize-3a13ebb2.js +0 -2
  154. package/amd/VirtualizedListView-1ae7151d.js +0 -2
  155. package/amd/useSelectCommon-a02ddf3c.js +0 -2
  156. package/amd/useTextAreaAltEnter-32272da6.js +0 -2
  157. package/amd/useTextAreaAltEnter-32272da6.js.map +0 -1
  158. package/cjs/NavigationListItem-3b9eb0fb.js.map +0 -1
  159. package/cjs/NavigationListLinkItem-62c3912e.js.map +0 -1
  160. package/es/useTextAreaAltEnter-ac460f4c.js +0 -61
  161. package/es/useTextAreaAltEnter-ac460f4c.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', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './CollectionInteractionContext-0b4ed98b', './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,b,p,C,S,R,v,A,I,w,K,j,B,k,E,T,D,L,P,O,V,F){"use strict";const M="[data-oj-card-item]",z={all:!1,keys:new Set},N={xs:12,sm:16,md:24,lg:48,xl:64};function _({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,b=x.multiVariantStyles({itemOverlayFront:d}),p=x.multiVariantStyles({itemOverlayFrontVertical:d}),C={itemOverlayFront:h?p:b,itemOverlayRear:h?x.styles.itemOverlayRearVertical:x.styles.itemOverlayRear,itemDragger:x.styles.itemDragger},S=o.useCallback((()=>m?.current?.closest(M)),[]),R=o.useCallback((e=>{e.dataTransfer?.setData("text/cardview-items-key",JSON.stringify(r))}),[r]),{rootProps:v,isDragged:A,overlayZoneBeforeProps:I,overlayZoneAfterProps:j}=E.useReorderableItem({isDisabled:!l,dragKey:i,setDragKey:a,onReorder:l,rootRef:c,ref:m,getItem:S,setTransferData:R,itemStyles:C,itemSelector:M,isVertical:h}),{currentItemKey:B}=T.useReorderableContext();o.useEffect((()=>{s&&(B.current=r)}),[s,r,B]);const{direction:k}=w.useUser(),D="rtl"===k,L=y.classNames([I?.class,!h&&!D&&g&&x.styles.itemOverlayFrontEdge,!h&&D&&f&&x.styles.itemOverlayFrontEdge]),P=y.classNames([j?.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",{...j,class:P})]})]})}const H=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}),U=(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)}}),Y=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:k,onAnimationBusyStart:E,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]),M=o.useRef(null);v.useResizeObserver(B?D:M,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?(p.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:z,controller:N}=R.useAnimation(w||"none",H(s)),{nodeRef:Y,controller:G}=R.useAnimation(w?"opacity":"none",U(s,L,T));w&&E?.(),o.useEffect((()=>{void 0!==w&&(L.current=setTimeout((()=>{N.cancel(),G.cancel(),D.current&&(D.current.style.opacity="1"),T?.()}),1e3))}),[G,N,w,T]);const $=o.useMemo((()=>void 0===w?b.mergeRefs(D):b.mergeRefs(D,z,Y)),[D,z,Y,w]),W=i.getItemContext({data:{data:n,metadata:{key:r}},index:s},u,"multiple"===m,h),Z=k?t.jsx(_,{...k,itemKey:r,itemIndex:s,isCurrentKey:l,children:e(W)}):e(W);return t.jsx("div",{id:S.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 G({children:e,layout:r,gutterSize:n,columns:o}){const s=P.cardViewVars.gutterSize[n];return"grid"===r?o<1?null:t.jsx(D.Grid,{gridTemplateColumns:`repeat(${o}, 1fr)`,gap:s,children:e}):t.jsx(L.Flex,{wrap:"wrap",gap:s,children:e})}function $({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 W=(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(O.Skeleton,{width:i,height:a,borderRadius:"6px"},s&&`${r}${(new Date).getTime()}`)))},Z=e=>t.jsx($,{children:W(e.layout)}),J=e=>{const r=[t.jsx("div",{class:f.LOADMORE_STYLE_CLASS,children:W(e.layout,1)}),...W(e.layout,24)];return t.jsx($,{children:r})},X=()=>t.jsx("div",{class:f.LOADMORE_STYLE_CLASS}),q=e=>{if(e.colCount<1||null==e.cardWidth||null==e.cardHeight)return t.jsx(X,{});{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:W(e.layout,1,a,l)});return r.push(c),r.push(W(e.layout,n-1,a,l)),o||r.push(W(e.layout,e.colCount,a,i)),t.jsx($,{children:r})}},Q=e=>t.jsx($,{children:te({loadingStatus:"initial"},25,e.skeletonRenderer)}),ee=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(te(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(te(a,s-1,e.skeletonRenderer))),i||r.push(te(a,e.colCount,e.skeletonRenderer))}return t.jsx($,{children:r})},te=(e,t,r)=>Array(t).fill(r(e)),re=n.forwardRef((({children:e,data:n,onLoadMore:c=()=>{},hasMore:m=!1,getRowKey:h,currentItemOverride:b,onPersistCurrentItem:p,selectionMode:C="none",selectedKeys:S=z,onSelectionChange:R,onReorder:v,viewportConfig:A,focusBehavior:I="card","aria-label":w,"aria-labelledby":K,"aria-describedby":j,initialAnimation:B="slideUp",gutterSize:k="sm",columns:T,layout:D,cardSize:L,updateCardSize:P,skeletonRenderer:O},V)=>{const _=o.useRef(null);o.useImperativeHandle(V,(()=>_.current),[_]);const H=o.useRef(),U=N[k],$={layout:D,columns:T,gutterSize:k},{onBusyStart:W,onBusyEnd:X}=F.useAddBusyState("handling initial animation"),te=o.useRef(!0);o.useEffect((()=>{null!=L.height&&null!=L.width&&(te.current=!1)}),[L]);const re="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,_,ne,M,ue,b,p,A,void 0,"multiple"!==C,"card"===ae,"card"===ae,!1),xe=o.useCallback((e=>{R&&(!1===e.value.all&&e.value.keys.size>0&&(H.current=Array.from(e.value.keys.values()).pop()),R(e))}),[H,R]),be=o.useCallback((e=>{if(n&&R){const t=i.handleSelectionRange(e,n,h);Array.isArray(t)&&("shiftSpace"===e.eventType?H.current=e.value.start:H.current=e.value.end,R({value:{all:!1,keys:new Set(t)},target:null}))}}),[n,R,h]),{selectionProps:pe}=d.useSelection((e=>e===_.current?void 0===me?null:me:i.keyExtractor(e,M)),S,C,!1,"toggle",xe,H.current,me,((e,t)=>i.getPrevNextKeyByCount(n,h,e,t?-T:T)),((e,t)=>i.getPrevNextKeyByCount(n,h,e,t?-1:1)),(e=>{if(_.current){const t=i.findElementByKey(_.current,e,M);t&&t.scrollIntoView({block:"nearest"})}}),be),{reorderProps:Ce,reorderItemProps:Se,reorderContext:Re,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}=E.useReorderable({onReorder:e,rootRef:n,itemSelector:M,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:_,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&&_.current){const e=i.findElementByKey(_.current,me,M);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?O?t.jsx(ee,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height,isRenderAsInitial:!0,skeletonRenderer:O}):t.jsx(J,{layout:D}):O?t.jsx(ee,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height,isRenderAsInitial:!1,skeletonRenderer:O}):t.jsx(q,{layout:D,colCount:T,totalCount:n.length,cardWidth:L.width,cardHeight:L.height}):null;A=i.getViewportConfig(_,A);const je=t.jsx("div",{role:"row",children:t.jsx(G,{...$,children:t.jsx(f.LoadMoreCollection,{data:n,hasMore:m,onLoadMore:we,loadMoreIndicator:Ke,loadMoreThreshold:U+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(Y,{itemKey:o,isCurrentKey:me===o,itemData:r.data,itemIndex:r.index,isTabbable:s,isFocused:i,isFocusRingVisible:a,isGridLayout:"grid"===D,selectedKeys:S,selectionMode:C,onSelectionChange:R,focusBehavior:ae,...0===r.index&&te.current&&{onAnimationBusyStart:W},...l&&te.current&&{onAnimationBusyEnd:X},..."content"===I&&{setIsFocusBehaviorValid:ie},...te.current&&{initialAnimation:B},...0===r.index&&!L.width&&{updateCardSize:P},...ce&&{reorderItemProps:Se},children:e},o)}})})}),Be=t.jsx(G,{...$,children:O?t.jsx(Q,{skeletonRenderer:O}):t.jsx(Z,{layout:D})}),ke=!("ios"===u.getClientHints().platform||"android"===u.getClientHints().platform),Ee=[x.styles.baseStyle];ke||Ee.push(x.styles.userSelect);const Te=y.classNames(Ee);return t.jsxs("div",{...s.mergeProps(ye,pe,Ce,{onKeyDown:e=>{"content"===ae&&"Tab"===e.key&&_.current?.focus({preventScroll:!0});ce&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(le.current=!0)}}),ref:_,role:"grid",class:Te,tabIndex:0,"aria-label":w,"aria-labelledby":K,"aria-describedby":ce?ve+" "+j:j,"aria-multiselectable":re,"aria-rowcount":1,"aria-colcount":oe,children:[t.jsx(a.ReorderableContext.Provider,{value:Re,children:n?n.length||m?je:t.jsx(r.Fragment,{}):Be}),Ie]})})),ne=e=>e.id,oe=re;e.BaseCardView=oe,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=N}));
2
- //# sourceMappingURL=BaseCardView-16fda4c3.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useResizeObserver-25032462', './BaseCardView-16fda4c3'], (function(e,t,i,r,a){"use strict";e.CardFlexView=function(e){const c=i.useRef(null),[s,d]=i.useState({}),n=i.useCallback(((e,t)=>{d((i=>({...i,cardWidth:e,cardHeight:t})))}),[]),u=i.useCallback((e=>{const t=e.contentRect.width;s.containerWidth!==t&&d((e=>({...e,containerWidth:t})))}),[s]);r.useResizeObserver(c,u);const o=a.gutterSizeToPX[e.gutterSize||"sm"],h=a.getColCount(o,s.cardWidth,s.containerWidth),l={width:s.cardWidth,height:s.cardHeight};return t.jsx(a.BaseCardView,{...e,ref:c,layout:"flex",columns:h,cardSize:l,updateCardSize:n})}}));
2
- //# sourceMappingURL=CardFlexView-d3eb7373.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './BaseCardView-16fda4c3'], (function(e,t,a,i){"use strict";e.CardGridView=function(e){const[r,d]=a.useState({}),s=a.useCallback(((e,t)=>{d({width:e,height:t})}),[]);return t.jsx(i.BaseCardView,{...e,layout:"grid",cardSize:r,updateCardSize:s})}}));
2
- //# sourceMappingURL=CardGridView-842f70cd.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact', 'preact/hooks'], (function(e,t,o){"use strict";const c=t.createContext({});e.CheckboxSetContext=c,e.useCheckboxSetContext=()=>o.useContext(c)}));
2
- //# sourceMappingURL=CheckboxSetContext-2e486ea8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxSetContext-2e486ea8.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts"],"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"],"names":["CheckboxSetContext","createContext","useContext"],"mappings":"yEAWA,MAAMA,EAAqBC,EAAaA,cAA0B,mDACpC,IAAMC,EAAAA,WAAWF"}
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './classNames-08d99695', './useId-c9578d26', './useTranslationBundle-e4dd341e', './keys-4755c121', './Button-e5d7c0e3', './HiddenAccessible-037ef42d', './ChevronDown-d3ecbf6e', './CollapseIcon-f0d486e7', './List-daac1169', './GroupLoadingIndicator-b9518779', './PRIVATE_List/themes/ListStyles.css', './useNavigation-4d87e7e6', './LiveRegion-dbefb95b', './useUser-08901aba', './collectionUtils-77dc5fa1'], (function(e,t,n,a,s,i,o,r,d,l,c,u,p,x,g,y,m,k,f,h){"use strict";const v=e=>{"Enter"!==e.key&&" "!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.preventDefault()},b=(e,t,n,a,s)=>{const i=a(t);if(s&&i){const t=d.containsKey(n,i);(e&&t||!e&&!t)&&s({value:i})}},C=(e,t,n)=>{const a=t(e.target);n&&a&&(n({value:a}),"click"===e.type&&e.stopPropagation())};const L={all:!1,keys:new Set},I=s.memo((e=>{const n=i.classNames(["oj-listview-expander"]);return t.jsx("span",{class:n,role:"presentation",children:t.jsx(l.Button,{onAction:()=>{e.onToggle({value:e.itemKey})},variant:"ghost",startIcon:e.expanded?t.jsx(u.SvgChevronDown,{size:"6x"}):t.jsx(p.CollapseIcon,{size:"6x"})})})}),((e,t)=>e.itemKey===t.itemKey&&e.expanded===t.expanded&&e.onToggle===t.onToggle));e.ExpandableList=function({children:e,data:s,onSelectionChange:i,onToggle:l,onPersistCurrentItem:u,...p}){const[y,j]=a.useState(""),K=r.useTranslationBundle("@oracle/oraclejet-preact"),T=a.useRef(),A=a.useCallback((e=>{T.current=e.value,u?.(e)}),[u]),R=a.useCallback((e=>{if(l?.(e),s){const t=d.containsKey(s?.expanded,e.value);j(t?K.expandableList_groupCollapse():K.expandableList_groupExpand()),setTimeout((()=>{j("")}),1e3)}}),[l,s,K]),w=function(e,t,n){const{direction:s}=f.useUser(),i=a.useCallback((t=>{C(t,e,n)}),[e,n]),o=a.useCallback((a=>{if("Enter"===a.key||" "===a.key)C(a,e,n);else if("ArrowLeft"===a.key||"ArrowRight"===a.key){const i="rtl"===s,o="ArrowLeft"===a.key&&!i;b(o,a.target,t,e,n),a.preventDefault(),a.stopPropagation()}}),[e,n,t,s]);return n?{onClick:i,onKeyDown:v,onKeyUp:o}:{}}((e=>"treegrid"===e.getAttribute("role")?void 0===T.current?null:T.current:h.keyExtractor(e,g.GROUP_SELECTOR)),null==s?L:s.expanded,l&&R),D=o.useId(),E=a.useRef(D),S=a.useCallback((e=>{if(i&&s){const t=m.excludeGroup(s,e.value);d.isSameKey(t,e.value)?i(e):t.keys&&t.keys.size>0&&i({...e,value:t})}}),[i,s]);return t.jsxs(n.Fragment,{children:[t.jsx(x.List,{data:s,role:"treegrid",loadingIndicator:t.jsx(g.GroupLoadingIndicator,{}),onSelectionChange:S,customItemRenderer:n=>{const a=n.listItemContext.metadata.key,i=s&&l?{expanded:d.containsKey(s.expanded,a),onToggle:l}:void 0,o=((e,n)=>{const a=void 0!==n?()=>t.jsx(I,{itemKey:e.metadata.key,expanded:n.expanded,onToggle:n.onToggle}):void 0;return{...e,parentKey:e.metadata.parentKey,leaf:e.metadata.isLeaf??!0,depth:e.metadata.treeDepth??1,expander:a}})(n.listItemContext,i);return o.leaf?n.defaultListItem(o,{itemDepth:o.depth+1}):t.jsx(g.ListGroupHeader,{ariaDescribedBy:E.current,itemKey:o.metadata.key,itemIndex:o.index,itemDepth:o.depth,isFocused:n.isFocused,isFocusRingVisible:n.isFocusRingVisible,isActive:n.isActive,isGridlineVisible:!1,isExpandable:!0,expandedKeys:null==s?L:s.expanded,onToggle:l,children:e(o)},o.metadata.key)},onPersistCurrentItem:A,...p,...w,children:t=>e(t)}),l&&t.jsxs(n.Fragment,{children:[t.jsx(k.LiveRegion,{children:y}),t.jsx("span",{id:E.current,children:t.jsx(c.HiddenAccessible,{children:K.expandableList_expandCollapseInstructionText()})})]})]})}}));
2
- //# sourceMappingURL=ExpandableList-a9a86ad8.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './LayerHost-0b288129', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './CollectionInteractionContext-0b4ed98b', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css', './ReorderableContext-6d10a1b7', './HiddenAccessible-037ef42d', './List-daac1169', './TabbableModeContext-a9c97640', './logger-0f873e29', './flexitem-5db48325', './PRIVATE_List/themes/ListStyles.css', './UNSAFE_GroupedList/themes/GroupedListStyles.css', 'module', './Flex-4b81b412', './Skeleton-3e52c94a', './keys-4755c121', './useReorderableItem-7b4b2c3d', './classNames-08d99695', './useNavigation-4d87e7e6', './UNSAFE_ListView/themes/ListViewStyles.css', './mergeProps-bcfa6a92', './collectionUtils-77dc5fa1', './Menu-1b8fefc5', './MenuItem-85e4ffdc', 'preact', '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,t,r,o,s,n,i,a,l,c,d,u,m,f,y,I,S,p,C,g,x,R,b,h,M,v,L,T,E,P,k,O,_,K,w,A,D,F,j,N,U,V,G,B,H,z,Z){"use strict";const J=r.memo((function({children:e,dragKey:r,setDragKey:s,onReorder:n,rootRef:i,itemKey:a}){const l=o.useRef(null),c={itemOverlayFront:v.styles.reorderableItemOverlayFront,itemOverlayRear:v.styles.reorderableItemOverlayRear,itemDragger:v.styles.reorderableItemDragger},d=o.useCallback((e=>{e.dataTransfer?.setData("text/listview-items-key",JSON.stringify(a))}),[a]),{rootProps:u,isDragged:m,overlayZoneBeforeProps:f,overlayZoneAfterProps:y}=b.useReorderableItem({isDisabled:!n,dragKey:r,setDragKey:s,onReorder:n,rootRef:i,ref:l,getItem:()=>l?.current?.closest(M.LIST_ITEM_SELECTOR),setTransferData:d,itemStyles:c,itemSelector:M.LIST_ITEM_SELECTOR,isVertical:!0}),I=h.classNames([u?.class,v.styles.reorderableItemDnd]);return t.jsxs("div",{...u,class:I,children:[e,!m&&R.isKeyDefined(r)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{...f}),t.jsx("div",{...y})]})]})}),((e,t)=>!(!e||!t)&&(e.children===t.children&&e.dragKey===t.dragKey)));function Y({contextMenuConfig:e,testId:r,contextMenuContext:o,...s}){const n=e.accessibleLabel;let i;if(s.isOpen){if(i=e.itemsRenderer(o),G.isMenuChildrenFalsy(i))return null}else i=null;return t.jsx(E.Menu,{...s,...n&&{"aria-label":n},testId:r,children:i})}const q={mouse:{initialFocus:"menu",placement:"bottom-start",offsetValue:0},keyboard:{initialFocus:"firstItem",placement:"bottom-start",offsetValue:0},touch:{initialFocus:"firstItem",placement:"end",offsetValue:40}},Q={isOpen:!1,initialFocus:"menu",placement:"bottom-start",offsetValue:0,anchorRef:{current:null}},W=r.forwardRef((({children:e,...r},s)=>{const{contextMenuConfig:n}=r,i=o.useRef(null),{currentItemOverride:a,updateCurrentItemOverride:l}=(e=>{const t=o.useRef(),r=o.useRef();r.current!==e&&(r.current=e,t.current=e);const s=o.useCallback((e=>{t.current={rowKey:e}}),[]);return{currentItemOverride:t.current,updateCurrentItemOverride:s}})(r.currentItemOverride),c=r.data?r.data.map((e=>({data:e,metadata:{key:r.getRowKey(e)}}))):null,f=r.onLoadMore?r.onLoadMore:()=>{},y=c?{offset:0,data:c,sizePrecision:r.hasMore?"atLeast":"exact",totalSize:c.length}:null;o.useImperativeHandle(s,(()=>({getScrollPosition:()=>i.current?m.getScrollPosition(i.current):{y:0},focus:()=>{i.current&&i.current.focus()}})));const I=null!=r.onReorder,{reorderProps:S,reorderItemProps:p,reorderContext:C,reorderInstructionsId:g,reorderInstructions:x}=(({onReorder:e,rootRef:t,viewportConfig:r})=>{const s=null!=e,[n,i]=o.useState(void 0),{reorderProps:a,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}=b.useReorderable({onReorder:e,rootRef:t,itemSelector:M.LIST_ITEM_SELECTOR,isDisabled:!s,columns:1}),u=o.useRef(!1);o.useEffect((()=>{if(s&&u.current){const e=t.current,o=T.findElementByKey(e,l.currentItemKey.current,M.LIST_ITEM_SELECTOR);if(o){const t=r?.scrollerRef.current||e;M.scrollToVisible(o,t,0),u.current=!1}}}));const m=o.useMemo((()=>({dragKey:n,setDragKey:i,onReorder:e,rootRef:t})),[n,e,t]);return s?{reorderProps:L.mergeProps({onKeyDown:e=>{s&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(u.current=!0,a.onKeyDown?.(e))},onDragOver:e=>{void 0!==n&&(u.current=!1,T.dragToScroll(e,void 0!==n,t.current))}}),reorderItemProps:m,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}:{reorderProps:a,reorderContext:l,reorderInstructionsId:c,reorderInstructions:d}})({onReorder:r.onReorder,rootRef:i,viewportConfig:r.viewportConfig}),{triggerProps:R,menuProps:h,contextMenuContext:v,notifyCurrentKeyChanged:E}=((e,t,r,s)=>{const[n,i]=o.useState(),[a,l]=o.useState(Q),c=o.useRef(),{triggerProps:d}=z.useContextMenuGesture((({gesture:t,anchor:o,target:n})=>{let a=o;if("keyboard"===t){a=T.findElementByKey(r.current,c.current,M.LIST_ITEM_SELECTOR)||o;const t=H.findItemContext(c.current,e);i(t)}else{const t=T.keyExtractor(n,M.LIST_ITEM_SELECTOR),r=H.findItemContext(t,e);i(r),s(t)}l({...q[t],anchorRef:{current:a},isOpen:!0})}),{isDisabled:!t}),u=o.useCallback((e=>{"dismissed"!==e.reason&&"itemAction"!==e.reason||r.current?.focus({preventScroll:!0}),l({...Q})}),[r]);return{menuProps:{...a,onClose:u},onClose:u,contextMenuContext:n,triggerProps:d,notifyCurrentKeyChanged:e=>{c.current=e.value}}})(y,n,i,l),P=e=>{r.onPersistCurrentItem?.(e),E(e)},k=o.useCallback((r=>t.jsx(J,{...p,itemKey:r.metadata.key,children:e(r)})),[e,p]);if(I&&p)return t.jsxs(t.Fragment,{children:[t.jsxs(d.ReorderableContext.Provider,{value:C,children:[t.jsx(m.List,{...r,"aria-describedby":g,contextMenuTriggerProps:R,reorderProps:S,onLoadRange:f,scrollerRef:i,data:y,currentItemOverride:a,onPersistCurrentItem:P,children:k}),t.jsx("span",{id:g,children:t.jsx(u.HiddenAccessible,{children:x})})]}),n&&t.jsx(Y,{...h,testId:r.testId?r.testId+"-menu":void 0,contextMenuConfig:n,contextMenuContext:v})]});return t.jsxs(t.Fragment,{children:[t.jsx(m.List,{...r,loadingIndicator:r.skeletonRenderer?(O=r.skeletonRenderer,t.jsx(m.SkeletonContainer,{minimumCount:25,children:e=>O({loadingStatus:"initial",index:e})})):void 0,loadMoreIndicator:r.skeletonRenderer?(e=>t.jsx("div",{class:Z.LOADMORE_STYLE_CLASS,children:t.jsx(m.SkeletonContainer,{minimumCount:3,children:t=>e({loadingStatus:"loadMore",index:t})})}))(r.skeletonRenderer):void 0,onLoadRange:f,scrollerRef:i,data:y,contextMenuTriggerProps:R,currentItemOverride:a,onPersistCurrentItem:P,children:e}),n&&t.jsx(Y,{...h,contextMenuConfig:n,contextMenuContext:v,testId:r.testId?r.testId+"-menu":void 0})]});var O}));e.ListView=W}));
2
- //# sourceMappingURL=ListView-6d21e8f9.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', './NavigationListLinkItem-161049bb', './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,y,f,g,b,v,x,h,p,C,S,K,N,I,R,F,L,k,B,E,M,w,A,T,U){"use strict";const _='[role="tab"]',j="[data-oj-navigationlist-item-remove-icon]",D={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=f.forwardRef((({children:e,selection:x,edge:p="start",onSelectionChange:C,onRemove:S,"aria-label":K,"aria-labelledby":N,testId:I,display:R="standard"},F)=>{const L=n.useRef(null),k=r.isMobile(),B=n.useMemo((()=>k?{itemsRenderer:e=>{if(e){if(null!=V(e.itemKey,L.current,j)){const n=e.defaultMenuItems;return t.jsx(t.Fragment,{children:n})}}return null}}:void 0),[k]),{showFocusRing:E,currentKey:M,onCurrentKeyChange:w,containerHandlers:A,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 f=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,_,j):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]),[N,I]=n.useState(),[R,F]=n.useState(P),[L,k]=n.useState(),{triggerProps:B}=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,j));const u=y.getDefaultContextMenu({isRemovable:l,handleRemove:s,handleReorder:void 0,itemKey:i,tabKeys:void 0,direction:void 0,itemLabels:{labelRemove:l?f.tabbar_labelRemove():void 0},handleAccStatus:t=>{const n=H(t.removedKey,e.current),o=l&&t.removedKey?` Removed ${n}`:"";k(o)}});I(u),F({...D[t],anchorRef:{current:r},isOpen:null!=a})}),{isDisabled:!a}),E=n.useCallback((t=>{"dismissed"!==t.reason&&"itemAction"!==t.reason||(b(N?.itemKey),e.current?.focus()),F({...P})}),[e,N?.itemKey]),M="contextMenu_"+n.useId(),w=f.tabbar_labelContextMenu();return{showFocusRing:h,currentKey:g,onCurrentKeyChange:v,onKeyDown:K,menuProps:{...R,onClose:E},contextMenuContext:N,contextMenuDescription:w,contextMenuDescriptionId:M,accStatusInfo:L,containerHandlers:o.mergeProps(p,x,C,B)}}({containerRef:L,selection:x,onRemove:S,onSelectionChange:C,children:e,contextMenuConfig:B}),Q={onKeyDown:T},W=s.classNames([a.navigationListStyles.uListStyle]),X=i.useId()+"_",Y=g.useTestId(I);return f.useImperativeHandle(F,(()=>({focus:()=>{L.current&&L.current.focus()},blur:()=>{L.current&&L.current.focus()}}))),t.jsxs(t.Fragment,{children:[t.jsx("div",{"aria-label":K,"aria-labelledby":N,role:"tablist",ref:L,"aria-orientation":"vertical",tabIndex:0,"aria-activedescendant":M?X+M:"",...o.mergeProps(Q,A),...Y,class:W,children:t.jsx(h.NavigationListContext.Provider,{value:{selection:x,display:R,onSelectionChange:C,onCurrentKeyChange:w,currentKey:M,showFocusRing:E,navigationListItemPrefix:X,onRemove:S,edge:p},children:e})}),B&&z&&$&&t.jsx("span",{id:z,children:t.jsx(b.HiddenAccessible,{children:$})}),B&&J&&t.jsx(v.LiveRegion,{children:J}),B&&t.jsx(y.TabBarContextMenu,{...G,contextMenuConfig:B,contextMenuContext:U})]})}));e.NavigationList=G,e.NavigationListItem=function({itemKey:e,label:n,badge:o,metadata:s,severity:r,icon:i}){return t.jsx(h.BaseNavigationListItem,{itemKey:e,label:n,badge:o,metadata:s,severity:r,icon:i})}}));
2
- //# sourceMappingURL=NavigationListItem-9df5446c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationListItem-9df5446c.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.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","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":["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","label","badge","metadata","severity","icon","BaseNavigationListItem"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './Text-31cabc49', './usePress-949a0d03', './mergeProps-bcfa6a92', './classNames-08d99695', './useInteractionStyle-15a2bdd0', './useComponentTheme-5aa41a8f', 'preact', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme', './useUser-08901aba', './Flex-4b81b412', './Badge-b28ef084', './WarningS-98a81abe', './ErrorS-d91c3db2', './InformationS-53490112', './SuccessS-eb8fd915', './useTabBarItemTooltip-a81da662'], (function(e,s,n,t,a,i,r,o,l,c,d,u,m,g,h,x,v,p,y,j,b){"use strict";const f=c.createContext(null);function C(){return n.useContext(f)}const S=d.mergeInterpolations([...Object.values(u.flexitemInterpolations)]),{class:I,...N}=S({alignSelf:"center"});const L=e=>{e.preventDefault()};function T({itemKey:e,label:c,badge:d,metadata:u,severity:f="none",removeIcon:S,icon:T,href:F,"aria-controls":P}){const R=n.useRef(null),{itemId:H,itemHandlers:k,itemClasses:w,isSelected:E,labelContainerClasses:B,labelContainerStyle:O,isIconOnly:K,isEdgeEnd:z,stackedBadgeClasses:A,iconOnlyClasses:U,isCurrent:W,showFocusRing:D}=function({itemKey:e}){const{onSelectionChange:s,selection:t,currentKey:c,showFocusRing:d,navigationListItemPrefix:u,edge:h,display:x}=C(),v=c===e,p=t===e,y="icons"===x,j="end"===h,{interactionProps:b,applyPseudoHoverStyle:f,applyHoverStyle:S,applyActiveStyle:L}=o.useInteractionStyle(),{direction:T}=g.useUser(),F="rtl"===T,{classes:P,styles:{labelContainerClasses:R,navigationItemStackedBadge:H,navigationItemStackedBadgeRtl:k,startIconStacked:w}}=l.useComponentTheme(m.NavigationListItemRedwoodTheme,{focusRing:d?"isFocusRing":"notFocusRing",current:v?"isCurrent":"notCurrtent",selected:p?"isSelected":"notSelected",direction:F?"isRtl":"notRtl",hybridHover:S?"isHybridHover":"notHybridHover",pseudoHover:f?"isPseudoHover":"notPseudoHover",active:L?"isActive":"notActive",edgeEnd:"end"===h?"isEnd":"notEnd",iconOnly:y?"isIconOnly":"notIconOnly"}),E=r.classNames([w]),B=r.classNames([H,"rtl"===T&&k]),O=n.useCallback((()=>{s?.({value:e,reason:"pointer"})}),[e,s]),{pressProps:K}=a.usePress(O);return{itemId:u+e,itemHandlers:i.mergeProps(b,K),itemClasses:r.classNames([P]),isSelected:p,labelContainerClasses:r.classNames([R,I]),labelContainerStyle:N,isIconOnly:y,isEdgeEnd:j,stackedBadgeClasses:r.classNames([B]),iconOnlyClasses:r.classNames([E]),isCurrent:v,showFocusRing:d}}({itemKey:e}),M=!("none"===f||void 0===f),_=e=>{switch(e){case"error":return s.jsx(p.SvgErrorS,{color:"danger"});case"warning":return s.jsx(v.SvgWarningS,{color:"warning"});case"info":return s.jsx(y.SvgInformationS,{color:"info"});case"confirmation":return s.jsx(j.SvgSuccessS,{color:"success"});default:return null}},{styles:{iconLabelContainer:q,iconContainer:G,startIconPadding:J,endContentPadding:Q,removeIconPaddingWithEndContent:V,navigationItemMetadata:X,navigationListItemLink:Y}}=l.useComponentTheme(m.NavigationListItemRedwoodTheme),Z=r.classNames([X,Q]),$=r.classNames([Y]),ee=r.classNames([q,G,Q]),se=r.classNames([!K&&q,G,!K&&J,K&&U]),{styles:{navigationlistRemoveIcon:ne}}=l.useComponentTheme(m.NavigationListItemRedwoodTheme),te=u||M||d,ae=r.classNames([ne,te&&V,!te&&Q]),ie=null!=F,re=c&&!(" "===c&&void 0===c),oe=T&&null!=T&&K,le=oe,{tooltipContent:ce,tooltipEventHandlerProps:de,onLogicalFocus:ue,onLogicalBlur:me}=b.useTabBarItemTooltip({label:c,isDisabled:!le,position:z?"start":"end"});le&&(W&&D||E?ue(R.current):W&&D||me());const ge=()=>s.jsxs(s.Fragment,{children:[T&&s.jsx(h.Flex,{justify:"start",children:s.jsx("span",{class:se,children:T})}),!K&&re&&s.jsx(h.Flex,{align:"center",justify:"start",flex:"1 1 auto",children:s.jsx("span",{class:B,style:O,children:s.jsx(t.Text,{size:"inherit",weight:"inherit",variant:"inherit",children:c})})}),S&&!ie&&s.jsx("span",{class:ae,children:S})]}),he=()=>s.jsxs(s.Fragment,{children:[oe&&s.jsxs("div",{class:se,children:[T,s.jsx("span",{class:A,children:d?s.jsx(x.Badge,{size:"xs",variant:"neutral",children:d}):null})]}),!K&&T&&s.jsx(h.Flex,{justify:"start",children:s.jsx("span",{class:se,children:T})}),(!K||K&&!oe)&&re&&s.jsx(h.Flex,{align:"center",justify:"start",flex:"1 1 auto",children:s.jsx("span",{class:B,style:O,children:s.jsx(t.Text,{size:"inherit",weight:"inherit",variant:"inherit",children:c})})}),(u||M||d||S)&&s.jsxs(h.Flex,{align:"center",justify:"end",children:[" ",(!K||K&&!oe)&&d&&s.jsx("span",{class:ee,children:s.jsx(x.Badge,{size:"md",variant:"neutralSubtle",children:d})}),u&&s.jsx("span",{class:Z,children:s.jsx(t.Text,{children:"( "+u+" )"})}),M&&s.jsx("span",{class:ee,children:_(f)}),S&&!ie&&s.jsx("span",{class:ae,children:S})]})]});return ie?s.jsx("div",{...k,class:w,children:s.jsx("a",{tabindex:-1,role:"tab","data-oj-key":e,id:H,class:$,"aria-selected":E,"aria-controls":P,href:F,onClick:L,children:te?he():ge()})}):s.jsxs("div",{role:"tab",...i.mergeProps(de,k),"data-oj-key":e,id:H,class:w,"aria-selected":E,ref:R,"aria-controls":P,children:[te?he():ge(),K&&ce]})}e.BaseNavigationListItem=T,e.NavigationListContext=f,e.NavigationListLinkItem=function({itemKey:e,badge:n,metadata:t,severity:a,href:i,label:r,"aria-controls":o}){return s.jsx(T,{"aria-controls":o,itemKey:e,label:r,badge:n,metadata:t,severity:a,href:i})},e.useNavigationListContext=C}));
2
- //# sourceMappingURL=NavigationListLinkItem-161049bb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationListLinkItem-161049bb.js","sources":["../../src/UNSAFE_NavigationListCommon/NavigationListContext.ts","../../src/UNSAFE_NavigationListCommon/useNavigationListContext.ts","../../src/UNSAFE_NavigationListCommon/useNavigationListItem.ts","../../src/UNSAFE_NavigationListCommon/BaseNavigationListItem.tsx","../../src/UNSAFE_NavigationListCommon/NavigationListLinkItem.tsx"],"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","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":["NavigationListContext","createContext","useNavigationListContext","useContext","flexItemStyleInterpolations","mergeInterpolations","Object","values","flexitemInterpolations","class","labelContainerFlexItemClasses","labelContainerFlexItemStyle","alignSelf","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","onSelectionChange","selection","currentKey","navigationListItemPrefix","edge","display","interactionProps","applyPseudoHoverStyle","applyHoverStyle","applyActiveStyle","useInteractionStyle","direction","useUser","isRtl","classes","listItemClasses","styles","navigationItemStackedBadge","navigationItemStackedBadgeRtl","startIconStacked","useComponentTheme","NavigationListItemRedwoodTheme","focusRing","current","selected","hybridHover","pseudoHover","active","edgeEnd","iconOnly","navigationItemIconOnlyClasses","classNames","navigationItemStackedBadgeClasses","handlePress","useCallback","value","reason","pressProps","usePress","mergeProps","useNavigationListItem","severityRequirement","undefined","IconComponent","severityValue","_jsx","ErrorS","SvgErrorS","color","WarningS","SvgWarningS","InformationS","SvgInformationS","SuccessS","SvgSuccessS","iconLabelContainer","iconContainer","startIconPadding","endContentPadding","removeIconPaddingWithEndContent","navigationItemMetadata","navigationListItemLink","navigationItemMatadata","navigationItemLinkClass","endIconContainerClasses","startIconContainerClasses","navigationlistRemoveIcon","isComplexItem","removeClass","isLinkItem","labelRequirement","iconOnlyRequirement","showTooltip","tooltipContent","tooltipEventHandlerProps","onLogicalFocus","onLogicalBlur","useTabBarItemTooltip","isDisabled","position","labelRenderer","_jsxs","_Fragment","children","Flex","justify","jsx","align","flex","style","Text","size","weight","variant","complexItemRenderer","Badge","jsxs","tabindex","role","id","onClick","ref"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', './useTranslationBundle-e4dd341e', './clientHints-6d361eaa', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './classNames-08d99695', './Icon-234f9eb8', './useTabBarContext-15a23bb6', './Dropdown-7eca9554', './Sheet-1d02491d', './BaseTabBarItem-d7c2922b', './UNSAFE_TabBarCommon/themes/OverflowTabBarItemStyles.css', './NavigationListItem-9df5446c', './NavigationListLinkItem-161049bb', './RemovableNavigationListItem-e298c5de'], (function(e,a,t,n,s,o,i,l,r,c,d,m,u,b,v,f,g,h){"use strict";const p=e=>a.jsx(c.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 x=()=>{const{deviceRenderMode:e}=o.getClientHints();return"phone"===e};e.OverflowTabBarItem=function({overflowItemKey:e,icon:o,badge:c,overflowItems:y,isOpen:I,onClose:j}){const{selection:B,showFocusRing:C,isEdgeBottom:w,onSelect:R,onRemove:K,layout:L}=d.useTabBarContext(),N=n.useRef(!1);n.useEffect((()=>{I||(N.current=!1)}),[I]);const k=n.useRef(null),O=t.createRef(),T=n.useCallback((e=>{"pointer"===e.reason&&(N.current=!0),R?.({value:e.value}),j?.({reason:"itemAction"})}),[R,j]),F=n.useCallback((e=>{j?.({reason:e.reason})}),[j]),S=n.useCallback((()=>{j?.({reason:"dismissed"})}),[j]),D=C&&!N.current&&!x(),z=y?.find((e=>e.itemKey===B))?.tabPanelId,A=s.useTranslationBundle("@oracle/oraclejet-preact"),E=void 0!==B&&(H=B,null!=y?.find((e=>e.itemKey===H)));var H;const M=i.mergeInterpolations([...Object.values(l.flexitemInterpolations)])({flex:"stretch"===L?"1 0 auto":"0 0 auto"}),P=r.classNames([v.styles.navContainerBase]),U=n.useRef(null),_=n.useCallback((e=>{"ArrowDown"===e.key&&(e.preventDefault(),O.current?.focus())}),[O]),q=n.useCallback((()=>a.jsx("div",{onKeyDown:_,tabIndex:0,ref:U,class:P,children:a.jsx(f.NavigationList,{ref:O,selection:B,onSelectionChange:T,onRemove:K,children:y?.map((e=>null!=e.href?a.jsx(g.NavigationListLinkItem,{href:e.href,itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity}):e.isRemovable?a.jsx(h.RemovableNavigationListItem,{itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity}):a.jsx(f.NavigationListItem,{itemKey:e.itemKey,label:e.label,badge:e.badge,metadata:e.metadata,severity:e.severity})))})})),[_,P,O,B,T,K,y]);return a.jsxs(a.Fragment,{children:[y&&y.length>0&&a.jsx("div",{ref:k,style:M,children:a.jsx(b.BaseTabBarItem,{"aria-controls":z,itemKey:e,label:A.overflowItemLabel(),icon:o||a.jsx(p,{}),badge:c,showFocusRingOverride:D,selectionOverride:E,displayOverride:"icons","aria-haspopup":!0})}),x()?a.jsx(u.Sheet,{isOpen:I,onClose:S,initialFocus:"firstFocusable",children:q()}):a.jsx(m.Dropdown,{initialFocus:"firstFocusable",isOpen:I,onClose:F,placement:w?"top-end":"bottom-end",anchorRef:k,children:q()})]})}}));
2
- //# sourceMappingURL=OverflowTabBarItem-926b0c8a.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', './NavigationListLinkItem-161049bb', './Close-36cbae0d', './EmbeddedIconButton-d1472ac1', 'preact/hooks', './useHover-8b8a1496', './useTranslationBundle-e4dd341e'], (function(e,t,a,i,o,n,s,r){"use strict";e.RemovableNavigationListItem=function({itemKey:e,label:l,badge:c,metadata:d,severity:v}){const{selection:u,currentKey:m,onRemove:b}=a.useNavigationListContext(),x=u===e,g=m===e,j=n.useCallback((()=>{b?.({value:e})}),[b,e]),{hoverProps:p,isHover:B}=s.useHover({}),I=r.useTranslationBundle("@oracle/oraclejet-preact");return t.jsx("div",{...p,children:t.jsx(a.BaseNavigationListItem,{itemKey:e,label:l,badge:c,metadata:d,severity:v,removeIcon:t.jsx("span",{"data-oj-navigationlist-item-remove-icon":!0,children:t.jsx(o.EmbeddedIconButton,{"aria-label":I.tabBarNavigationList_removeCueText(),size:"xs",onAction:j,children:(B||x||g)&&t.jsx(i.SvgClose,{})})})})})}}));
2
- //# sourceMappingURL=RemovableNavigationListItem-e298c5de.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', './TabBar-de723fbc', './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', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './CollectionInteractionContext-0b4ed98b', 'css!./ReorderableItemStyles.styles.css'], (function(e,r,t,s,a,o,l,i,d,n,c,y,b,m,u,f,R,g,x,v,p,I,h){"use strict";const S='[role="tab"]';function j({children:e,dragKey:t,setDragKey:s,onReorder:o,layout:l,rootRef:i,isFirstItem:b,isLastItem:u}){const x=a.useRef(null),v=a.useCallback((()=>x?.current?.querySelector(S)),[]),p=a.useCallback((e=>{e.dataTransfer?.setData("text/tabbar-item-key",c.getKey(v())+"")}),[v]),{direction:I}=y.useUser(),h="rtl"===I,j=d.mergeInterpolations([...Object.values(n.flexitemInterpolations)])({flex:"stretch"===l?"1 0 auto":"0 0 auto"}),{rootProps:D,isDragged:C,overlayZoneBeforeProps:F,overlayZoneAfterProps:K}=m.useReorderableItem({isDisabled:!o,dragKey:t,setDragKey:s,onReorder:o,rootRef:i,ref:x,getItem:v,setTransferData:p,itemStyles:{itemOverlayFront:f.styles.itemOverlayFront,itemOverlayRear:f.styles.itemOverlayRear,itemDragger:f.styles.itemDragger},itemSelector:S}),O=g.classNames([F?.class,!h&&b&&f.styles.itemOverlayFrontFirst,h&&u&&f.styles.itemOverlayFrontFirst]),k=g.classNames([K?.class,!h&&u&&f.styles.itemOverlayRearLast,h&&b&&f.styles.itemOverlayRearLast]);return r.jsxs("div",{...D,draggable:!!o,"data-oj-draggable":o?"":void 0,style:j,children:[e,!C&&R.isKeyDefined(t)&&r.jsxs(r.Fragment,{children:[r.jsx("div",{...F,class:O}),r.jsx("div",{...K,class:k})]})]})}const D=s.forwardRef((({"aria-label":e,"aria-labelledby":s,children:d,layout:n="stretch",display:c="standard",size:y="md",edge:b="top",selection:f,onSelect:R,onRemove:g,onReorder:x,contextMenuConfig:v,testId:p},I)=>{const h=a.useRef(null),[D,C]=a.useState(void 0),F=t.toChildArray(d),K="stacked"===c?{display:c}:{display:c,size:y},{reorderProps:O,reorderContext:k,reorderInstructionsId:L,reorderStatus:T,reorderInstructions:A}=m.useReorderable({onReorder:x,rootRef:h,itemSelector:S}),B={currentItemKey:k.currentItemKey,onReorder:x};return r.jsxs("div",{ref:h,...O,children:[r.jsx(u.ReorderableContext.Provider,{value:B,children:r.jsx(i.TabBar,{ref:I,"aria-label":e,"aria-labelledby":s,layout:n,edge:b,selection:f,onSelect:R,onRemove:g,testId:p,...K,"aria-describedby":L,contextMenuConfig:v,children:F.map(((e,t)=>r.jsx(j,{dragKey:D,setDragKey:C,onReorder:x,layout:n,rootRef:h,isFirstItem:0===t,isLastItem:t===F.length-1,children:e})))})}),r.jsx("span",{id:L,children:r.jsx(o.HiddenAccessible,{children:A})}),r.jsx(l.LiveRegion,{children:T})]})}));e.ReorderableTabBar=D}));
2
- //# sourceMappingURL=ReorderableTabBar-0c69bfd4.js.map
@@ -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', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './TabBarLayout-4eb6c732', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './UNSAFE_TabBar/themes/TabBarStyles.css', './useTabBar-b05edef0', './TabBarContextMenu-6a167e27'], (function(e,t,s,a,o,n,l,r,c,d,i,b,y,x,B,u,m,T,h,S,p,C,f,g,F,U,A,M,j,v,w,E,I,L,N,_,k,R,H,P,V,z,D,$,O){"use strict";const q=l.forwardRef((({children:e,layout:o="stretch",display:n="standard",size:l="md",edge:r="top",selection:c,onSelect:i,onRemove:b,"aria-describedby":y,"aria-label":x,"aria-labelledby":B,contextMenuConfig:u},m)=>{const T=m,{rootProps:h,tabBarContext:S,menuProps:p,contextMenuContext:C,contextMenuDescription:f,contextMenuDescriptionId:g,accStatusInfo:F}=$.useTabBar({class:D.styles.tabBarBase,edge:r,onRemove:b,onSelect:i,ref:T,selection:c,size:l,children:e,contextMenuConfig:u}),U=null!=u;return t.jsxs(t.Fragment,{children:[t.jsx(d.TabBarContext.Provider,{value:S,children:t.jsx("div",{...h,"aria-label":x,"aria-labelledby":B,"aria-haspopup":null!=u,"aria-describedby":U&&g?y?`${y} ${g}`:g:y,children:t.jsx(P.TabBarLayout,{layout:o,display:n,children:e})})}),U&&g&&t.jsx("span",{id:g,children:t.jsx(s.HiddenAccessible,{children:f})}),U&&F&&t.jsx(a.LiveRegion,{children:F}),U&&t.jsx(O.TabBarContextMenu,{...p,contextMenuConfig:u,contextMenuContext:C})]})}));e.TabBar=q}));
2
- //# sourceMappingURL=TabBar-de723fbc.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', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './clientUtils-f1eea2db', './UNSAFE_TabBarMixed/themes/TabBarMixedStyles.css', './useTabBar-b05edef0', './LiveRegion-dbefb95b', './TabBarContextMenu-6a167e27', './ConveyorBeltFocusContext-7d718341'], (function(e,t,s,o,a,n,r,l,c,i,b,d,u,m,x,y,B,T,C,f,h,S,p,g,M,v,F,A,I,U,E,k,w,R,_,j,N,P,L,H,V,D,K,O,z,q,G){"use strict";const J=o.forwardRef(((e,a)=>{const{children:n,onRemove:r,onSelect:c,selection:i,size:b,"aria-label":d,"aria-labelledby":u}=e,m=s.useRef(null),x=D.isMobile(),y=s.useMemo((()=>({itemsRenderer:e=>{if(e){if(null!=O.getItemAttribute(e.itemKey,m.current,O.REMOVABLE_ITEM_ATTRIBUTE)&&x){const s=e.defaultMenuItems;return t.jsx(t.Fragment,{children:s})}}return null}})),[]),{rootProps:B,tabBarContext:T,menuProps:C,contextMenuContext:f,contextMenuDescription:h,contextMenuDescriptionId:S,accStatusInfo:g}=(M={class:K.styles.tabBarBase,edge:"bottom",onRemove:r,onSelect:c,ref:m,selection:i,size:b,children:n,contextMenuConfig:y},O.useTabBar(M));var M;const v=null!=y&&x;o.useImperativeHandle(a,(()=>({focus:()=>{m.current&&m.current.focus()},blur:()=>{m.current&&m.current.blur()}})));const[F,A]=s.useState(!1),U=s.useCallback((()=>{m.current?.focus()}),[]),E=s.useCallback((()=>{A(!0)}),[]),k=s.useCallback((()=>{A(!1)}),[]),w=s.useCallback((e=>{"Tab"!==e.key||e.shiftKey||E?.()}),[E]),R=s.useCallback((()=>{k?.()}),[k]),_=s.useMemo((()=>({focusTabbarRoot:U,isSuppressOverflowFocus:F,beginTabPass:E,endTabPass:k})),[F,U,E,k]),j=p.mergeProps(B,{onKeyDown:w,onBlur:R});return t.jsxs(G.ConveyorBeltFocusContext.Provider,{value:_,children:[t.jsx(l.TabBarContext.Provider,{value:T,children:t.jsx("div",{"aria-label":d,"aria-labelledby":u,...j,children:n})}),v&&S&&h&&t.jsx("span",{id:S,children:t.jsx(I.HiddenAccessible,{children:h})}),v&&g&&t.jsx(z.LiveRegion,{children:g}),v&&t.jsx(q.TabBarContextMenu,{...C,contextMenuConfig:y,contextMenuContext:f})]})}));e.TabBarMixed=J}));
2
- //# sourceMappingURL=TabBarMixed-cfd346bf.js.map
@@ -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', './useTextAreaAltEnter-32272da6'], (function(e,s,t,n,a,i,l,o,r,d,c,u,x,m,b,p,h,F,y,T,f,A,g,L,S,v,C,R,U,I,E,w,j,_,P,D,V,k,N,B,M,H,q,z,W,$,G,K,O,X,J,Q,Y){"use strict";const Z=t.forwardRef((({"aria-describedby":e,assistiveText:i,autoComplete:r="off",autoFocus:h=!1,columnSpan:y,helpSourceLink:L,helpSourceText:S,isDisabled:v,isReadonly:C,isRequired:R=!1,isRequiredShown:U,label:I,labelEdge:E,labelStartWidth:w,maxLength:j,maxLengthCounter:_="remaining",maxLengthUnit:k,messages:N,placeholder:B,resize:M,role:H,rows:q,textAlign:z,userAssistanceDensity:W,value:$,variant:G="default",onInput:K,onCommit:O,testId:X},J)=>{const Z=m.useTranslationBundle("@oracle/oraclejet-preact"),ee=j?Z.formControl_limitReached({CHARACTER_LIMIT:j}):"",{currentCommitValue:se,dispatch:te}=n.useCurrentValueReducer({value:$}),ne=t.useCallback((e=>{te({type:"input",payload:e.value}),K?.(e)}),[K,te]),ae=t.useCallback((e=>{te({type:"commit",payload:e.value}),O?.(e)}),[O,te]),{isDisabled:ie,isReadonly:le,labelEdge:oe,labelStartWidth:re,textAlign:de,userAssistanceDensity:ce}=l.useFormContext(),ue=v??ie,xe=C??le,me=E??oe,be=w??re,pe=z??de??Q.defaultTextAlignForVariant(G),he=W??ce,Fe=t.useRef(d.useId()),ye=e?`${e} ${Fe.current}`:Fe.current,Te=t.useRef(null),fe=t.useRef(null),{handleKeyDown:Ae}=Y.useTextAreaAltEnter({onInput:ne,textAreaRef:Te}),{focusProps:ge,isFocused:Le,methods:Se}=a.useFocusableTextField({isDisabled:ue,isReadonly:xe,enabledElementRef:Te,readonlyElementRef:fe}),{methods:ve}=u.useSelectableTextField(Te);t.useImperativeHandle(J,(()=>V.mergeProps(Se,ve)),[Se,ve]);const{isMaxLengthExceeded:Ce,isMaxLengthReached:Re,valueLength:Ue,onFilteredInput:Ie}=c.useLengthFilter({maxLength:j,maxLengthUnit:k,value:$,onInput:ne,onCommit:ae}),Ee=[...N??[],...Re?[{detail:ee,severity:"info"}]:[]],{formFieldContext:we,inputProps:je,labelProps:_e,textFieldProps:Pe,userAssistanceProps:De}=x.useTextField({ariaDescribedBy:xe||ue?e:ye,contentVariant:"textarea",helpSourceLink:L,helpSourceText:S,isDisabled:ue,isFocused:Le,isReadonly:xe,isRequiredShown:U,labelEdge:me,messages:Ee,styleVariant:G,userAssistanceDensity:he,value:$}),Ve=t.useCallback((()=>{const e=Te.current,s=e?e.value.length:null;Te.current?.setSelectionRange(s,s),Te.current?.focus()}),[Te]),ke="none"!==me?s.jsx(p.Label,{..._e,children:I}):void 0,Ne={label:"none"!==me?ke:void 0,labelEdge:"none"!==me?me:void 0,labelStartWidth:"none"!==me?be:void 0,labelText:"inside"!==me||ue?void 0:I},Be="none"===me?I:void 0,Me="efficient"===he||"reflow"===he?ue?"efficient"!==he?void 0:s.jsx(P.InlineUserAssistance,{userAssistanceDensity:he,...De}):xe?s.jsx(P.InlineUserAssistance,{fieldLabel:I,messages:N,userAssistanceDensity:he,...De}):s.jsx(P.InlineUserAssistance,{assistiveText:i,fieldLabel:I,helpSourceLink:L,helpSourceText:S,messages:Ee,isRequiredShown:U,userAssistanceDensity:he,...De}):void 0,He=t.useRef(null),qe="compact"===he?s.jsx(D.CompactUserAssistance,{anchorRef:He,messages:Ee,assistiveText:i,...De}):void 0;if(xe){const e=s.jsx(T.ReadonlyTextFieldInput,{"aria-describedby":je["aria-describedby"],"aria-label":Be,"aria-labelledby":_e.id,as:"textarea",elementRef:fe,formVariant:G,rows:q,autoFocus:h,textAlign:pe,value:$,variant:"textarea",hasEmptyLabel:""===I&&"none"===me,hasInsideLabel:void 0!==I&&"inside"===me,onBlur:je.onBlur,onFocus:je.onFocus});return s.jsx(o.FormFieldContext.Provider,{value:we,children:s.jsx(f.ReadonlyTextField,{role:"presentation",columnSpan:y,compactUserAssistance:qe,inlineUserAssistance:Me,ref:He,testId:X,variant:"textarea",mainContent:e,resize:M,...Ne})})}const ze=void 0!==j,We=s.jsxs(s.Fragment,{children:[s.jsx(F.TextFieldInput,{as:"textarea","aria-label":Be,autoComplete:r,autoFocus:h,currentCommitValue:se,hasEmptyLabel:""===I&&"none"===me,hasInsideLabel:void 0!==ke&&"inside"===me,isRequired:R,inputRef:Te,onCommit:ae,onInput:Ie,onKeyDown:Ae,placeholder:B,role:H,rows:q,textAlign:pe,value:$,...je}),"remaining"===_&&ze&&s.jsx(Y.MaxLengthCounter,{maxLength:j,valueLength:Ue,onClick:Ve}),ze&&s.jsx(b.HiddenAccessible,{id:Fe.current,isHidden:!0,children:Z.formControl_maxLength({MAX_LENGTH:`${j}`})}),ze&&Le&&s.jsx(g.MaxLengthLiveRegion,{isMaxLengthExceeded:Ce,maxLength:j,valueLength:Ue,testId:X?X+"_maxLength":void 0})]});return s.jsx(o.FormFieldContext.Provider,{value:we,children:s.jsx(A.TextField,{mainContent:We,columnSpan:y,compactUserAssistance:qe,inlineUserAssistance:Me,onBlur:ge?.onFocusOut,onFocus:ge?.onFocusIn,mainFieldRef:He,resize:M,testId:X,...Pe,...Ne})})}));e.TextArea=Z}));
2
- //# sourceMappingURL=TextArea-4a3b8b56.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextArea-4a3b8b56.js","sources":["../../src/UNSAFE_TextArea/TextArea.tsx"],"sourcesContent":["/**\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":["TextArea","forwardRef","ariaDescribedBy","assistiveText","autoComplete","autoFocus","columnSpan","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","isRequiredShown","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","maxLength","maxLengthCounter","maxLengthUnit","messages","placeholder","resize","role","rows","textAlign","propTextAlign","userAssistanceDensity","propUserAssistanceDensity","value","variant","onInput","onCommit","testId","ref","translations","useTranslationBundle","formControl_limitReached","CHARACTER_LIMIT","currentCommitValue","dispatch","useCurrentValueReducer","onInputAndDispatch","useCallback","detail","type","payload","onCommitAndDispatch","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formTextAlign","formUserAssistanceDensity","useFormContext","defaultTextAlignForVariant","maxLengthDescribedByIdRef","useRef","useId","enabledAriaDescribedBy","current","enabledElementRef","readonlyElementRef","handleKeyDown","useTextAreaAltEnter","textAreaRef","focusProps","isFocused","methods","focusMethods","useFocusableTextField","selectMethods","useSelectableTextField","useImperativeHandle","mergeProps","isMaxLengthExceeded","isMaxLengthReached","valueLength","onFilteredInput","useLengthFilter","allMessages","severity","formFieldContext","inputProps","labelProps","textFieldProps","userAssistanceProps","useTextField","contentVariant","styleVariant","onClickCounter","elm","len","length","setSelectionRange","focus","labelComp","_jsx","jsx","Label","undefined","fieldLabelProps","labelText","ariaLabel","inlineUserAssistance","InlineUserAssistance","fieldLabel","anchorRef","compactUserAssistance","CompactUserAssistance","mainContent","ReadonlyTextFieldInput","id","as","elementRef","formVariant","hasEmptyLabel","hasInsideLabel","onBlur","onFocus","FormFieldContext","Provider","children","ReadonlyTextField","hasMaxLength","_jsxs","_Fragment","Fragment","TextFieldInput","inputRef","onKeyDown","MaxLengthCounter","onClick","HiddenAccessible","isHidden","formControl_maxLength","MAX_LENGTH","MaxLengthLiveRegion","TextField","onFocusOut","onFocusIn","mainFieldRef"],"mappings":"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"}
@@ -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', './useTextAreaAltEnter-32272da6', './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,y,f,g,T,A,R,v,L,S,C,E,U,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:f,helpSourceLink:v,helpSourceText:L,isDisabled:S,isReadonly:C,isRequired:E=!1,isRequiredShown:U,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,ye=t.useRef(d.useId()),fe=e?`${e} ${ye.current}`:ye.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:Ee,valueLength:Ue,onFilteredInput:we}=c.useLengthFilter({maxLength:_,maxLengthUnit:V,value:G,onInput:ae,onCommit:oe}),Ie=[...N??[],...Ee?[{detail:se,severity:"info"}]:[]],{formFieldContext:je,inputProps:_e,labelProps:De,textFieldProps:Pe,userAssistanceProps:Be}=m.useTextField({ariaDescribedBy:xe||me?e:fe,contentVariant:"textarea",helpSourceLink:v,helpSourceText:L,isDisabled:me,isFocused:ve,isReadonly:xe,isRequiredShown:U,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:U,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:f,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(y.TextFieldInput,{as:"textarea","aria-label":Ne,autoComplete:r,autoFocus:F,currentCommitValue:te,hasEmptyLabel:""===w&&"none"===pe,hasInsideLabel:void 0!==Ve&&"inside"===pe,isRequired:E,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:Ue,onClick:He}),$e&&s.jsx(p.HiddenAccessible,{id:ye.current,children:ee.formControl_maxLength({MAX_LENGTH:`${_}`})}),$e&&ve&&s.jsx(R.MaxLengthLiveRegion,{isMaxLengthExceeded:Ce,maxLength:_,valueLength:Ue,testId:J?J+"_maxLength":void 0})]});return s.jsx(i.FormFieldContext.Provider,{value:je,children:s.jsx(A.TextField,{mainContent:ze,columnSpan:f,compactUserAssistance:We,inlineUserAssistance:Me,onBlur:Re?.onFocusOut,onFocus:Re?.onFocusIn,mainFieldRef:qe,testId:J,...Pe,...ke})})}));e.TextAreaAutosize=ee}));
2
- //# sourceMappingURL=TextAreaAutosize-3a13ebb2.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', './List-daac1169', 'preact/hooks', './TabbableModeContext-a9c97640', './logger-0f873e29', './flexitem-5db48325', './PRIVATE_List/themes/ListStyles.css', './UNSAFE_GroupedList/themes/GroupedListStyles.css', 'module', './Flex-4b81b412', './Skeleton-3e52c94a'], (function(e,s,t,i,r,o,d,c,l,a,n,u){"use strict";e.VirtualizedListView=function(e){return s.jsx(t.List,{isVirtualized:!0,...e,children:e.children})}}));
2
- //# sourceMappingURL=VirtualizedListView-1ae7151d.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', './List-daac1169', 'preact/hooks', './TabbableModeContext-a9c97640', './logger-0f873e29', './flexitem-5db48325', './PRIVATE_List/themes/ListStyles.css', './UNSAFE_GroupedList/themes/GroupedListStyles.css', 'module', './Flex-4b81b412', './Skeleton-3e52c94a', './HighlightText-ee76c447', './Grid-caac1c86', 'css!./ListItemLayoutStyles.styles.css', './ListItemText-e9ce1931', './PRIVATE_SelectCommon/themes/dropdownStyles.css', './usePress-949a0d03', './CaretDown-9961d246', './classNames-08d99695', './useComponentTheme-5aa41a8f', './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutTheme', './useTestId-f4240cbd', './UNSAFE_BaseButton/themes/redwood/BaseButtonTheme', './CollectionInteractionContext-0b4ed98b', './Text-31cabc49', './useTranslationBundle-e4dd341e', './clientHints-6d361eaa', 'preact/compat', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6'], (function(e,t,n,s,a,o,r,l,i,c,d,u,p,m,h,y,b,w,f,S,C,v,x,T,D,g,K,k,I,L,E){"use strict";function R(e,t,n){if("string"!=typeof t)return t(e);{const s=e.data;if(null!=s&&Object.prototype.hasOwnProperty.call(s,t)){const e=s[t];return String(e)}o.error(`${n}: itemText specifies field that does not exist: ${t}`)}}const F=()=>{};const P=e=>0===e.button&&!e.ctrlKey,A=e=>{e.currentTarget===e.target&&e.preventDefault()},O=()=>{};e.DefaultList=function({"aria-label":e,componentName:a,currentItemVariant:o,currentKey:r,data:l,itemRenderer:i,itemText:c,onCurrentKeyChange:u,onItemAction:m,onLoadRange:h=F,onSelectionChange:w,searchText:f,selectedKeys:S,selectionMode:C}){const v=s.useCallback((e=>{const n={data:e.data,index:e.index,metadata:e.metadata,selector:e.selector,searchText:f,selectedKeys:S,onSelectionChange:({value:e})=>{w?.({value:e})}},s={data:e.data,key:e.metadata.key,metadata:e.metadata};return i?i(n):t.jsxs(d.Flex,{align:"center",children:[e.selector&&t.jsx("div",{class:b.dropdownStyles.selectorWrapper,children:e.selector()}),t.jsx("div",{class:"single"===C?b.dropdownStyles.singleSelectItem:b.dropdownStyles.multiSelectItem,children:t.jsx(y.ListItemText,{variant:"primary",children:t.jsx(p.HighlightText,{matchText:f,children:R(s,c,a)})})})]})}),[a,i,c,w,f,S,C]),x=s.useMemo((()=>({all:!1,keys:S??new Set})),[S]),T=s.useMemo((()=>void 0!==r?{rowKey:r}:void 0),[r]),D=s.useCallback((({context:{data:e,metadata:t}})=>{m?.({context:{data:e,key:t.key,metadata:t}})}),[m]),g=s.useCallback((({value:e})=>{w?.({value:new Set(e.keys?.values())})}),[w]);return t.jsx(n.List,{"aria-label":e,allowTabbableMode:!1,currentItemVariant:o,currentItemOverride:T,data:l??null,onPersistCurrentItem:u,onItemAction:D,onLoadRange:h,onSelectionChange:g,role:"listbox",selectedKeys:x,selectionMode:C,children:e=>v(e)})},e.DropdownArrow=function({isDisabled:e=!1,onClick:n,testId:a}){const{classes:o}=C.useComponentTheme(v.ButtonLabelLayoutRedwoodTheme,{size:"sm"}),{baseTheme:r}=C.useComponentTheme(T.BaseButtonRedwoodTheme),l=s.useCallback((e=>{e.preventDefault()}),[]),{pressProps:i}=w.usePress(n??O,{isDisabled:e}),c=S.classNames([o,r,b.dropdownStyles.arrow.base,e?b.dropdownStyles.arrow.disabled:b.dropdownStyles.arrow.enabled]),d=x.useTestId(a);return t.jsx("span",{"aria-hidden":"true",class:c,tabIndex:-1,onMouseDown:l,...d,...i,children:t.jsx(f.SvgCaretDown,{})})},e.DropdownList=function({children:e,id:n,dropdownListRef:s,hasTopGap:a=!0,hasBottomGap:o=!0,isLoading:r=!1,onKeyDown:l}){const i=S.classNames([b.dropdownStyles.list.base,a&&b.dropdownStyles.list.topGap,o&&b.dropdownStyles.list.bottomGap,r&&b.dropdownStyles.list.loading]);return t.jsx(D.CollectionInteractionContext.Provider,{value:"embedded",children:t.jsx("div",{ref:s,class:i,id:n,onMouseDown:A,onKeyDown:l,children:e})})},e.EmptyResults=function(){const e=K.useTranslationBundle("@oracle/oraclejet-preact");return t.jsx("div",{class:b.dropdownStyles.results.extraItem,onMouseDown:A,children:t.jsx(g.Text,{variant:"primary",children:e.select_noMatchesFound()})})},e.createKeysFromValueItems=function(e){const t=e?.reduce(((e,t)=>(e.add(t.key),e)),new Set);return t},e.isBeforeDataFetch=function(e){return"atLeast"===e.sizePrecision&&0===e.totalSize},e.isMobile=function(){const e=k.getClientHints().deviceType;return"phone"===e||"tablet"===e},e.isPhone=function(){return"phone"===k.getClientHints().deviceType},e.isSearchClearedFirstTime=function(e,t){return void 0===e&&""===t},e.isSearchTextEmptyOrUndefined=function(e){return void 0===e||0===e.length},e.isSimpleClick=P,e.isTablet=function(){return"tablet"===k.getClientHints().deviceType},e.preventDefault=e=>{e.preventDefault()},e.preventDefaultForCurrentTarget=A,e.renderItemText=R,e.useCollectionRenderer=function({currentKey:e,onCurrentKeyChange:t,onItemAction:n,onSelectedKeysChange:s,searchText:a,selectedKeys:o,selectedOnlyData:r}){return I.useMemo((()=>{const l={searchText:a,currentRowKeyOverride:e,onPersistCurrentRowKey:t,selected:o};return void 0!==n?{...l,onRowAction:n}:{...l,onSelectedChange:s,selectedOnlyData:r}}),[e,t,n,s,a,o,r])},e.useSelectCommon=function({data:e,inputRef:t,isFocused:n,onFilter:a}){const o=s.useRef(null),r=s.useRef(null),[l,i]=s.useState(!1),[c,d]=s.useState(!1),[u,p]=s.useState({rowKey:void 0}),m=s.useRef(),h=s.useCallback((e=>{m.current=e.rowKey,p(e)}),[]),[y,b]=s.useState(!1),[w,f]=s.useState(),[S,C]=s.useState(),[v,x]=s.useState(l),[T,D]=s.useState(n),[g,K]=s.useState(y),k=s.useCallback((e=>{!e.defaultPrevented&&P(e)&&(l||i(!0),setTimeout((function(){t.current?.focus()}),0))}),[t,l]),I=s.useCallback((()=>{i(!l),t.current?.focus()}),[t,l]),R=s.useCallback((e=>{if(l)switch(i(!1),e?.type){case"keydown":if(e.code===L.KEYS.ESC)t.current?.focus();break;case"mousedown":r.current?.contains(document.activeElement)&&t.current?.focus()}}),[t,l]),F=s.useCallback((e=>{d(e.placement.startsWith("top"))}),[]),A=s.useCallback((()=>l&&r.current?E.allTabbableElements(r.current):void 0),[l]),O=s.useCallback((t=>{if(l){if(null!=e){const t=A();t?.[0]?.focus(),void 0===u.rowKey&&h({rowKey:e.data[0]?.metadata?.key})}}else i(!0);t.preventDefault()}),[u,e,A,l,h]),j=s.useCallback((e=>{if(!L.isControlOrFunctionKey(e))switch(e.code){case L.KEYS.PAGE_UP:case L.KEYS.PAGE_DOWN:return void e.preventDefault();case L.KEYS.UP:case L.KEYS.DOWN:e.preventDefault();break;case L.KEYS.ESC:l&&(i(!1),e.preventDefault(),e.stopPropagation())}}),[l]),M=s.useCallback((e=>{if(!L.isControlOrFunctionKey(e))switch(e.code){case L.KEYS.UP:case L.KEYS.DOWN:O(e)}}),[O]),B=s.useCallback((e=>{l||i(!0),b(!0),f(e.value);const t=e.value;C(t),a?.({searchText:t})}),[l,a]),U=s.useCallback((e=>{m.current=e.value}),[]),G=s.useCallback((()=>{b(!1),f(""),C(void 0)}),[]),N=s.useCallback((e=>{b(!0),f(e),C(e)}),[]);return v===l&&T===n&&g===y||l||n||!y||G(),s.useEffect((()=>{l&&!y&&a?.({searchText:void 0})}),[l,y,a]),v!==l&&(l||d(!1),x(l)),T!==n&&D(n),g!==y&&K(y),{currentRowKeyRef:m,currentRowOverride:u,dropdownRef:r,getDropdownTabbableElems:A,handleDropdownArrowClick:I,handleDropdownAutoDismiss:R,handleDropdownPosition:F,handleInput:B,handleMainFieldKeyDown:j,handleMainFieldKeyUp:M,handleUpDownArrowKeys:O,isDropdownAbove:c,isDropdownOpen:l,isFocused:n||l,isUserFiltering:y,mainFieldRef:o,onCurrentKeyChange:U,onMouseDown:k,searchText:S,setCurrentRowOverride:h,setDropdownOpen:i,setUserInput:f,stopFiltering:G,updateFiltering:N,userInput:w}}}));
2
- //# sourceMappingURL=useSelectCommon-a02ddf3c.js.map
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './classNames-08d99695', './usePress-949a0d03', './FormFieldContext-a024b891', './useFormFieldContext-9260f081', 'css!./MaxLengthCounterStyles.styles.css'], (function(e,s,t,n,a,r,l,o){"use strict";var u="MaxLengthCounterStyles_spanStyles__7dy9j72";const c=()=>{};e.MaxLengthCounter=function({maxLength:e,valueLength:r=0,onClick:o}){const{isFocused:i}=l.useFormFieldContext(),d=t.useCallback((e=>e.preventDefault()),[]),x=n.classNames([!i&&"MaxLengthCounterStyles_hide__7dy9j71"]),{pressProps:h}=a.usePress(o??c);return s.jsx("div",{class:"MaxLengthCounterStyles_maxLengthCounterBase__7dy9j70",onMouseDown:d,...h,children:s.jsxs("span",{class:x,children:[s.jsx("span",{class:u,children:r}),s.jsx("span",{class:u,children:"/"}),s.jsx("span",{class:u,children:e})]})})},e.useTextAreaAltEnter=({onInput:e,textAreaRef:s})=>{const[n,a]=t.useState(),r=t.useCallback((s=>{if(s.altKey&&"Enter"===s.key){s.preventDefault();const t=s.target,{selectionStart:n,selectionEnd:r,value:l}=t,o=l.substring(0,n)+"\n"+l.substring(r),u={previousValue:l,value:o};a(n+1),e(u)}}),[e]);return t.useLayoutEffect((()=>{n&&(s.current?.setSelectionRange(n,n),a(void 0))}),[n,s]),{handleKeyDown:r}}}));
2
- //# sourceMappingURL=useTextAreaAltEnter-32272da6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTextAreaAltEnter-32272da6.js","sources":["../../src/UNSAFE_TextArea/MaxLengthCounter.tsx","../../src/UNSAFE_TextArea/useTextAreaAltEnter.ts"],"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"],"names":["noop","maxLength","valueLength","onClick","isFocused","useFormFieldContext","killEvent","useCallback","event","preventDefault","textClasses","classNames","pressProps","usePress","_jsx","jsx","class","onMouseDown","_jsxs","jsxs","children","spanStyles","onInput","textAreaRef","selectionStart","setSelectionStart","useState","handleKeyDown","altKey","key","textarea","target","start","selectionEnd","end","value","previousValue","newValue","substring","valueUpdateDetail","useLayoutEffect","current","setSelectionRange","undefined"],"mappings":"qSAaA,MAAMA,EAAO,0BAEP,UAA2BC,UAAEA,EAASC,YAAEA,EAAc,EAACC,QAAEA,IAC7D,MAAMC,UAAEA,GAAcC,EAAAA,sBAEhBC,EAAYC,EAAAA,aAAaC,GAAiBA,EAAMC,kBAAkB,IAClEC,EAAcC,EAAAA,WAAW,EAAEP,6CAC3BQ,WAAEA,GAAeC,EAAQA,SAACV,GAAWH,GAC3C,OACEc,EAAKC,IAAA,MAAA,CAAAC,6DAA6BC,YAAaX,KAAeM,WAC5DM,EAAMC,KAAA,OAAA,CAAAH,MAAON,EAAWU,SAAA,CACtBN,cAAME,MAAOK,EAAUD,SAAGlB,IAC1BY,EAAAA,YAAME,MAAOK,EAAoBD,SAAA,MACjCN,cAAME,MAAOK,EAAaD,SAAAnB,QAIlC,wBCRmC,EAAGqB,UAASC,kBAE7C,MAAOC,EAAgBC,GAAqBC,EAAQA,WAC9CC,EAAgBpB,eACnBC,IAGC,GAAIA,EAAMoB,QAAwB,UAAdpB,EAAMqB,IAAiB,CACzCrB,EAAMC,iBACN,MAAMqB,EAAWtB,EAAMuB,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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationListItem-3b9eb0fb.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.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","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":["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","BaseNavigationListItem"],"mappings":"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"}