@vuu-ui/vuu-ui-controls 0.8.8 → 0.8.9

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 (196) hide show
  1. package/cjs/index.js +4 -4
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +4 -4
  4. package/esm/index.js.map +4 -4
  5. package/index.css +1 -1
  6. package/index.css.map +3 -3
  7. package/package.json +8 -6
  8. package/types/vuu-popups/src/dialog/Dialog.d.ts +8 -0
  9. package/types/vuu-popups/src/dialog/index.d.ts +1 -0
  10. package/types/vuu-popups/src/index.d.ts +8 -0
  11. package/types/vuu-popups/src/menu/ContextMenu.d.ts +16 -0
  12. package/types/vuu-popups/src/menu/MenuList.d.ts +43 -0
  13. package/types/vuu-popups/src/menu/context-menu-provider.d.ts +10 -0
  14. package/types/vuu-popups/src/menu/index.d.ts +4 -0
  15. package/types/vuu-popups/src/menu/key-code.d.ts +12 -0
  16. package/types/vuu-popups/src/menu/list-dom-utils.d.ts +4 -0
  17. package/types/vuu-popups/src/menu/use-cascade.d.ts +25 -0
  18. package/types/vuu-popups/src/menu/use-items-with-ids-next.d.ts +13 -0
  19. package/types/vuu-popups/src/menu/use-keyboard-navigation.d.ts +27 -0
  20. package/types/vuu-popups/src/menu/useContextMenu.d.ts +20 -0
  21. package/types/vuu-popups/src/menu/utils.d.ts +2 -0
  22. package/types/vuu-popups/src/popup/Popup.d.ts +10 -0
  23. package/types/vuu-popups/src/popup/index.d.ts +3 -0
  24. package/types/vuu-popups/src/popup/popup-service.d.ts +59 -0
  25. package/types/vuu-popups/src/popup/useAnchoredPosition.d.ts +12 -0
  26. package/types/vuu-popups/src/popup-menu/PopupMenu.d.ts +16 -0
  27. package/types/vuu-popups/src/popup-menu/index.d.ts +1 -0
  28. package/types/vuu-popups/src/portal/Portal.d.ts +30 -0
  29. package/types/vuu-popups/src/portal/index.d.ts +1 -0
  30. package/types/vuu-popups/src/portal-deprecated/PortalDeprecated.d.ts +8 -0
  31. package/types/vuu-popups/src/portal-deprecated/index.d.ts +3 -0
  32. package/types/vuu-popups/src/portal-deprecated/portal-utils.d.ts +1 -0
  33. package/types/vuu-popups/src/portal-deprecated/render-portal.d.ts +10 -0
  34. package/types/vuu-popups/src/prompt/Prompt.d.ts +14 -0
  35. package/types/vuu-popups/src/prompt/index.d.ts +1 -0
  36. package/types/vuu-popups/src/tooltip/Tooltip.d.ts +12 -0
  37. package/types/vuu-popups/src/tooltip/index.d.ts +2 -0
  38. package/types/vuu-popups/src/tooltip/useAnchoredPosition.d.ts +12 -0
  39. package/types/vuu-popups/src/tooltip/useTooltip.d.ts +16 -0
  40. package/types/vuu-ui-controls/src/combo-box/ComboBox.d.ts +18 -0
  41. package/types/vuu-ui-controls/src/combo-box/index.d.ts +1 -0
  42. package/types/vuu-ui-controls/src/combo-box/useCombobox.d.ts +22 -0
  43. package/types/{list → vuu-ui-controls/src}/common-hooks/collectionTypes.d.ts +1 -0
  44. package/types/vuu-ui-controls/src/common-hooks/index.d.ts +8 -0
  45. package/types/{list → vuu-ui-controls/src}/common-hooks/navigationTypes.d.ts +5 -3
  46. package/types/{list → vuu-ui-controls/src}/common-hooks/selectionTypes.d.ts +16 -12
  47. package/types/{list → vuu-ui-controls/src}/common-hooks/useCollectionItems.d.ts +1 -1
  48. package/types/vuu-ui-controls/src/common-hooks/useControlled.d.ts +24 -0
  49. package/types/{list → vuu-ui-controls/src}/common-hooks/useSelection.d.ts +1 -1
  50. package/types/vuu-ui-controls/src/drag-drop/DragDropProvider.d.ts +37 -0
  51. package/types/vuu-ui-controls/src/drag-drop/DragDropState.d.ts +15 -0
  52. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/dragDropTypesNext.d.ts +24 -5
  53. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/drop-target-utils.d.ts +8 -9
  54. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDisplacers.d.ts +3 -2
  55. package/types/vuu-ui-controls/src/drag-drop/useDragDropIndicator.d.ts +2 -0
  56. package/types/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovementNext.d.ts +2 -0
  57. package/types/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.d.ts +10 -0
  58. package/types/vuu-ui-controls/src/dropdown/Dropdown.d.ts +10 -0
  59. package/types/vuu-ui-controls/src/dropdown/DropdownBase.d.ts +10 -0
  60. package/types/vuu-ui-controls/src/dropdown/DropdownButton.d.ts +42 -0
  61. package/types/vuu-ui-controls/src/dropdown/dropdownTypes.d.ts +45 -0
  62. package/types/vuu-ui-controls/src/dropdown/index.d.ts +5 -0
  63. package/types/vuu-ui-controls/src/dropdown/useClickAway.d.ts +8 -0
  64. package/types/vuu-ui-controls/src/dropdown/useDropdown.d.ts +13 -0
  65. package/types/vuu-ui-controls/src/dropdown/useDropdownBase.d.ts +2 -0
  66. package/types/vuu-ui-controls/src/editable/editable-utils.d.ts +4 -0
  67. package/types/vuu-ui-controls/src/editable/index.d.ts +2 -0
  68. package/types/vuu-ui-controls/src/editable/useEditableText.d.ts +16 -0
  69. package/types/vuu-ui-controls/src/expando-input/ExpandoInput.d.ts +4 -0
  70. package/types/vuu-ui-controls/src/expando-input/index.d.ts +1 -0
  71. package/types/vuu-ui-controls/src/index.d.ts +15 -0
  72. package/types/vuu-ui-controls/src/inputs/Checkbox.d.ts +10 -0
  73. package/types/vuu-ui-controls/src/inputs/RadioButton.d.ts +10 -0
  74. package/types/vuu-ui-controls/src/inputs/index.d.ts +2 -0
  75. package/types/vuu-ui-controls/src/instrument-search/InstrumentSearch.d.ts +11 -0
  76. package/types/vuu-ui-controls/src/instrument-search/SearchCell.d.ts +4 -0
  77. package/types/vuu-ui-controls/src/instrument-search/index.d.ts +1 -0
  78. package/types/vuu-ui-controls/src/instrument-search/moving-window.d.ts +14 -0
  79. package/types/vuu-ui-controls/src/instrument-search/useDataSource.d.ts +7 -0
  80. package/types/vuu-ui-controls/src/list/ChevronIcon.d.ts +8 -0
  81. package/types/{list → vuu-ui-controls/src/list}/List.d.ts +2 -2
  82. package/types/{list → vuu-ui-controls/src/list}/ListItem.d.ts +3 -1
  83. package/types/vuu-ui-controls/src/list/RadioIcon.d.ts +6 -0
  84. package/types/{list → vuu-ui-controls/src/list}/VirtualizedList.d.ts +1 -1
  85. package/types/{list → vuu-ui-controls/src/list}/common-hooks/index.d.ts +2 -7
  86. package/types/{list → vuu-ui-controls/src/list}/common-hooks/keyUtils.d.ts +0 -1
  87. package/types/{list → vuu-ui-controls/src/list}/common-hooks/list-dom-utils.d.ts +0 -1
  88. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.d.ts +2 -2
  89. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.d.ts +1 -1
  90. package/types/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.d.ts +3 -0
  91. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useTypeahead.d.ts +1 -1
  92. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useViewportTracking.d.ts +1 -1
  93. package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.d.ts +1 -1
  94. package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/index.d.ts +1 -0
  95. package/types/vuu-ui-controls/src/list/common-hooks/utils/isSelected.d.ts +2 -0
  96. package/types/{list → vuu-ui-controls/src/list}/index.d.ts +3 -0
  97. package/types/{list → vuu-ui-controls/src/list}/listTypes.d.ts +15 -15
  98. package/types/{list → vuu-ui-controls/src/list}/useList.d.ts +2 -2
  99. package/types/{list → vuu-ui-controls/src/list}/useListHeight.d.ts +5 -4
  100. package/types/{list → vuu-ui-controls/src/list}/useVirtualization.d.ts +1 -1
  101. package/types/vuu-ui-controls/src/price-ticker/PriceTicker.d.ts +8 -0
  102. package/types/vuu-ui-controls/src/price-ticker/index.d.ts +1 -0
  103. package/types/vuu-ui-controls/src/tabstrip/TabMenu.d.ts +16 -0
  104. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabsTypes.d.ts +2 -2
  105. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.d.ts +0 -1
  106. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useSelection.d.ts +0 -1
  107. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useTabstrip.d.ts +1 -1
  108. package/types/vuu-ui-controls/src/utils/forwardCallbackProps.d.ts +3 -0
  109. package/types/vuu-ui-controls/src/utils/index.d.ts +2 -0
  110. package/types/vuu-ui-controls/src/vuu-input/VuuInput.d.ts +10 -0
  111. package/types/vuu-ui-controls/src/vuu-input/index.d.ts +1 -0
  112. package/types/vuu-utils/src/DataWindow.d.ts +39 -0
  113. package/types/vuu-utils/src/array-utils.d.ts +6 -0
  114. package/types/vuu-utils/src/box-utils.d.ts +9 -0
  115. package/types/vuu-utils/src/column-utils.d.ts +130 -0
  116. package/types/vuu-utils/src/common-types.d.ts +6 -0
  117. package/types/vuu-utils/src/component-registry.d.ts +23 -0
  118. package/types/vuu-utils/src/cookie-utils.d.ts +1 -0
  119. package/types/vuu-utils/src/data-utils.d.ts +14 -0
  120. package/types/vuu-utils/src/date-utils.d.ts +7 -0
  121. package/types/vuu-utils/src/debug-utils.d.ts +9 -0
  122. package/types/vuu-utils/src/event-emitter.d.ts +13 -0
  123. package/types/vuu-utils/src/filter-utils.d.ts +14 -0
  124. package/types/vuu-utils/src/formatting-utils.d.ts +9 -0
  125. package/types/vuu-utils/src/getUniqueId.d.ts +1 -0
  126. package/types/vuu-utils/src/group-utils.d.ts +3 -0
  127. package/types/vuu-utils/src/html-utils.d.ts +12 -0
  128. package/types/vuu-utils/src/index.d.ts +34 -0
  129. package/types/vuu-utils/src/input-utils.d.ts +2 -0
  130. package/types/vuu-utils/src/invariant.d.ts +1 -0
  131. package/types/vuu-utils/src/itemToString.d.ts +2 -0
  132. package/types/vuu-utils/src/json-utils.d.ts +6 -0
  133. package/types/vuu-utils/src/keyboard-utils.d.ts +12 -0
  134. package/types/vuu-utils/src/keyset.d.ts +11 -0
  135. package/types/vuu-utils/src/logging-utils.d.ts +44 -0
  136. package/types/vuu-utils/src/menu-utils.d.ts +2 -0
  137. package/types/vuu-utils/src/nanoid/index.d.ts +1 -0
  138. package/types/vuu-utils/src/perf-utils.d.ts +5 -0
  139. package/types/vuu-utils/src/range-utils.d.ts +24 -0
  140. package/types/vuu-utils/src/round-decimal.d.ts +1 -0
  141. package/types/vuu-utils/src/row-utils.d.ts +7 -0
  142. package/types/vuu-utils/src/screenshot-utils.d.ts +6 -0
  143. package/types/vuu-utils/src/selection-utils.d.ts +27 -0
  144. package/types/vuu-utils/src/sort-utils.d.ts +5 -0
  145. package/types/vuu-utils/src/text-utils.d.ts +2 -0
  146. package/types/vuu-utils/src/url-utils.d.ts +2 -0
  147. package/types/common-hooks/index.d.ts +0 -1
  148. package/types/drag-drop/DragDropProvider.d.ts +0 -22
  149. package/types/drag-drop/drag-utils.d.ts +0 -49
  150. package/types/drag-drop/useDragDropIndicator.d.ts +0 -2
  151. package/types/drag-drop/useDragDropNaturalMovementNext.d.ts +0 -2
  152. package/types/drag-drop/useDragSpacers.d.ts +0 -7
  153. package/types/index.d.ts +0 -5
  154. package/types/list/common-hooks/useKeyboardNavigation.d.ts +0 -4
  155. package/types/list/common-hooks/utils/isSelected.d.ts +0 -2
  156. package/types/tabstrip/TabMenu.d.ts +0 -12
  157. package/types/utils/index.d.ts +0 -1
  158. /package/types/{list → vuu-ui-controls/src}/common-hooks/collectionProvider.d.ts +0 -0
  159. /package/types/{list → vuu-ui-controls/src}/common-hooks/itemToString.d.ts +0 -0
  160. /package/types/{common-hooks → vuu-ui-controls/src/common-hooks}/use-resize-observer.d.ts +0 -0
  161. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/Draggable.d.ts +0 -0
  162. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/DropIndicator.d.ts +0 -0
  163. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/index.d.ts +0 -0
  164. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useAutoScroll.d.ts +0 -0
  165. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDropNext.d.ts +0 -0
  166. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDropIndicator.d.ts +0 -0
  167. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useTransition.d.ts +0 -0
  168. /package/types/{editable-label → vuu-ui-controls/src/editable-label}/EditableLabel.d.ts +0 -0
  169. /package/types/{editable-label → vuu-ui-controls/src/editable-label}/index.d.ts +0 -0
  170. /package/types/{list → vuu-ui-controls/src/list}/CheckboxIcon.d.ts +0 -0
  171. /package/types/{list → vuu-ui-controls/src/list}/Highlighter.d.ts +0 -0
  172. /package/types/{list → vuu-ui-controls/src/list}/ListItemGroup.d.ts +0 -0
  173. /package/types/{list → vuu-ui-controls/src/list}/ListItemHeader.d.ts +0 -0
  174. /package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.d.ts +0 -0
  175. /package/types/{list → vuu-ui-controls/src/list}/keyset.d.ts +0 -0
  176. /package/types/{list → vuu-ui-controls/src/list}/useScrollPosition.d.ts +0 -0
  177. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tab.d.ts +0 -0
  178. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabMenuOptions.d.ts +0 -0
  179. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tabstrip.d.ts +0 -0
  180. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/index.d.ts +0 -0
  181. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.d.ts +0 -0
  182. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.d.ts +0 -0
  183. /package/types/{tree → vuu-ui-controls/src/tree}/Tree.d.ts +0 -0
  184. /package/types/{tree → vuu-ui-controls/src/tree}/hierarchical-data-utils.d.ts +0 -0
  185. /package/types/{tree → vuu-ui-controls/src/tree}/index.d.ts +0 -0
  186. /package/types/{tree → vuu-ui-controls/src/tree}/key-code.d.ts +0 -0
  187. /package/types/{tree → vuu-ui-controls/src/tree}/list-dom-utils.d.ts +0 -0
  188. /package/types/{tree → vuu-ui-controls/src/tree}/use-collapsible-groups.d.ts +0 -0
  189. /package/types/{tree → vuu-ui-controls/src/tree}/use-hierarchical-data.d.ts +0 -0
  190. /package/types/{tree → vuu-ui-controls/src/tree}/use-items-with-ids.d.ts +0 -0
  191. /package/types/{tree → vuu-ui-controls/src/tree}/use-keyboard-navigation.d.ts +0 -0
  192. /package/types/{tree → vuu-ui-controls/src/tree}/use-selection.d.ts +0 -0
  193. /package/types/{tree → vuu-ui-controls/src/tree}/use-tree-keyboard-navigation.d.ts +0 -0
  194. /package/types/{tree → vuu-ui-controls/src/tree}/use-viewport-tracking.d.ts +0 -0
  195. /package/types/{tree → vuu-ui-controls/src/tree}/useTree.d.ts +0 -0
  196. /package/types/{utils → vuu-ui-controls/src/utils}/escapeRegExp.d.ts +0 -0
package/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
- "use strict";var Ss=Object.create;var Vt=Object.defineProperty;var ys=Object.getOwnPropertyDescriptor;var Ts=Object.getOwnPropertyNames;var Es=Object.getPrototypeOf,vs=Object.prototype.hasOwnProperty;var Ds=(e,t)=>{for(var n in t)Vt(e,n,{get:t[n],enumerable:!0})},to=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ts(t))!vs.call(e,r)&&r!==n&&Vt(e,r,{get:()=>t[r],enumerable:!(o=ys(t,r))||o.enumerable});return e};var Pe=(e,t,n)=>(n=e!=null?Ss(Es(e)):{},to(t||!e||!e.__esModule?Vt(n,"default",{value:e,enumerable:!0}):n,e)),ws=e=>to(Vt({},"__esModule",{value:!0}),e);var bi={};Ds(bi,{BWD:()=>Ms,DragDropProvider:()=>Ls,EditableLabel:()=>Mn,FWD:()=>Hs,Highlighter:()=>Cn,List:()=>Rl,ListItem:()=>Nt,ListItemGroup:()=>On,ListItemHeader:()=>An,ListItemProxy:()=>Ct,NOT_HIDDEN:()=>xn,NOT_OVERFLOWED:()=>vt,Tab:()=>jl,Tabstrip:()=>Wl,Tree:()=>ms,TreeNode:()=>Jn,VirtualizedList:()=>Al,cloneElement:()=>Sn,constrainRect:()=>En,dimensions:()=>Ee,dropTargetsDebugString:()=>As,getElementIndex:()=>xr,getIndexOfDraggedItem:()=>Xe,getIndexOfEditedItem:()=>Un,getIndexOfSelectedTab:()=>an,getItemById:()=>yn,getNextDropTarget:()=>Ye,isExpanded:()=>pn,measureDropTargets:()=>qe,measureElementSizeAndPosition:()=>ro,moveItem:()=>Os,mutateDropTargetsSwitchDropTargetPosition:()=>Gt,removeDraggedItem:()=>Tn,useDragDropNext:()=>wt,useDragDropProvider:()=>hn,useItemsWithIds:()=>qn,useList:()=>At});module.exports=ws(bi);var Hs="fwd",Ms="bwd";var ze=require("react"),oo=require("react/jsx-runtime"),Cs={isDragSource:!1,isDropTarget:!1,register:()=>{}},Ns=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),no=(0,ze.createContext)({registerDragDropParty:Ns}),Ls=({children:e,dragSources:t})=>{let[n,o]=(0,ze.useMemo)(()=>{let i=new Map,s=new Map;for(let[a,{dropTargets:c}]of Object.entries(t)){let d=i.get(a),f=Array.isArray(c)?c:[c];d?d.push(...f):i.set(a,f);for(let u of f){let I=s.get(u);I?I.push(a):s.set(u,[a])}}return[i,s]},[t]);console.log({dragSources:n,dropTargets:o});let r=(0,ze.useCallback)(i=>{console.log(`registerDragDropParty ${i}`)},[]),l=(0,ze.useMemo)(()=>({dragSources:n,dropTargets:o,registerDragDropParty:r}),[n,o,r]);return(0,oo.jsx)(no.Provider,{value:l,children:e})},hn=e=>{var r,l;let{dragSources:t,dropTargets:n,registerDragDropParty:o}=(0,ze.useContext)(no);if(e){let i=(r=t==null?void 0:t.has(e))!=null?r:!1,s=(l=n==null?void 0:n.has(e))!=null?l:!1;return{isDragSource:i,isDropTarget:s,register:o}}else return Cs};var ae=require("react");var Ne=require("react");var Rs=["left","right"],ks=["top","bottom"],vt=":not(.wrapped)",xn=':not([aria-hidden="true"])',Sn=e=>{let t=e.cloneNode(!0);return t.removeAttribute("id"),t.dataset.index="-1",t},ro=(e,t="width",n=!1)=>{let o=t==="width"?"left":"top",{[t]:r,[o]:l}=e.getBoundingClientRect(),{padEnd:i=!1,padStart:s=!1}=e.dataset,a=getComputedStyle(e),[c,d]=t==="width"?Rs:ks,f=s&&!n?0:parseInt(a.getPropertyValue(`margin-${c}`),10),u=i&&!n?0:parseInt(a.getPropertyValue(`margin-${d}`),10),I=r;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let p=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(p)&&p>0&&(I=p)}return[l,f+I+u]},Ps={horizontal:{CLIENT_POS:"clientX",CLIENT_SIZE:"clientWidth",CONTRA:"top",CONTRA_CLIENT_POS:"clientY",CONTRA_END:"bottom",CONTRA_POS:"y",DIMENSION:"width",END:"right",POS:"x",SCROLL_POS:"scrollLeft",SCROLL_SIZE:"scrollWidth",START:"left"},vertical:{CLIENT_POS:"clientY",CLIENT_SIZE:"clientHeight",CONTRA:"left",CONTRA_CLIENT_POS:"clientX",CONTRA_END:"right",CONTRA_POS:"x",DIMENSION:"height",END:"bottom",POS:"y",SCROLL_POS:"scrollTop",SCROLL_SIZE:"scrollHeight",START:"top"}},Ee=e=>Ps[e],yn=(e,t)=>{let n=e.find(o=>o.id===t);if(n)return n},Tn=(e,t)=>{e.splice(t,1);for(let n=t;n<e.length;n++)e[n].currentIndex-=1},qe=(e,t,n,o,r)=>{var f;let l=[],{DIMENSION:i}=Ee(t),s=Array.from(n?e.querySelectorAll(n):e.children),a=s.length,c=typeof(o==null?void 0:o.from)=="number"?o.atEnd?Math.max(0,o.from-1):o.from:0,d=typeof(o==null?void 0:o.to)=="number"?Math.min(o.to+2,a-1):a-1;for(let u=c;u<=d;u++){let I=s[u],[m,p]=ro(I,i),g=u===a-1,S=I.id,E=parseInt((f=I.dataset.index)!=null?f:"-1");l.push({currentIndex:u,dataIndex:isNaN(E)?-1:E,id:S,index:u,isDraggedItem:r===S,isLast:g,isOverflowIndicator:I.dataset.index==="overflow",element:I,start:m,end:m+p,size:p,mid:m+p/2})}return l},Xe=(e,t=!1)=>{let n=e.findIndex(r=>r.isDraggedItem),{index:o}=e[n];if(t){let r=e.filter(i=>!i.isDraggedItem).reduce((i,s)=>Math.min(i,s.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(o===0&&r===1))return r+n}return n},Gt=(e,t)=>{let n=Xe(e),o=t==="fwd"?n+1:n-1;if(o<0||o>=e.length)throw Error("switchDropTargetPosition index out of range");let r=e.at(n),l=e.at(o),i=l.size-r.size;if(t==="fwd"){let s=l.start+i,a=l.end,c={...r,start:s,mid:Math.floor(s+(a-s)/2),end:a},d=r.start,f=r.end+i,u={...l,start:d,mid:Math.floor(d+(f-d)/2),end:f};e.splice(n,2,u,c)}else{let s=l.start,a=l.end-i,c={...r,start:s,mid:Math.floor(s+(a-s)/2),end:a},d=r.start-i,f=r.end,u={...l,start:d,mid:Math.floor(d+(f-d)/2),end:f};e.splice(o,2,c,u)}},Ye=(e,t,n)=>{let o=e.length,r=Xe(e),l=e[r];if(n==="fwd"){let i=Math.round(t+l.size);for(let s=o-1;s>=0;s--){let a=e[s];if(i>a.mid)return s<r?l:a}}else{let i=Math.round(t);for(let s=0;s<o;s++){let a=e[s];if(i<a.mid)return s>r?l:a}}throw Error("no dropTraget identified")};function En(e,t){let{height:n,left:o,top:r,width:l}=e,{height:i,width:s}=t;return{height:Math.min(n,i),left:o,top:r,width:Math.min(l,s)}}var Os=(e,t,n)=>{if(t===n)return e;{let o=e.slice(),[r]=o.splice(t,1);if(n===-1)return o.concat(r);{let l=(n>t,0);return o.splice(n+l,0,r),o}}},As=e=>e.map((t,n)=>`
2
- ${t.isDraggedItem?"*":" "}[${n}] width : ${Math.floor(t.size)} ${Math.floor(t.start)} - ${Math.floor(t.end)} (mid ${Math.floor(t.mid)})`).join("");var so=require("@salt-ds/core"),lo=Pe(require("classnames")),Wt=require("react"),io=require("@vuu-ui/vuu-popups");var vn=require("react/jsx-runtime"),Ks=e=>e.split(" ").map(t=>`vuuDraggable-${t}`),Ut=(0,Wt.forwardRef)(function({wrapperClassName:t,element:n,onTransitionEnd:o,style:r,scale:l=1},i){let s=(0,Wt.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(n),l!==1&&(c.style.transform=`scale(${l},${l})`))},[n,l]),a=(0,so.useForkRef)(i,s);return(0,vn.jsx)(io.Portal,{children:(0,vn.jsx)("div",{className:(0,lo.default)("vuuDraggable",...Ks(t)),ref:a,onTransitionEnd:o,style:r})})}),Dn=e=>{let t=document.createElement("div");return t.className="vuuDraggable-spacer",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t},ao=()=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicatorPosition",e},co=e=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicator",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t};var uo=()=>{let e=(0,Ne.useRef)(0),t=(0,Ne.useRef)(!1),n=(0,Ne.useMemo)(()=>[Dn(t),Dn()],[]),o=(0,Ne.useCallback)(()=>n.forEach(a=>a.remove()),[n]),r=(0,Ne.useCallback)((a,c="width")=>{let[d,f]=n;e.current=requestAnimationFrame(()=>{t.current=!0,d.style.cssText=`${c}: 0px`,f.style.cssText=`${c}: ${a}px`,n[0]=f,n[1]=d})},[n]),l=(0,Ne.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),i=(0,Ne.useCallback)((a,c,d,f=!1,u="static",I="horizontal")=>{if(c){let m=I==="horizontal"?"width":"height",[p,g]=n;if(l(),f)t.current?(o(),p.style.cssText=`${m}: ${d}px`,g.style.cssText=`${m}: 0px`,u==="fwd"?(c.element.before(p),c.element.after(g)):(c.element.after(p),c.element.before(g))):u==="fwd"?c.element.after(g):c.element.before(g),r(d,m);else if(u==="static")p.style.cssText=`${m}: ${d}px`,c.element.before(p);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");u!=="static"&&Gt(a,u)}},[r,l,o,n]),s=(0,Ne.useCallback)((a,c,d,f=!1,u="static",I="horizontal")=>{let m=I==="horizontal"?"width":"height",[p,g]=n;l(),f?(t.current?(o(),p.style.cssText=`${m}: ${d}px`,g.style.cssText=`${m}: 0px`,c.element.before(p),c.element.after(g)):u==="fwd"?c.element.after(g):c.element.before(g),r(d,m)):(p.style.cssText=`${m}: ${d}px`,c.element.after(p)),u!=="static"&&Gt(a,u)},[r,l,o,n]);return{displaceItem:i,displaceLastItem:s,clearSpacers:o}};var mo=({draggableRef:e,onDrop:t,orientation:n="horizontal",containerRef:o,itemQuery:r="*",selected:l,viewportRange:i})=>{let s=(0,ae.useRef)(),a=(0,ae.useRef)(!1),c=(0,ae.useRef)(-1),d=(0,ae.useRef)([]),f=(0,ae.useRef)(!1),[u,I]=(0,ae.useState)(!1),{clearSpacers:m,displaceItem:p,displaceLastItem:g}=uo(),S=(0,ae.useRef)(),E=`:is(${r}${vt}${xn},.vuuOverflowContainer-OverflowIndicator)`,v=b=>d.current.findIndex(M=>M.id===b.id),x=(0,ae.useRef)();x.current=i;let T=(0,ae.useCallback)(()=>{m()},[m]),N=(0,ae.useCallback)((b,M,C)=>{let{current:R}=o,{current:D}=S;if(R&&D){d.current=qe(R,n,E,x.current),b==="fwd"?d.current.push(D):d.current.unshift(D);let{size:h}=D,L=c.current+h/2,{current:w}=d,A=Ye(w,L,"fwd");if(A){let W=v(A),V=w[W];C&&b==="fwd"?g(w,w[w.length-1],h,!1,"static",n):p(w,V,h,!0,"static",n)}}},[o,p,g,E,n]),P=(0,ae.useCallback)(b=>{let C=b.target.closest(r);C.ariaSelected&&Array.isArray(l)&&l.length>1&&console.log("its a selected element, and we have a multi select");let{current:R}=o;if(R&&C){let{SCROLL_SIZE:D,CLIENT_SIZE:h}=Ee(n),{id:y}=C,{[D]:L,[h]:w}=R;a.current=L>w;let A=d.current=qe(R,n,E,i,y),z=Xe(A),W=A[z];if(W&&R){S.current=W;let V=W.isLast?g:p;console.log({indexOfDraggedItem:z,draggedItem:W}),V(A,W,W.size,!1,"static",n)}}},[o,p,g,E,r,n,l,i]),[H,k]=(0,ae.useMemo)(()=>{let b=!1;return[R=>{if(!b){b=!0;let D=R.element.querySelector(".vuuPopupMenu");if(D){let h=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});D.dispatchEvent(h)}}},R=>{if(b){b=!1;let D=R.element.querySelector(".vuuPopupMenu");if(D){let h=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});D.dispatchEvent(h)}}}]},[]),O=(0,ae.useCallback)((b,M)=>{let{current:C}=S;if(C&&e.current&&o.current){c.current=b;let{current:R}=d,D=Ye(R,b,M);if(D&&!D.isDraggedItem)if(D.isOverflowIndicator)I(f.current=!0),H(D);else{let{size:h}=C;(v(D)===R.length-1?g:p)(R,D,h,!0,M,n);let w=R.at(-1);k(w),I(f.current=!1)}s.current=M}},[o,p,g,e,k,n,H]),$=(0,ae.useCallback)(()=>{var R;m();let{current:b}=d,M=Xe(b),C=b[M];if(C)if(s.current=void 0,f.current)t(C.index,-1);else{let D=Xe(b,!0);t(C.index,D)}if(I(!1),o.current){let D=(R=o.current)==null?void 0:R.scrollTop;M<b.length&&(o.current.scrollTop=D)}},[m,o,t]);return{beginDrag:P,drag:O,drop:$,handleScrollStart:T,handleScrollStop:N,revealOverflowedItems:u}};var se=require("react");var Dt=require("react");var fo=()=>{let e=(0,Dt.useMemo)(()=>ao(),[]),t=(0,Dt.useCallback)(()=>e.remove(),[e]);return{positionDropIndicator:(0,Dt.useCallback)((o,r="end")=>(r==="end"?o.element.after(e):o.element.before(e),e),[e]),clearSpacer:t}};var go=require("react/jsx-runtime"),Fs=':not([data-overflowed="true"])',$s=':not([aria-hidden="true"])',po=({draggableRef:e,onDrop:t,orientation:n="horizontal",containerRef:o,itemQuery:r="*",selected:l,viewportRange:i})=>{let s=(0,se.useRef)(),a=(0,se.useRef)(null),c=(0,se.useRef)(null),d=(0,se.useRef)(""),f=(0,se.useRef)(!1),u=(0,se.useRef)(-1),I=(0,se.useRef)([]),m=(0,se.useRef)(!1),[p,g]=(0,se.useState)(!1),[S,E]=(0,se.useState)(),{clearSpacer:v,positionDropIndicator:x}=fo(),T=(0,se.useRef)(),N=`:is(${r}${Fs}${$s},[data-overflow-indicator])`,P=R=>I.current.findIndex(D=>D.id===R.id),H=(R,D,h)=>{R.start+=D,R.mid+=D,R.end+=D,typeof h=="number"&&(R.currentIndex+=h)},k=(0,se.useRef)();k.current=i;let O=(0,se.useCallback)(()=>{v()},[v]),$=(0,se.useCallback)((R,D,h)=>{let{current:y}=o,{current:L}=T;if(y&&L){I.current=qe(y,n,N,k.current);let{size:w}=L,z=u.current+w/2,{current:W}=I,V=Ye(W,z,"fwd");V&&x(h&&R==="fwd"?W[W.length-1]:V,"start")}},[o,x,N,n]),b=(0,se.useCallback)(R=>{let h=R.target.closest(r);h.ariaSelected&&Array.isArray(l)&&l.length>1&&console.log("its a selected element, and we have a multi select");let{current:y}=o;if(y&&h){let{SCROLL_SIZE:L,CLIENT_SIZE:w}=Ee(n),{id:A}=h,{[L]:z,[w]:W}=y;f.current=z>W;let V=I.current=qe(y,n,N,i),j=yn(V,A);if(j&&y){let K=P(j);Tn(V,K),T.current=j;let{current:F}=k;if(F!=null&&F.atEnd)for(let q=0;q<V.length;q++)H(V[q],j.size);for(let q=K;q<V.length;q++)H(V[q],-j.size,-1);let[Z,X]=j.isLast?[V[V.length-1],"end"]:[V[K],"start"];c.current=Z,d.current=X;let ie=x(Z,X),{top:G,left:U,width:Y}=ie.getBoundingClientRect(),Q={top:j.isLast?F!=null&&F.atEnd&&!F.atStart?G+j.size-2:G-2:G-j.size-2,left:U,width:Y,height:2};E((0,go.jsx)(Ut,{wrapperClassName:"dropIndicatorContainer",style:Q,ref:a,element:co()}))}}},[r,l,o,n,N,i,x]),M=(0,se.useCallback)((R,D)=>{let{current:h}=c,{current:y}=T;if(y&&e.current&&o.current){let L=n==="horizontal"?"left":"top";u.current=R;let{current:w}=I,A=Ye(w,R,D);if(A&&A.index!==(h==null?void 0:h.index)){if(A.isOverflowIndicator)g(m.current=!0);else if(a.current){if(P(A)===w.length-1){let W=w[w.length-1],j=x(W,"start").getBoundingClientRect();a.current.style[L]=`${j.top}px`}else{let V=x(A,"start").getBoundingClientRect();a.current.style[L]=`${V.top}px`}g(m.current=!1)}c.current=A,s.current=D}}},[e,o,n,x]),C=(0,se.useCallback)(()=>{v();let{current:R}=T,{current:D}=c,{current:h}=d,{current:y}=k;if(R&&y&&D){let{index:L}=R,w=h==="start",{index:A,currentIndex:z}=D;c.current=null,s.current=void 0,m.current?t(L,-1):L<A?t(L,w?z:z+1):t(L,w?A:A+1),E(void 0)}g(!1)},[v,t]);return{beginDrag:b,drag:M,drop:C,dropIndicator:S,handleScrollStart:O,handleScrollStop:$,revealOverflowedItems:p}};var te=require("react");var Ge=require("react");var bo=({containerRef:e,onScrollingStopped:t,orientation:n="vertical"})=>{let o=(0,Ge.useRef)(null),r=(0,Ge.useRef)(!1),l=(0,Ge.useRef)(0),i=(0,Ge.useRef)("fwd"),s=(0,Ge.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),o.current!==null&&(clearTimeout(o.current),o.current=null),r.current=!1,t==null||t(i.current,l.current,c)},[t]),a=(0,Ge.useCallback)((c,d,f=30)=>{let{current:u}=e;if(u){let{SCROLL_POS:I,SCROLL_SIZE:m,CLIENT_SIZE:p}=Ee(n),{[I]:g,[m]:S,[p]:E}=u,v=c==="fwd"?S-E-g:g,x=Math.min(v,f);c==="fwd"?(i.current="fwd",u[I]=l.current=g+x):(i.current="bwd",u[I]=l.current=g-x),x===v?s(!0):(r.current=!0,o.current=window.setTimeout(()=>{a(c,d,f)},100))}},[e,n,s]);return{isScrolling:r,startScrolling:a,stopScrolling:s}};var ho=require("react/jsx-runtime"),zs={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},Io={start:0,end:1e3,contraStart:0,contraEnd:1e3},Bs=()=>zs,_s=3,Vs=(e,t)=>e.closest(t),Gs=e=>e.dataset.index==="overflow"&&e.parentElement!==null&&e.parentElement.classList.contains("overflowed"),Ws=(e,t)=>{let n=`:is(${t}${vt},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(e.querySelectorAll(n)).pop();return[r,Gs(r)]},wt=({allowDragDrop:e,containerRef:t,draggableClassName:n,itemQuery:o="*",onDragStart:r,onDrop:l,onDropSettle:i,orientation:s,...a})=>{let c=(0,te.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[d,f]=(0,te.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),u=(0,te.useRef)(null),I=(0,te.useRef)(),m=(0,te.useRef)(null),p=(0,te.useRef)(!1),g=(0,te.useRef)({x:0,y:0}),S=(0,te.useRef)({x:0,y:0}),E=(0,te.useRef)({x:0,y:0}),v=(0,te.useRef)(null),x=(0,te.useRef)(-1),T=(0,te.useRef)(-1),N=(0,te.useRef)(),{isDragSource:P,isDropTarget:H,register:k}=hn(a.id);a.id&&(P||H)&&k(a.id);let O=(0,te.useCallback)(()=>{var Y;let{current:G}=T,U=(Y=t.current)==null?void 0:Y.querySelector(`${o}[data-index="${G}"]`);U&&U.classList.remove("vuuDropTarget-settling"),T.current=-1,i==null||i(G),f(Q=>({...Q,draggable:void 0}))},[t,o,i]),$=(0,te.useCallback)(G=>{if(t.current){let{POS:U,SCROLL_POS:Y,SCROLL_SIZE:Q,CLIENT_SIZE:q}=Ee(s),{[Y]:ee,[Q]:fe,[q]:pe}=t.current,Se=fe-pe,ye=ee<Se,De=c.current.end,we=ee>0&&G-g.current[U]<=c.current.start,He=ye&&G-g.current[U]>=De;return we?"bwd":He?"fwd":""}},[t,s]),b=e===!0||e==="natural-movement"?mo:e==="drop-indicator"?po:Bs,M=(0,te.useCallback)((G,U,Y)=>{var Q;(Q=N.current)==null||Q.call(N,G,U,Y)},[]),{isScrolling:C,startScrolling:R,stopScrolling:D}=bo({containerRef:t,onScrollingStopped:M,orientation:s}),h=(0,te.useCallback)((G,U)=>{x.current=U,l==null||l(G,U),T.current=U},[l]),{beginDrag:y,drag:L,drop:w,handleScrollStart:A,handleScrollStop:z,...W}=b({...a,containerRef:t,draggableRef:u,isDragSource:P,isDropTarget:H,itemQuery:o,onDrop:h,orientation:s});N.current=z;let V=(0,te.useCallback)(G=>{let{CLIENT_POS:U,CONTRA_CLIENT_POS:Y,CONTRA_POS:Q,POS:q}=Ee(s),{clientX:ee,clientY:fe}=G,{[U]:pe,[Y]:Se}=G,ye=S.current[q],De=S.current[Q],we=Math.abs(ye-pe);if((P?Math.abs(De-Se):0)-we>5&&(c.current=Io),S.current.x=ee,S.current.y=fe,c.current===Io&&u.current){let B=S.current.x-g.current.x,_=S.current.y-g.current.y;u.current.style.top=`${_}px`,u.current.style.left=`${B}px`}else if(we>0&&u.current){let B=ye<pe?"fwd":"bwd",_=$(pe),J=S.current[q]-g.current[q];if(_&&p.current&&!C.current?(A(),R(_,1)):!_&&C.current&&D(),!C.current){let oe=Math.round(Math.max(c.current.start,Math.min(c.current.end,J))),ue=s==="horizontal"?"left":"top";u.current.style[ue]=`${oe}px`,L(oe,B)}}},[L,u,$,A,P,C,s,R,D]),j=(0,te.useCallback)(()=>{document.removeEventListener("mousemove",V,!1),document.removeEventListener("mouseup",j,!1),v.current=u.current,w(),f(G=>({...G,draggedItemIndex:-1,isDragging:!1})),I.current=void 0},[V,u,w]),K=(0,te.useCallback)(G=>{let{clientX:U,clientY:Y,target:Q}=G,q=Vs(Q,o),{current:ee}=t;if(ee&&q){let{CONTRA:fe,CONTRA_END:pe,DIMENSION:Se,END:ye,SCROLL_SIZE:De,CLIENT_SIZE:we,START:He}=Ee(s);I.current=q;let{[De]:B,[we]:_}=ee;p.current=B>_;let[J,oe]=Ws(ee,o),ue=ee.getBoundingClientRect(),Re=q.getBoundingClientRect(),ke=Re[Se],{[He]:Ve,[ye]:je}=J.getBoundingClientRect();g.current.x=U-Re.left,g.current.y=Y-Re.top,c.current.start=ue[He],c.current.end=oe?Math.max(Ve,ue.right-ke):p.current?ue[He]+ue[Se]-ke:je-ke,c.current.contraStart=ue[fe],c.current.contraEnd=ue[pe],y(G);let{dataset:{index:Fe="-1"}}=q;f({isDragging:!0,draggable:(0,ho.jsx)(Ut,{element:Sn(q),onTransitionEnd:O,ref:u,style:En(Re,ue),wrapperClassName:n}),draggedItemIndex:parseInt(Fe)}),r==null||r(),document.addEventListener("mousemove",V,!1),document.addEventListener("mouseup",j,!1)}},[y,t,V,j,n,u,o,r,s,O]),F=(0,te.useCallback)(G=>{let{CLIENT_POS:U,POS:Y}=Ee(s),{[U]:Q}=G;Math.abs(Q-E.current[Y])>_s&&t.current&&(m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",Z,!1),K(G))},[t,y,s]),Z=(0,te.useCallback)(()=>{m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",F,!1),document.removeEventListener("mouseup",Z,!1)},[F]),X=(0,te.useCallback)(G=>{let{current:U}=t;if(U&&!G.defaultPrevented){let{clientX:Y,clientY:Q}=G;S.current.x=E.current.x=Y,S.current.y=E.current.y=Q,document.addEventListener("mousemove",F,!1),document.addEventListener("mouseup",Z,!1),G.persist(),m.current=window.setTimeout(()=>{document.removeEventListener("mousemove",F,!1),document.removeEventListener("mouseup",Z,!1),K(G.nativeEvent)},500)}},[t,K,F,Z]),{current:ie}=v;return(0,te.useLayoutEffect)(()=>{if(ie&&t.current){let G=x.current,U=t.current.querySelector(`${o}[data-index="${G}"]`);U?(U.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:Y,left:Q}=U.getBoundingClientRect(),{top:q,left:ee}=ie.getBoundingClientRect();ee!==Q||q!==Y?(ie.classList.add("vuuDraggable-settling"),ie.style.top=`${Y}px`,ie.style.left=`${Q}px`):O()})):console.log(`dont have the dropped item (at ${G})`),v.current=null}},[t,o,ie,O]),{...W,...d,isScrolling:C,onMouseDown:e?X:void 0}};var xo=Pe(require("classnames")),Le=require("react"),Ht=require("@salt-ds/core");var Hn=require("react/jsx-runtime"),wn="vuuEditableLabel",Mn=(0,Le.forwardRef)(function({className:t,defaultEditing:n,defaultValue:o,editing:r,onChange:l,onEnterEditMode:i,onExitEditMode:s,value:a,...c},d){let f=(0,Le.useRef)(null),u=(0,Le.useRef)(!1),[I,m]=(0,Ht.useControlled)({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[p,g]=(0,Ht.useControlled)({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),S=(0,Le.useCallback)(O=>{g(u.current=O)},[]),E=(0,Le.useRef)(I);(0,Le.useLayoutEffect)(()=>{p&&f.current!==null&&(f.current.select(),f.current.focus())},[p,f]);let v=(0,Le.useCallback)(()=>{S(!0),i&&i()},[i,S]),x=({cancelEdit:O=!1,allowDeactivation:$=!1}={})=>{S(!1);let b=E.current;b!==I&&(O?m(b):E.current=I),s&&s(b,I,$,O)},T=O=>{let{value:$}=O.target;m($),l&&l($)},N=()=>{v()},P=()=>{u.current&&x({allowDeactivation:!0})},H=O=>{p&&O.key==="Enter"?(O.stopPropagation(),x()):O.key==="ArrowRight"||O.key==="ArrowLeft"?O.stopPropagation():O.key==="Escape"&&x({cancelEdit:!0})},k=(0,xo.default)(wn,t,{[`${wn}-editing`]:p});return(0,Hn.jsx)("div",{...c,className:k,onDoubleClick:N,"data-text":I,ref:d,children:p?(0,Hn.jsx)(Ht.Input,{inputProps:{className:`${wn}-input`},value:I,onBlur:P,onChange:T,onKeyDown:H,inputRef:f,style:{padding:0},textAlign:"left",variant:"secondary"}):I})});var So=require("@salt-ds/core");var Us=/[.*+?^${}()|[\]\\]/g;function jt(e){return e.replace(Us,"\\$&")}var ut=require("react/jsx-runtime"),js=(0,So.makePrefixer)("saltHighlighter"),Cn=e=>{let{matchPattern:t,text:n=""}=e,o=typeof t=="string"?new RegExp(`(${jt(t)})`,"gi"):t;return o===void 0?(0,ut.jsx)(ut.Fragment,{children:n}):(0,ut.jsx)("span",{children:n.split(o).map((r,l)=>r.match(o)?(0,ut.jsx)("strong",{className:js("highlight"),children:r},`${l}-${r}`):r)})};var Nn=require("react"),Ln=Pe(require("classnames"));var To=Pe(require("classnames"));var vo=require("react/jsx-runtime"),yo="vuuCheckboxIcon",Eo=({checked:e=!1,...t})=>(0,vo.jsx)("span",{...t,className:(0,To.default)(yo,{[`${yo}-checked`]:e})});var Je=require("react/jsx-runtime"),Mt="vuuListItem",Ct=(0,Nn.forwardRef)(function(t,n){return(0,Je.jsx)("div",{"aria-hidden":!0,className:(0,Ln.default)(Mt,`${Mt}-proxy`),ref:n})}),Nt=(0,Nn.forwardRef)(function({children:t,className:n,disabled:o,tabIndex:r,item:l,itemHeight:i,itemTextHighlightPattern:s,label:a,selectable:c,selected:d,showCheckbox:f,style:u,...I},m){let p=(0,Ln.default)(Mt,n,{vuuDisabled:o,[`${Mt}-checkbox`]:f}),g=i!==void 0?{...u,height:i}:u;return(0,Je.jsxs)("div",{className:p,...I,"aria-disabled":o||void 0,"aria-selected":d||void 0,ref:m,style:g,children:[f&&(0,Je.jsx)(Eo,{"aria-hidden":!0,checked:d}),t&&typeof t!="string"?t:s==null?(0,Je.jsx)("span",{className:`${Mt}-textWrapper`,children:a||t}):(0,Je.jsx)(Cn,{matchPattern:s,text:a||t})]})});var cr=require("@vuu-ui/vuu-layout"),ur=require("@salt-ds/core"),rn=Pe(require("classnames")),Ke=require("react");var Lt=require("react"),qs=require("react/jsx-runtime"),Zs=(0,Lt.createContext)(void 0);function Do(){let e=(0,Lt.useContext)(Zs);if(e)return e}var Xs=e=>Object.prototype.toString.call(e)==="[object Object]";function dt(e){return typeof e=="string"?e:Xs(e)?Object.prototype.hasOwnProperty.call(e,"label")?String(e.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
3
- `)),""):String(e)}function Ys(e,...t){let n=new Set(e);for(let o of t)for(let r of o)n.add(r);return n}var Rt="ArrowUp",kt="ArrowDown",wo="ArrowLeft",Ho="ArrowRight",Rn="Enter";var Zt="Home",Pt="End",kn="PageUp",qt="PageDown",Mo=" ";var Js=new Set(["Enter","Delete"," "]),Qs=new Set(["Tab"]),el=new Set(["ArrowRight","ArrowLeft"]),Co=new Set([Zt,Pt,kn,qt,kt,Rt]),tl=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),nl=Ys(Js,Co,el,tl,Qs),Xt=e=>nl.has(e.key)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,No=({key:e})=>Co.has(e);var Pn=require("react");var ol={},rl=e=>Array.isArray(e.childNodes),sl=e=>!0,ll=e=>e.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",Lo=({collapsibleHeaders:e,collectionHook:t,highlightedIdx:n,onToggle:o})=>{let r=(0,Pn.useCallback)(s=>{if(s.key===Ho||s.key===Rn){let a=t.data[n];a&&a.expanded===!1&&a.value&&(s.preventDefault(),t.expandGroupItem(a),o==null||o(a.value))}if(s.key===wo||s.key===Rn){let a=t.data[n];a&&a.expanded&&a.value&&(s.preventDefault(),t.collapseGroupItem(a),o==null||o(a.value))}},[t.collapseGroupItem,t.data,t.expandGroupItem,n]),i={onClick:(0,Pn.useCallback)(s=>{console.log(`useCollapsibleGroups idx=${n}`);let a=t.data[n];console.log(s.target,s.currentTarget),a&&rl(a)&&(!sl(a)||ll(s.target))&&(s.stopPropagation(),s.preventDefault(),a.expanded===!1&&a.value?(t.expandGroupItem(a),o==null||o(a.value)):a.expanded===!0&&a.value&&(t.collapseGroupItem(a),o==null||o(a.value)))},[t.collapseGroupItem,t.data,t.expandGroupItem,n]),onKeyDown:r};return e?i:ol};function il(e){if(e){let t=e.dataset.idx;if(t)return parseInt(t,10);if(t=e.ariaPosInSet)return parseInt(t,10)-1}return-1}var al=e=>e.closest("[data-idx],[aria-posinset]");var Ro=e=>il(al(e));var ko=e=>e==="none",mt=e=>Array.isArray(e)?e.length>0:e!=null,Po=e=>Array.isArray(e)?e[0]:e;var ne=require("react");var ft=require("react");var On=e=>null;var An=e=>null;var Kn=(e,t)=>e!==null&&Object.prototype.hasOwnProperty.call(e,t),Fn=e=>Kn(e,"header"),Oo=e=>Kn(e,"childNodes"),Ot=(e,t)=>e&&Object.prototype.hasOwnProperty.call(e.props,t),Ao=e=>{if((0,ft.isValidElement)(e)){if(Ot(e,"disabled"))return e.props.disabled===!0}else if(Kn(e,"disabled"))return e.disabled===!0;return!1},Ko=e=>(0,ft.isValidElement)(e)&&Ot(e,"focusable")?e.props.focusable:!0,Fo=(e,t,n)=>{if(e.childNodes)return e.childNodes.length;if(e.header){let o=n+1,r=0;for(;o<t.length&&!t[o].header;)r++,o++;return r}else return 0},cl=e=>{if(typeof e.props.children=="string")return e.props.children;if(e.props.title)return e.props.title;if(e.props.label)return e.props.label},$o=e=>e.type===An||Ot(e,"data-header"),zo=e=>e.type===On||Ot(e,"data-group"),ul=e=>Ot(e,"selectable")?e.props.selectable===!0:!zo(e)&&!$o(e),dl=e=>{if(zo(e)){let{props:{children:t}}=e;if(typeof t!="string")return zn(t)}},ml=(e,t)=>{let n=[];return ft.Children.forEach(e,o=>{(0,ft.isValidElement)(o)&&n.push(t(o))}),n},$n=(e,t)=>{if(Array.isArray(e))return e.length===0&&(t!=null&&t.noChildrenLabel)?[{label:t.noChildrenLabel,value:null}]:e.map((n,o)=>{var r,l;return{childNodes:$n(n.childNodes,t),description:n.description,expanded:n.expanded,value:n,label:(l=(r=t==null?void 0:t.itemToString)==null?void 0:r.call(t,n))!=null?l:dt(n)}});if(e)throw Error("list-child-items expects source to be an array")},zn=e=>{if(e)return ml(e,t=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":l,expanded:i=l}=t.props;return{childNodes:dl(t),disabled:o,expanded:i,header:$o(t),id:r,label:cl(t),selectable:ul(t),value:t}})},fl=new Set(["/","-","."]),pl=e=>fl.has(e),Bo=(e,t)=>t.startsWith(e)&&pl(t[e.length]),gl=new Set([".","/"]);function bl(e,t){return t.startsWith(e)?gl.has(t.charAt(e.length)):!1}function Yt(e,t,n){let o;return e.map(l=>l.id===t?{...l,...n}:bl(l.id,t)&&l.childNodes?(o=Yt(l.childNodes,t,n),{...l,childNodes:o}):l)}var Il=e=>e&&e.replace(/^\s+/g,""),Bn=e=>new RegExp(`(${jt(Il(e))})`,"gi"),_o=(e="",t=Bn)=>(n="")=>!!n.length&&!!e.length&&n.match(t(e))!==null;function Jt(e,t){return Array.isArray(e)?e.includes(t):e===t}var hl={},Qt=({children:e,id:t,label:n="",options:o=hl,source:r})=>{var D;let{getItemId:l}=o,[,i]=(0,ne.useState)(null),s=Do(),a=(0,ne.useRef)([]),c=(0,ne.useRef)([]),d=(0,ne.useMemo)(()=>[],[]),f=(0,ne.useRef)((D=o.filterPattern)!=null?D:""),{getFilterRegex:u=Bn,noChildrenLabel:I,itemToString:m=dt}=o,p=(0,ne.useCallback)(h=>o.defaultExpanded||!1,[o.defaultExpanded]),g=(0,ne.useCallback)((h,y,L=1,w="",A=[],z=[],W=[])=>(h.forEach((V,j,K)=>{var q,ee;let F=V.header&&o.collapsibleHeaders,Z=V.childNodes&&o.collapsibleHeaders===!1,X=!V.childNodes||V.childNodes.length===0,ie=Z||X&&!F,G=w?`${w}.${j}`:`item-${j}`,U=(q=V.id)!=null?q:l?l(j):`${t}-${G}`,Y=ie?void 0:(ee=V.expanded)!=null?ee:p(U),Q={...V,childNodes:void 0,count:!Z&&Y===void 0?0:Fo(V,K,j),description:V.description,disabled:Ao(V.value),focusable:Ko(V.value)?void 0:!1,id:U,index:y.value,expanded:Y,level:L};if(A.push(Q),z.push(Q),W.push(h[j].value),y.value+=1,V.childNodes){let[fe]=g(V.childNodes,y,L+1,G,[],z,W);Q.childNodes=fe}}),[A,W,z]),[o.collapsibleHeaders,l,t,p]),S=(0,ne.useCallback)(()=>f.current?_o(f.current,u):null,[u]),E=(0,ne.useCallback)((h,y=S(),L=[],w={value:0})=>{let A=!1;for(let z of h)A&&!Fn(z)||(z.value!==null&&(y===null||y(m(z.value)))&&(L[w.value]=z,w.value+=1),A=!1,Fn(z)&&z.expanded===!1?A=!0:Oo(z)&&z.expanded!==!1&&z.childNodes&&E(z.childNodes,y,L,w));return L},[S,m]),v=(0,ne.useMemo)(()=>s?d:$n(r,{itemToString:m,noChildrenLabel:I})||zn(e)||[],[s,d,r,m,I,e]),[x,T,N]=(0,ne.useMemo)(()=>s?[d,d,d]:g(v,{value:0}),[d,g,s,v]);c.current=N,(0,ne.useMemo)(()=>s?d:a.current=E(x),[d,E,x,s]);let P=(0,ne.useRef)(x),H=(0,ne.useCallback)((h="")=>{typeof h=="string"&&(f.current=h,a.current=E(x),i({}))},[x,E]),k=(0,ne.useCallback)((h,y=x)=>{let L=y.find(w=>{var A;return w.id===h||((A=w==null?void 0:w.childNodes)==null?void 0:A.length)&&Bo(w.id,h)});if((L==null?void 0:L.id)===h)return T==null?void 0:T[L.index];if(L)return k(h,L.childNodes);throw Error(`useCollectionData itemById, id ${h} not found `)},[T,x]),O=(0,ne.useCallback)(h=>{let y=c.current.find(L=>(0,ne.isValidElement)(L.value)?L.label===h:L.value===h);if(y)return y;throw Error("useCollectionData toCollectionItem, item not found ")},[]),$=(0,ne.useCallback)(h=>{if(h===null)return null;if(Array.isArray(h)){let y=[];for(let L of h){let w=O(L);y.push(w)}return y}else if(h!==void 0)return O(h)},[O]),b=(0,ne.useCallback)(h=>{let y=L=>{let w=c.current.find(A=>(0,ne.isValidElement)(A.value)?A.label===L:A.value!==null&&m(A.value)===L);if(w)return w};if(h===null)return null;if(Array.isArray(h)){let L=[];for(let w of h){let A=y(w);A&&L.push(A)}return L}else if(h!==void 0)return y(h)},[m]),M=(0,ne.useCallback)(h=>{for(let y of P.current)if(h===y.value)return y.id;throw Error("useCollectionData itemToId, item not found")},[]),C=(0,ne.useCallback)(h=>{P.current=Yt(P.current,h.id,{expanded:!1}),a.current=E(P.current),i({})},[E]),R=(0,ne.useCallback)(h=>{P.current=Yt(P.current,h.id,{expanded:!0}),a.current=E(P.current),i({})},[E]);return s||{collapseGroupItem:C,data:a.current,expandGroupItem:R,setFilterPattern:H,itemById:k,itemToId:M,toCollectionItem:O,itemToCollectionItem:$,stringToCollectionItem:b}};var en=require("react"),xl={scrollToIndex:e=>{},scrollToItem:e=>{},scrollTo:e=>{}},tn=({collectionHook:e,forwardedRef:t,scrollableRef:n,scrollIntoView:o})=>{let r=(0,en.useMemo)(()=>({scrollToIndex:l=>{let i=e.data[l];i&&(o==null||o(i))},scrollToItem:l=>{let i=e.toCollectionItem(l);i&&(o==null||o(i))},scrollTo:l=>{n!=null&&n.current&&(n.current.scrollTop=l)}}),[e.data,e.toCollectionItem,o]);(0,en.useImperativeHandle)(t,()=>n.current?r:xl,[r])};var Wo=require("@salt-ds/core"),ge=require("react");var Vn=-2;function Vo(e,t,n){return t===Rt||t===Pt?n>0?n-1:n:n===null?0:n===e-1?n:n+1}var _n=(e,t)=>{let n=Po(t);return n?e.indexOf(n):-1},Sl=(e,t,n,o)=>e===Pt?o:e===Zt?-1:t!==-1?t:n,Uo=e=>{let t=document.getElementById(e.id);if(t)return t.getBoundingClientRect();throw Error(`useKeyboardNavigation.getItemRect no element found for item #${e==null?void 0:e.id}`)},yl=(e,t,n,o)=>{let{top:r}=t.getBoundingClientRect(),{scrollTop:l,clientHeight:i,scrollHeight:s}=e,a=n.length-1,c=Math.min(l+i,s-i);if(c!==l&&o<a){e.scrollTo(0,c);let d=o,f;do d+=1,f=Uo(n[d]);while(f.top<r&&d<a);return d}},Tl=async(e,t,n,o)=>{let{top:r}=t.getBoundingClientRect(),{scrollTop:l,clientHeight:i}=e,s=Math.max(l-i,0);if(s!==l&&o>0)return e.scrollTo(0,s),new Promise(a=>{requestAnimationFrame(()=>{let c=o,d;do c-=1,d=Uo(n[c]);while(d.top>r&&c>0);a(c)})})},El=e=>!e.header&&!e.childNodes,Go=e=>El(e)||e.expanded!==void 0,jo=({containerRef:e,defaultHighlightedIndex:t=-1,disableHighlightOnFocus:n,highlightedIndex:o,indexPositions:r,onHighlight:l,onKeyboardNavigation:i,restoreLastFocus:s,selected:a})=>{let c=(0,ge.useRef)(-1),[,d]=(0,ge.useState)({}),[f,u,I]=(0,Wo.useControlled)({controlled:o,default:t,name:"UseKeyboardNavigation"}),m=(0,ge.useCallback)((H,k=!1)=>{l==null||l(H),u(H),k&&(c.current=H)},[l,u]),p=(0,ge.useCallback)(async(H,k)=>{let{id:O}=r[k],$;if(O){let b=document.getElementById(O),{current:M}=e;b&&M&&($=H.key===qt?yl(M,b,r,k):await Tl(M,b,r,k))}return $!=null?$:k},[e,r]),g=(0,ge.useCallback)((H=kt,k=H===kt?-1:r.length)=>{if(r.length===0)return-1;{let O=_n(r,a),$=Sl(H,k,O,r.length),b=Vo(r.length,H,$);if(b===0&&H===Rt&&!Go(r[0]))return k;for(;((H===kt||H===Zt)&&b<r.length||(H===Rt||H===Pt)&&b>0)&&!Go(r[b]);)b=Vo(r.length,H,b);return b}},[r,a]),S=(0,ge.useRef)(!1),E=(0,ge.useRef)(!1),v=H=>E.current=H,x=(0,ge.useCallback)(H=>{if(E.current)E.current=!1;else if(S.current=!0,r.length===0)m(Vn);else if(f!==-1)d({});else if(s)if(c.current!==-1)m(c.current);else{let k=_n(r,a);m(k!==-1?k:0)}else if(mt(a)){let k=_n(r,a);m(k)}else n!==!0&&m(g())},[n,f,r,g,s,a,m]),T=(0,ge.useCallback)(async H=>{let k=H.key===qt||H.key===kn?await p(H,f):g(H.key,f);k!==f&&m(k,!0),i==null||i(H,k)},[f,g,p,i,m]),N=(0,ge.useCallback)(H=>{r.length>0&&No(H)?(H.preventDefault(),H.stopPropagation(),S.current=!0,T(H)):Xt(H)&&(S.current=!0)},[r,T]),P=(0,ge.useMemo)(()=>({onBlur:H=>{let k=H.target.closest(".saltList"),O=H.relatedTarget;k&&!(k!=null&&k.contains(O))&&(S.current=!1,u(-1),s||(c.current=-1))},onFocus:x,onKeyDown:N,onMouseDownCapture:()=>{S.current=!1,v(!0)},onMouseMove:()=>{S.current&&(S.current=!1)},onMouseLeave:()=>{S.current=!1,v(!1),m(-1)}}),[x,N,s,u,m]);return{focusVisible:S.current?f:-1,controlledHighlighting:I,highlightedIndex:f,setHighlightedIndex:m,keyboardNavigation:S,listProps:P,setIgnoreFocus:v}};var qo=require("@salt-ds/core"),he=require("react");var vl={},Dl=["Enter"," "],Gn=e=>e&&e.disabled!==!0&&e.selectable!==!1,Zo=(e,t)=>{var n,o;return((n=e.index)!=null?n:0)-((o=t.index)!=null?o:0)};var Xo=({defaultSelected:e,disableSelection:t=!1,highlightedIdx:n,indexPositions:o,onSelect:r,onSelectionChange:l,selected:i,selectionStrategy:s,selectionKeys:a=Dl,tabToSelect:c})=>{let d=s==="deselectable",f=s==="multiple",u=s==="extended",I=(0,he.useRef)(-1),m=(0,he.useCallback)(b=>a.includes(b.key),[a]),p=(0,he.useCallback)(()=>f||u?[]:null,[f,u]),[g,S]=(0,qo.useControlled)({controlled:i,default:e!=null?e:p(),name:"UseSelection",state:"selected"}),E=(0,he.useCallback)(b=>Array.isArray(g)?g.includes(b):g===b,[g]),v=(0,he.useCallback)(b=>b,[]),x=(0,he.useCallback)(b=>E(b)?null:b,[E]),T=(0,he.useCallback)(b=>{let M=E(b)?g.filter(C=>C!==b):g.concat(b);return M.sort(Zo),M},[E,g]),N=(0,he.useCallback)((b,M)=>{let C=M?g:[],[R]=g.slice(-1),D=R?o.indexOf(R):0,h=Math.min(b,D),y=Math.max(b,D),L=o.slice(h,y+1),w=[...new Set([...C,...L])];return w.sort(Zo),w},[o,g]),P=(0,he.useCallback)((b,M,C,R,D)=>{let h;f?h=T(C):u?D&&!R?h=T(C):R?h=N(M,D):h=[C]:d?h=x(C):h=v(C),h!==g&&S(h),r==null||r(b,C),h!==g&&l&&l(b,h)},[f,u,d,g,r,T,N,x,v,S,l]),H=(0,he.useCallback)(b=>{let M=o[n];Gn(M)&&(m(b)||c&&b.key==="Tab")&&(b.key!=="Tab"&&b.preventDefault(),P(b,n,M,!1,b.ctrlKey||b.metaKey),u&&(I.current=n))},[o,n,m,c,P,u]),k=(0,he.useCallback)((b,M)=>{if(u&&b.shiftKey){let C=o[M];Gn(C)&&P(b,M,C,!0)}},[u,o,P]),O=(0,he.useCallback)(b=>{let M=o[n];!t&&Gn(M)&&(b.preventDefault(),b.stopPropagation(),P(b,n,M,b.shiftKey,b.ctrlKey||b.metaKey),u&&(I.current=n))},[t,u,n,o,P]);return{listHandlers:ko(s)?vl:{onClick:O,onKeyDown:H,onKeyboardNavigation:k},selected:g,setSelected:S}};var Qe=require("react");var Yo=({disableTypeToSelect:e,highlightedIdx:t,highlightItemAtIndex:n,typeToNavigate:o,items:r,applyIncrementalSearch:l=!0})=>{let i=(0,Qe.useRef)(null),s=(0,Qe.useRef)(""),a=(0,Qe.useRef)(-1),c=(0,Qe.useCallback)(f=>{if(f||!l){let u=new RegExp(`^${s.current}`,"i"),I=r.findIndex(({label:m},p)=>p>a.current&&u.test(m));I===-1&&(I=r.findIndex(({label:m},p)=>p<=a.current&&u.test(m))),I!==-1&&n(I)}else s.current="",i.current=null,a.current=-1},[l,n,r]),d=(0,Qe.useCallback)(f=>{let u=a.current!==-1;(Xt(f)||u&&f.key===Mo)&&o&&(f.preventDefault(),f.stopPropagation(),(a.current===-1||f.key===s.current)&&(a.current=t),i.current!==null&&(clearTimeout(i.current),i.current=null),f.key!==s.current&&(s.current+=f.key),l&&c(!0),i.current=window.setTimeout(()=>{c()},100))},[o,l,t,c]);return{onKeyDown:e?void 0:d}};var Oe=require("react");var tt=require("react");var Qo=["height"],et=new Map,er=(e,t,n)=>{switch(n){case"height":return t.height;case"clientHeight":return e.clientHeight;case"clientWidth":return e.clientWidth;case"contentHeight":return t.contentHeight;case"contentWidth":return t.contentWidth;case"scrollHeight":return Math.ceil(e.scrollHeight);case"scrollWidth":return Math.ceil(e.scrollWidth);case"width":return t.width;default:return 0}};var Jo=new ResizeObserver(e=>{for(let t of e){let{target:n,borderBoxSize:o,contentBoxSize:r}=t,l=et.get(n);if(l){let[{blockSize:i,inlineSize:s}]=o,[{blockSize:a,inlineSize:c}]=r,{onResize:d,measurements:f}=l,u=!1;for(let[I,m]of Object.entries(f)){let p=er(n,{height:i,width:s,contentHeight:a,contentWidth:c},I);p!==m&&(u=!0,f[I]=p)}u&&d&&d(f)}}});function nt(e,t,n,o=!1){let r=(0,tt.useRef)(t),l=(0,tt.useCallback)(i=>{let{width:s,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=i;return r.current.reduce((f,u)=>(f[u]=er(i,{width:s,height:a,contentHeight:d,contentWidth:c},u),f),{})},[]);(0,tt.useEffect)(()=>{let i=e.current;async function s(){et.set(i,{measurements:{}}),await document.fonts.ready;let a=et.get(i);if(a){let c=l(i);a.measurements=c,Jo.observe(i),o&&n(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}if(i){if(et.has(i))throw Error("useResizeObserver attemping to observe same element twice");s()}return()=>{i&&et.has(i)&&(Jo.unobserve(i),et.delete(i))}},[l,e]),(0,tt.useEffect)(()=>{let i=e.current,s=et.get(i);if(s){if(r.current!==t){r.current=t;let a=l(i);s.measurements=a}s.onResize=n}},[t,l,e,n])}var rr=require("@salt-ds/core"),tr=["height"],wl=["height","scrollHeight"],Hl=[],nr={containerOnly:[wl,Hl],withContent:[tr,tr]},Ml=e=>e?nr.containerOnly:nr.withContent,or={current:null},Cl=(e,t)=>{let{transform:n="none"}=getComputedStyle(e);if(n.startsWith("matrix")){let o=n.lastIndexOf(",");return parseInt(n.slice(o+1))}else{let o=e.offsetParent;if(o===t||t===null)return e.offsetTop;{let r=e.offsetTop;for(;o!==null&&o!==t;)r+=o.offsetTop,o=o.offsetParent;return r}}},sr=({containerRef:e,contentRef:t=or,highlightedIdx:n=-1,indexPositions:o,stickyHeaders:r=!1})=>{let l=(0,Oe.useRef)(!1),i=(0,Oe.useRef)({height:0,contentHeight:0}),s=(0,Oe.useCallback)(p=>{l.current=!0,e.current&&(e.current.scrollTop=p),setTimeout(()=>{l.current=!1})},[]),a=(0,Oe.useCallback)(()=>s(0),[s]),c=(0,Oe.useCallback)(()=>{s(i.current.contentHeight-i.current.height)},[s]),d=(0,Oe.useCallback)(p=>{let g=t.current||e.current;if(p.id){let S=document.getElementById(p.id);if(S&&e.current){let{height:E}=i.current,v=S.ariaExpanded&&S.firstChild?S.firstChild:S,x=r?36:0,T=Cl(v,g),N=v.offsetHeight,{scrollTop:P}=e.current,H=P+x,k=H+E-x;if(T+N>k||T<H){let O=T+N>k?P+(T+N)-k:T-x;s(O)}}}},[e,t,s,r]);(0,rr.useIsomorphicLayoutEffect)(()=>{let{height:p,contentHeight:g}=i.current,S=o[n];if(g>p&&S){let[E]=o,[v]=o.slice(-1);S===E?a():S===v?c():d(o[n])}},[n,o,d,c,a]);let f=(0,Oe.useCallback)(({height:p,scrollHeight:g})=>{typeof p=="number"&&(i.current.height=p),typeof g=="number"&&(i.current.contentHeight=g)},[]),u=(0,Oe.useCallback)(({height:p})=>{typeof p=="number"&&(i.current.contentHeight=p)},[]),[I,m]=Ml(t===or);return nt(e,I,f,!0),nt(t,m,u,!0),{isScrolling:l,scrollIntoView:d}};var le=require("react");var At=({allowDragDrop:e=!1,collapsibleHeaders:t,collectionHook:n,containerRef:o,contentRef:r,defaultHighlightedIndex:l,defaultSelected:i,disabled:s,disableAriaActiveDescendant:a,disableHighlightOnFocus:c,disableTypeToSelect:d,highlightedIndex:f,id:u,label:I="",listHandlers:m,onHighlight:p,onKeyboardNavigation:g,onKeyDown:S,onMoveListItem:E,onSelect:v,onSelectionChange:x,restoreLastFocus:T,selected:N,selectionStrategy:P,selectionKeys:H,stickyHeaders:k,tabToSelect:O,viewportRange:$})=>{let b=(0,le.useRef)(null),M=(0,le.useRef)(N||i),C=(B,_)=>{var J,oe;(oe=(J=j.listHandlers).onKeyboardNavigation)==null||oe.call(J,B,_),g==null||g(B,_)},R=(0,le.useCallback)((B,_)=>{v&&((0,le.isValidElement)(_.value)?v(B,_.label):_.value!==null&&v(B,_.value))},[v]),D=(0,le.useCallback)((B,_)=>{x&&x(B,Array.isArray(_)?_.map(J=>(0,le.isValidElement)(J.value)?J.label:J.value):_&&((0,le.isValidElement)(_.value)?_.label:_.value))},[x]),{highlightedIndex:h,listProps:{onKeyDown:y,onMouseMove:L,...w},setHighlightedIndex:A,...z}=jo({containerRef:o,defaultHighlightedIndex:l,disableHighlightOnFocus:c,highlightedIndex:f,indexPositions:n.data,label:I,onHighlight:p,onKeyboardNavigation:C,restoreLastFocus:T,selected:M.current}),W=Lo({collapsibleHeaders:t,highlightedIdx:h,collectionHook:n}),V=(0,le.useCallback)(()=>{A(-1)},[A]),j=Xo({defaultSelected:i,highlightedIdx:h,indexPositions:n.data,label:I,onSelect:R,onSelectionChange:D,selected:N,selectionStrategy:P,selectionKeys:H,tabToSelect:O}),K=(0,le.useCallback)((B,_,J)=>{let oe=n.data.indexOf(B);return oe===_?J:oe<Math.min(_,J)||oe>Math.max(_,J)?oe:_<oe?oe-1:oe+1},[n.data]),F=(0,le.useCallback)((B,_,J)=>Array.isArray(B)?B.map(oe=>K(oe,_,J)):K(B,_,J),[K]),Z=(0,le.useCallback)((B,_)=>{mt(j.selected)&&(b.current=F(j.selected,B,_)),E==null||E(B,_),A(-1)},[j.selected,E,A,F]),X=(0,le.useCallback)(B=>{A(B)},[A]),{setSelected:ie}=j;(0,le.useEffect)(()=>{let{current:B}=b;if(mt(B)){let _=Array.isArray(B)?B.map(J=>n.data[J]):n.data[B];ie(_)}},[n.data,ie]),(0,le.useEffect)(()=>{mt(M.current)&&ie(Array.isArray(M.current)?[]:null)},[ie,n.data]);let{onMouseDown:G,isDragging:U,isScrolling:Y,...Q}=wt({allowDragDrop:e,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:u,itemQuery:".vuuListItem",onDragStart:V,onDrop:Z,onDropSettle:X,viewportRange:$}),{onKeyDown:q}=Yo({disableTypeToSelect:d,highlightedIdx:h,highlightItemAtIndex:A,typeToNavigate:!0,items:n.data}),ee=(0,le.useCallback)(B=>{var _,J,oe;B.defaultPrevented||q==null||q(B),y(B),B.defaultPrevented||(J=(_=j.listHandlers).onKeyDown)==null||J.call(_,B),B.defaultPrevented||(oe=W==null?void 0:W.onKeyDown)==null||oe.call(W,B),B.defaultPrevented||S==null||S(B)},[W,y,S,j.listHandlers,q]),{isScrolling:fe,scrollIntoView:pe}=sr({containerRef:o,contentRef:r,highlightedIdx:h,indexPositions:n.data,stickyHeaders:k}),Se=fe.current||Y.current,ye=(0,le.useCallback)(B=>{if(!Se&&!s&&!U){L();let _=Ro(B.target);if(_!==-1&&_!==h){let J=n.data[_];!J||J.disabled?A(-1):A(_)}}},[U,Se,s,A,L,h,n.data]),De=()=>{var B;return h===void 0||h===-1||a||(B=n.data[h])==null?void 0:B.id};M.current=j.selected;let we={"aria-activedescendant":De(),onBlur:w.onBlur,onFocus:w.onFocus,onKeyDown:ee,onMouseDown:G,onMouseDownCapture:w.onMouseDownCapture,onMouseLeave:w.onMouseLeave},He=m||{onClick:j.listHandlers.onClick,onMouseMove:ye};return{focusVisible:z.focusVisible,controlledHighlighting:z.controlledHighlighting,highlightedIndex:h,keyboardNavigation:z.keyboardNavigation,listHandlers:He,listItemHeaderHandlers:W,listControlProps:we,scrollIntoView:pe,selected:j.selected,setHighlightedIndex:A,setIgnoreFocus:z.setIgnoreFocus,setSelected:j.setSelected,...Q}};var lr=require("@salt-ds/core"),ot=require("react");var Nl=(e,t,n=0)=>e===0?0:n===0?e*t:e-1*(t+n)+t,nn=({borderless:e,displayedItemCount:t,getItemHeight:n,height:o,itemCount:r,itemGapSize:l,itemHeight:i,rootRef:s,rowHeightRef:a})=>{let[c,d]=(0,ot.useState)(36),[f,u]=(0,ot.useState)(),[I,m]=(0,ot.useMemo)(()=>{let g=e?0:2,S=i!=null?i:c,E=Nl(r,S,l);if(o!==void 0&&typeof o=="number"||typeof o=="string")return[E,o];let v=Math.min(t,r)||t;return typeof n=="function"?g+=Array(v).fill(0).reduce((T,N,P)=>T+n(P)+l,0)-l:g+=v*Number(S)+(v-1)*l,[E,g,f]},[e,f,t,n,o,r,l,i,c]);(0,lr.useIsomorphicLayoutEffect)(()=>{if(s.current){let{clientHeight:g}=s.current;u(g)}},[s]);let p=(0,ot.useCallback)(({height:g})=>{typeof g=="number"&&d(g)},[]);return nt(a,Qo,p,!0),{contentHeight:I,listClientHeight:f,listItemHeight:c,listHeight:m}};var ar=require("@salt-ds/core"),Ae=require("react"),ir=(e,t,n,o)=>{let r=Math.ceil(t/o),l=Math.floor(e/o),i=Math.ceil(l+r-1);return{atStart:l===0,atEnd:i===n-1,from:l,to:i}},on=({containerSize:e,itemCount:t,itemGapSize:n=0,itemSize:o,onViewportScroll:r})=>{let l=(0,Ae.useRef)(0),i=(0,Ae.useRef)(0),s=(0,Ae.useRef)(0),a=(0,Ae.useMemo)(()=>ir(s.current,e,t,o+n),[e,t,o,n]),[c,d]=(0,Ae.useState)(a);return(0,ar.useIsomorphicLayoutEffect)(()=>{d(a)},[a]),{onVerticalScroll:(0,Ae.useCallback)(u=>{let I=u.target.scrollTop;if(I!==s.current){s.current=I;let m=o+n,p=ir(I,e,t,m);(p.from!==l.current||p.to!==i.current)&&(l.current=p.from,i.current=p.to,r==null||r(p.from,p.to),d(p))}},[o,n,e,t,r]),viewportRange:c}};var Me=require("react/jsx-runtime"),dr=require("react"),Ll="No data to display",Kt="vuuList",Rl=(0,Ke.forwardRef)(function({ListItem:t=Nt,ListPlaceholder:n,allowDragDrop:o,borderless:r,children:l,className:i,collapsibleHeaders:s=!1,defaultHighlightedIndex:a,defaultSelected:c,disabled:d=!1,disableFocus:f=!1,disableTypeToSelect:u,displayedItemCount:I=10,emptyMessage:m,focusVisible:p,getItemHeight:g,getItemId:S,height:E,highlightedIndex:v,id:x,itemGapSize:T=0,itemHeight:N,itemTextHighlightPattern:P,itemToString:H=dt,listHandlers:k,maxHeight:O,maxWidth:$,minHeight:b,minWidth:M,onMoveListItem:C,onSelect:R,onSelectionChange:D,onHighlight:h,restoreLastFocus:y,selected:L,selectionStrategy:w,checkable:A=w==="multiple",scrollingApiRef:z,selectionKeys:W,showEmptyMessage:V=!1,source:j,style:K,stickyHeaders:F,tabToSelect:Z,width:X,...ie},G){let U=(0,cr.useId)(x),Y=(0,Ke.useRef)(null),Q=(0,Ke.useRef)(null),q=(0,Ke.useRef)(null),ee=Qt({id:U,label:"List",source:j,children:l,options:{collapsibleHeaders:s,getItemId:S,itemToString:H}}),{listClientHeight:fe,listHeight:pe,listItemHeight:Se}=nn({borderless:r,displayedItemCount:I,getItemHeight:g,height:E,itemCount:ee.data.length,itemGapSize:T,itemHeight:N,rootRef:Y,rowHeightRef:q}),{onVerticalScroll:ye,viewportRange:De}=on({containerSize:fe!=null?fe:typeof pe=="number"?pe:0,itemCount:ee.data.length,itemGapSize:T,itemSize:Se}),{draggable:we,draggedItemIndex:He,dropIndicator:B,focusVisible:_,highlightedIndex:J,listControlProps:oe,listHandlers:ue,listItemHeaderHandlers:Re,scrollIntoView:ke,selected:Ve}=At({allowDragDrop:o,collapsibleHeaders:s,collectionHook:ee,containerRef:Y,contentRef:Q,defaultHighlightedIndex:a,defaultSelected:ee.itemToCollectionItem(c),disabled:d,disableTypeToSelect:u,highlightedIndex:v,id:U,label:U,listHandlers:k,onMoveListItem:C,onSelect:R,onSelectionChange:D,onHighlight:h,restoreLastFocus:y,selected:ee.itemToCollectionItem(L),selectionStrategy:w,selectionKeys:W,stickyHeaders:F,tabToSelect:Z,viewportRange:De});tn({collectionHook:ee,forwardedRef:z,scrollableRef:Y,scrollIntoView:ke});let je=p!=null?p:_,Fe=function(re,Ie,Te,de){let Ze=(0,dr.createElement)(t,{...Re,className:(0,rn.default)(`${Kt}Header`,{focusVisible:s&&je===re.value}),"aria-expanded":de,"data-idx":s?re.value:void 0,"data-index":s?re.value:void 0,"data-highlighted":re.value===J||void 0,"data-sticky":F,"data-selectable":!1,id:Ie,key:`header-${re.value}`,label:Te});return re.value+=1,Ze},Tt=g===void 0?()=>N:g;function ps($e,re,Ie){var _t,eo;let{disabled:Te,value:de,id:Ze,label:zt}=re,Bt=(0,Ke.isValidElement)(de),Et={className:(0,rn.default)((_t=de==null?void 0:de.props)==null?void 0:_t.className,{vuuHighlighted:Ie.value===J,vuuFocusVisible:je===Ie.value,["vuuDraggable-dragAway"]:He===Ie.value}),disabled:Te||d,id:Ze,item:Bt?void 0:(eo=re==null?void 0:re.value)!=null?eo:void 0,itemHeight:Tt(Ie.value),itemTextHighlightPattern:P,key:Ze,"data-idx":Ie.value,"data-index":Ie.value,label:zt,role:"option",selected:Jt(Ve,re),showCheckbox:A};$e.push(Bt?(0,Ke.cloneElement)(de,Et):(0,Me.jsx)(t,{...Et})),Ie.value+=1}let gs=function(re,Ie,Te){let{count:de=0,id:Ze,expanded:zt,label:Bt=""}=Ie[Te.value],Et=Fe(Te,Ze,Bt,zt),_t=zt!==!1?[Et].concat(Qn(Ie,Te,Te.value+de)||[]):Et;re.push((0,Me.jsx)("div",{role:"group",children:_t},Ze))},Qn=($e,re={value:0},Ie=$e.length)=>{let Te=[];for(;re.value<Ie;){let de=$e[re.value];de.header?Te.push(Fe(re,de.id,de.label,de.expanded===!1)):de.childNodes?gs(Te,$e,re):ps(Te,de,re)}return Te};function bs(){return m||V?(0,Me.jsx)("span",{className:`${Kt}-empty-message`,children:m!=null?m:Ll}):null}let Is=()=>{if(ee.data.length){let $e=ee.data;return Qn($e)}else bs()},hs="auto",xs={"--list-item-gap":T?`${T}px`:void 0,minWidth:M,minHeight:b,width:X!=null?X:"100%",height:E!=null?E:"100%",maxWidth:$!=null?$:X,maxHeight:O!=null?O:pe};return(0,Me.jsxs)("div",{"aria-multiselectable":w==="multiple"||w==="extended"||w==="extended-multi-range"||void 0,...ie,...ue,...oe,className:(0,rn.default)(Kt,i,{[`${Kt}-collapsible`]:s,vuuFocusVisible:J===Vn}),id:`${U}`,ref:(0,ur.useForkRef)(Y,G),role:"listbox",onScroll:ye,style:{...K,...xs},tabIndex:d||f?void 0:0,children:[(0,Me.jsx)(Ct,{ref:q}),ee.data.length===0&&n!==void 0?(0,Me.jsx)(Me.Fragment,{children:(0,Me.jsx)(n,{})}):(0,Me.jsxs)("div",{className:`${Kt}-scrollingContentContainer`,ref:Q,style:{height:hs},children:[Is(),B,we]})]})});var pt=require("@salt-ds/core");function mr(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=mr(e[t]))&&(o&&(o+=" "),o+=n);else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Wn(){for(var e,t,n=0,o="";n<arguments.length;)(e=arguments[n++])&&(t=mr(e))&&(o&&(o+=" "),o+=t);return o}var st=require("react");var pr=require("react");var sn=class{constructor(t=0,n=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(t,n)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(t,n){this.keys.forEach((r,l)=>{(l<t||l>=n)&&(this.free.push(r),this.keys.delete(l))});let o=n-t;this.keys.size+this.free.length>o&&(this.free.length=o-this.keys.size);for(let r=t;r<n;r++)if(!this.keys.has(r)){let l=this.next();this.keys.set(r,l)}}keyFor(t){return this.keys.get(t)}};var kl=([e],[t])=>e-t,fr=5,gr=({data:e,listItemGapSize:t=0,listItemHeight:n,viewportRange:o})=>{let r=(0,pr.useMemo)(()=>new sn(0,1),[]),l=n+t,i=Math.max(0,o.from-fr),s=Math.min(e.length,o.to+fr);return r.reset(i,s),e.slice(i,s).map((c,d)=>[r.keyFor(d+i),(d+i)*l,d+i+1,c]).sort(kl)};var rt=require("react/jsx-runtime"),Pl="No data to display",ln=(0,pt.makePrefixer)("saltList"),Ol=(0,st.memo)(Nt),Al=(0,st.forwardRef)(function({borderless:t,children:n,className:o,collapsibleHeaders:r=!1,defaultHighlightedIndex:l,defaultSelected:i,disabled:s=!1,disableFocus:a=!1,disableTypeToSelect:c,displayedItemCount:d=10,emptyMessage:f,getItemHeight:u,getItemId:I,height:m,highlightedIndex:p,id:g,itemGapSize:S=0,itemHeight:E,itemTextHighlightPattern:v,itemToString:x,maxHeight:T,maxWidth:N,minHeight:P,minWidth:H,onSelect:k,onSelectionChange:O,onViewportScroll:$,onHighlight:b,restoreLastFocus:M,selected:C,selectionStrategy:R,scrollingApiRef:D,selectionKeys:h,showEmptyMessage:y=!1,source:L,style:w,stickyHeaders:A,tabToSelect:z,width:W,...V},j){let K=(0,pt.useIdMemo)(g),F=(0,st.useRef)(null),Z=(0,st.useRef)(null),X=Qt({id:K,label:"List",source:L,children:n,options:{collapsibleHeaders:r,getItemId:I,itemToString:x}}),{contentHeight:ie,listItemHeight:G,listHeight:U}=nn({borderless:t,displayedItemCount:d,height:m,itemCount:X.data.length,itemGapSize:S,itemHeight:E,rootRef:F,rowHeightRef:Z}),{focusVisible:Y,highlightedIndex:Q,listControlProps:q,listHandlers:ee,scrollIntoView:fe,selected:pe}=At({collapsibleHeaders:r,collectionHook:X,containerRef:F,defaultHighlightedIndex:l,defaultSelected:X.itemToCollectionItem(i),disabled:s,disableTypeToSelect:c,highlightedIndex:p,label:K,onSelect:k,onSelectionChange:O,onHighlight:b,restoreLastFocus:M,selected:X.itemToCollectionItem(C),selectionStrategy:R,selectionKeys:h,stickyHeaders:A,tabToSelect:z}),{onVerticalScroll:Se,viewportRange:ye}=on({containerSize:typeof U=="number"?U:0,itemCount:X.data.length,itemGapSize:S,itemSize:G});console.log({viewPortRange:ye});let De=gr({data:X.data,listItemGapSize:S,listItemHeight:G,viewportRange:ye});tn({collectionHook:X,forwardedRef:D,scrollableRef:F,scrollIntoView:fe});function we(oe,ue,Re){let[ke,Ve,je,Fe]=ue,Tt=je-1;oe.push((0,rt.jsx)(Ol,{"aria-setsize":X.data.length,"aria-posinset":je,className:Wn(o,{saltHighlighted:Tt===Q,saltFocusVisible:Y===Tt}),"data-idx":Tt,item:Fe,label:Fe.label,"data-offset":Ve,role:"option",selected:Jt(pe,Fe),id:Fe.id,translate3d:Ve},ke)),Re.value+=1}function He(oe,ue={value:0},Re=oe.length){let ke=[];for(;ue.value<Re;){let Ve=oe[ue.value];we(ke,Ve,ue)}return ke}function B(){return f||y?(0,rt.jsx)("span",{className:ln("empty-message"),children:f!=null?f:Pl}):null}let _=()=>{if(De.length)return He(De);B()},J={"--list-item-gap":S?`${S}px`:void 0,minWidth:H,minHeight:P,width:W!=null?W:"100%",height:m!=null?m:"100%",maxWidth:N!=null?N:W,maxHeight:T!=null?T:U};return(0,rt.jsx)("div",{...V,...ee,...q,className:Wn(ln(),o,ln("virtualized")),id:`${K}`,ref:(0,pt.useForkRef)(F,j),role:"listbox",onScroll:Se,style:{...w,...J},tabIndex:s||a?void 0:0,children:(0,rt.jsxs)("div",{className:ln("scrollingContentContainer"),style:{height:ie},children:[(0,rt.jsx)(Ct,{ref:Z}),_()]})})});var bt=require("@vuu-ui/vuu-layout"),Nr=require("@salt-ds/core"),Lr=Pe(require("classnames")),It=Pe(require("react"));var me=require("react");var br=e=>typeof e=="object"&&e!==null&&"tabIndex"in e&&typeof e.tabIndex=="number",Ir=e=>({label:"Close",location:"tab",action:"close-tab",options:e}),hr=e=>({label:"Rename",location:"tab",action:"rename-tab",options:e});var xr=e=>{if(e){let t=parseInt(e.dataset.index||"");if(!isNaN(t))return t}return-1},Sr=(e,t)=>{if(e){let n=e.querySelector(`[data-index]:has(${t})`);return xr(n)}return-1},an=e=>Sr(e,'[aria-selected="true"]'),Un=e=>Sr(e,".vuuEditableLabel-editing");var gt=require("@vuu-ui/vuu-utils"),Be=require("react"),yr=(e,t,n="horizontal")=>{let o=(0,Be.useRef)(!1),r=(0,Be.useCallback)(()=>{o.current=!0},[]),l=(0,Be.useCallback)(()=>{o.current=!1},[]),i=(0,Be.useCallback)(()=>{var a,c;(a=e.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(c=e.current)==null||c.removeEventListener("transitionend",i)},[e]),s=(0,Be.useRef)(-1);return(0,Be.useMemo)(()=>{var d,f;let a=0,c=0;if(s.current!==-1){let u=(d=e.current)==null?void 0:d.querySelector(".vuuTab-selected"),I=(f=e.current)==null?void 0:f.querySelector(`[data-index="${t}"] .vuuTab`),{positionProp:m,sizeProp:p}=gt.MEASURES[n];if(u&&I&&!o.current){let{[m]:g,[p]:S}=u.getBoundingClientRect(),{[m]:E}=I.getBoundingClientRect();if((0,gt.isValidNumber)(g)&&(0,gt.isValidNumber)(E)&&(0,gt.isValidNumber)(S)){console.log({orientation:n,positionProp:m,oldPosition:g,newPosition:E}),a=g-E,c=S;let x=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var T,N,P,H;(T=e.current)==null||T.style.setProperty("--tab-thumb-offset","0px"),(N=e.current)==null||N.style.setProperty("--tab-thumb-size","100%"),(P=e.current)==null||P.style.setProperty("--tab-thumb-transition",`all ${x}s ease`),(H=e.current)==null||H.addEventListener("transitionend",i)})}}}return s.current=t,o.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:l,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-size":c?`${c}px`:void 0},resumeAnimation:l,suspendAnimation:r}},[t,e,n,i,l,r])};var Er=require("@salt-ds/core"),vr=require("@vuu-ui/vuu-utils"),ce=require("react"),be=require("@vuu-ui/vuu-utils");var Dr={horizontal:{[be.Home]:"start",[be.End]:"end",[be.ArrowLeft]:"bwd",[be.ArrowRight]:"fwd"},vertical:{[be.Home]:"start",[be.End]:"end",[be.ArrowUp]:"bwd",[be.ArrowDown]:"fwd"}},Kl=(e,t="horizontal")=>Dr[t][e]!==void 0,Fl=e=>e===be.ArrowDown;function Tr(e,t,n){return t==="start"?0:t==="end"?e-1:t==="bwd"?n>0?n-1:n:n===null?0:n===e-1?n:n+1}var $l=e=>e!==null&&!e.classList.contains("wrapped"),cn=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,wr=({containerRef:e,defaultHighlightedIdx:t=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:l=0})=>{let i=o==="manual",s=(0,ce.useRef)(!1),a=(0,ce.useRef)(-1),[c,d]=(0,ce.useState)(!1),[,f]=(0,ce.useState)({}),[u,I]=(0,Er.useControlled)({controlled:n,default:t,name:"UseKeyboardNavigation"}),m=(0,ce.useCallback)(b=>{I(a.current=b)},[I]),p=(0,ce.useRef)(!1),g=(0,ce.useCallback)((b,M=!1,C,R=70)=>{m(b),C===!0&&!p.current&&(p.current=!0);let D=()=>{let h=cn(e.current,b);if(h){let y=(0,vr.getFocusableElement)(h);y==null||y.focus()}};M?D():setTimeout(D,R)},[e,m]),S=b=>{if(a.current===-1&&b.target.tabIndex!==-1){let M=Un(e.current);M!==-1?requestAnimationFrame(()=>{m(M)}):setTimeout(()=>{a.current===-1&&l!==null&&m(l)},200)}},E=(0,ce.useCallback)(()=>{var b,M;return(M=(b=e.current)==null?void 0:b.querySelectorAll("[data-index]").length)!=null?M:0},[e]),v=(0,ce.useCallback)((b="fwd",M)=>{let C=E(),D=Tr(C,b,typeof M=="number"?M:C),h=b==="start"?"fwd":b==="end"?"bwd":b;for(;(h==="fwd"&&D<C||h==="bwd"&&D>0)&&!$l(cn(e.current,D));){let y=Tr(C,h,D);if(y===D)break;D=y}return D},[e,E]),x=(0,ce.useCallback)((b,M=!1)=>{let C=Dr[r][b.key],R=v(C,u);R!==u?i&&g(R,!0):M&&f({})},[u,i,v,g,r]),T=(0,ce.useCallback)(()=>{let b=cn(e.current,u);return b?b.querySelector(".vuuPopupMenu")!=null:!1},[e,u]),N=(0,ce.useCallback)(()=>{let b=cn(e.current,u),M=b==null?void 0:b.querySelector(".vuuPopupMenu");if(M){let C=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});M.dispatchEvent(C)}return!1},[e,u]),P=(0,ce.useCallback)(b=>{E()>0&&Kl(b.key,r)?(b.preventDefault(),p.current?x(b):(p.current=!0,x(b,!0))):Fl(b.key)&&T()&&N()},[N,E,T,x,r]),H=(b,M)=>{m(M)},k=(0,ce.useCallback)(()=>{c||(d(!0),s.current?s.current=!1:p.current=!0)},[c]),O=(0,ce.useCallback)(()=>{c||(s.current=!0),p.current=!1},[c]);return{containerProps:{onBlur:b=>{let M=b.target.closest(".vuuTabstrip"),C=b.relatedTarget;M&&!(M!=null&&M.contains(C))&&(m(-1),d(!1))},onMouseDownCapture:O,onFocus:k,onMouseLeave:()=>{p.current=!0,m(-1),s.current=!1}},focusVisible:p.current?u:-1,focusIsWithinComponent:c,highlightedIdx:u,focusTab:g,onClick:H,onFocus:S,onKeyDown:P,setHighlightedIdx:m}};var Hr=require("@salt-ds/core"),Ft=require("react"),zl=["Enter"," "],Bl=e=>e&&e.matches('[class*="vuuTab "]'),Mr=({defaultSelected:e,highlightedIdx:t,onSelectionChange:n,selected:o})=>{let[r,l,i]=(0,Hr.useControlled)({controlled:o,default:e!=null?e:0,name:"Tabstrip",state:"value"}),s=(0,Ft.useCallback)(f=>zl.includes(f.key),[]),a=(0,Ft.useCallback)(f=>{l(f),n==null||n(f)},[n,l]),c=(0,Ft.useCallback)(f=>{let u=f.target;s(f)&&t!==r&&Bl(u)&&(f.stopPropagation(),f.preventDefault(),a(t))},[s,t,r,a]),d=(0,Ft.useCallback)((f,u)=>{u!==r&&a(u)},[a,r]);return{activateTab:a,isControlled:i,onClick:d,onKeyDown:c,selected:r}};var _l=new Set(["Enter"," "]),Vl=e=>_l.has(e),Gl=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,Cr=({activeTabIndex:e,allowDragDrop:t,animateSelectionThumb:n,containerRef:o,onActiveChange:r,onAddTab:l,onCloseTab:i,onExitEditMode:s,onMoveTab:a,orientation:c,keyBoardActivation:d})=>{let f=(0,me.useRef)(e),{focusTab:u,highlightedIdx:I,onClick:m,onKeyDown:p,setHighlightedIdx:g,...S}=wr({containerRef:o,keyBoardActivation:d,orientation:c,selectedIndex:f.current}),{activateTab:E,onClick:v,onKeyDown:x,selected:T}=Mr({highlightedIdx:I,onSelectionChange:r,selected:e});f.current=T;let{containerStyle:N,resumeAnimation:P,suspendAnimation:H}=yr(o,n?T:-1,c),k=(0,me.useCallback)((K,F)=>{let{current:Z}=f;console.log(`useTabstrip handleDrop ${K} - ${F} ${Z}`),a==null||a(K,F);let X=-1;F!==-1&&(Z===K?X=F:K>Z&&F<=Z?X=Z+1:K<Z&&F>=Z&&(X=Z-1),X!==-1&&(H(),E(X),requestAnimationFrame(P)),u(F,!1,!1,350))},[u,a,P,E,H]),{onMouseDown:O,...$}=wt({allowDragDrop:t,containerRef:o,draggableClassName:`tabstrip-${c}`,onDrop:k,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),b=(0,me.useCallback)((K,F,Z,X)=>{console.log(`handleExitEditMode ${K} ${F} ${Z} ${X}`),s==null||s(K,F,Z,X),Z||u(X,!1,!0)},[u,s]),M=(0,me.useCallback)((K,F)=>{m(K,F),v(K,F)},[m,v]),C=(0,me.useCallback)((K=I)=>{let F=Gl(o.current,K);if(F)return F.querySelector(".vuuEditableLabel")},[o,I]),R=(0,me.useCallback)((K=I)=>{let F=C(K);return F?F.classList.contains("vuuEditableLabel-editing"):!1},[C,I]),D=(0,me.useCallback)((K=I)=>{let F=C(K);if(F){let Z=new MouseEvent("dblclick",{view:window,bubbles:!0,cancelable:!0});F.dispatchEvent(Z)}},[C,I]),h=(0,me.useCallback)(K=>{p(K),K.defaultPrevented||x(K),!K.defaultPrevented&&Vl(K.key)&&D()},[D,p,x]),y=(0,me.useCallback)(K=>{let F=an(o.current),Z=F>K?F-1:F===K?0:F;return H(),i==null||i(K,Z),setTimeout(()=>{P()},200),!0},[o,i,P,H]),L=(0,me.useCallback)(K=>(D(K),!0),[D]),w=(0,me.useCallback)(K=>{if(br(K.options))switch(K.menuId){case"close-tab":return y(K.options.tabIndex);case"rename-tab":return L(K.options.tabIndex);default:console.log(`tab menu action ${K.menuId}`)}return!1},[y,L]),A=(0,me.useCallback)(()=>{R()?g(I):u(I)},[I,u,g,R]),z=(0,me.useCallback)(K=>{let F=parseInt(K.index);isNaN(F)||E(F)},[E]),W={onFocus:S.onFocus,onKeyDown:h},V=(0,me.useCallback)(()=>{l==null||l(),requestAnimationFrame(()=>{let K=an(o.current);K!==-1&&u(K)})},[o,u,l]),j={onClick:M,onKeyDown:h,onExitEditMode:b,onMenuAction:w,onMenuClose:A,onMouseDown:O};return{activeTabIndex:T,containerStyle:N,focusVisible:S.focusVisible,containerProps:{...S.containerProps,onSwitchWrappedItemIntoView:z},navigationProps:W,onClickAddTab:V,tabProps:j,...$}};var ht=require("react/jsx-runtime"),Rr=require("react"),jn="vuuTabstrip",Wl=({activeTabIndex:e,allowAddTab:t,allowCloseTab:n,allowDragDrop:o=!1,allowRenameTab:r=!1,animateSelectionThumb:l=!1,children:i,className:s,id:a,keyBoardActivation:c="manual",location:d,onActiveChange:f,onAddTab:u,onCloseTab:I,onExitEditMode:m,onMoveTab:p,orientation:g="horizontal",showTabMenuButton:S,style:E,...v})=>{let x=(0,It.useRef)(null),{activeTabIndex:T,focusVisible:N,containerStyle:P,draggedItemIndex:H,onClickAddTab:k,tabProps:O,...$}=Cr({activeTabIndex:e,allowDragDrop:o,animateSelectionThumb:l,containerRef:x,keyBoardActivation:c,onActiveChange:f,onAddTab:u,onCloseTab:I,onExitEditMode:m,onMoveTab:p,orientation:g}),b=(0,bt.useId)(a),M=(0,Lr.default)(jn,`${jn}-${g}`,s),C=E||P?{...E,...P}:void 0,R=(0,It.useMemo)(()=>(0,bt.asReactElements)(i).map((D,h)=>{let{id:y=`${b}-tab-${h}`,closeable:L=n,editable:w=r,showMenuButton:A=S}=D.props,z=h===T;return It.default.cloneElement(D,{...O,...$.navigationProps,closeable:L,"data-overflow-priority":z?"1":void 0,dragging:H===h,editable:w,focusVisible:N===h,id:y,index:h,key:h,location:d,selected:z,showMenuButton:A,tabIndex:z?0:-1})}).concat(t?(0,Rr.createElement)(Nr.Button,{...$.navigationProps,"aria-label":"Create Tab",className:`${jn}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:k,variant:"secondary",tabIndex:-1}):[]),[T,t,n,r,i,N,b,d,k,S,O,H,$.navigationProps]);return(0,ht.jsxs)(ht.Fragment,{children:[(0,ht.jsx)(bt.OverflowContainer,{...v,...$.containerProps,className:M,height:28,id:b,orientation:g,overflowIcon:"more-horiz",ref:x,style:C,children:R}),$.draggable]})};var $r=require("@salt-ds/core"),zr=Pe(require("classnames")),at=require("react");var kr=require("@vuu-ui/vuu-popups"),Pr=require("react"),Or=Pe(require("classnames"));var Kr=require("react/jsx-runtime"),Ul="vuuTabMenu",Ar=({allowClose:e,allowRename:t,location:n,onMenuAction:o,onMenuClose:r,index:l})=>{let[i,s]=(0,Pr.useMemo)(()=>[(a,c)=>{let d=[];return t&&d.push(hr(c)),e&&d.push(Ir(c)),d},{tabIndex:l}],[e,t,l]);return(0,Kr.jsx)(kr.PopupMenu,{className:Ul,menuBuilder:i,menuActionHandler:o,menuLocation:(0,Or.default)("tab",n),menuOptions:s,onMenuClose:r,tabIndex:-1})};var it=require("react/jsx-runtime"),lt="vuuTab",Fr=()=>{},jl=(0,at.forwardRef)(function({ariaControls:t,children:n,className:o,closeable:r=!1,dragging:l,editable:i=!1,editing:s,focusVisible:a,index:c=-1,label:d,location:f,onClick:u,onClose:I,onEnterEditMode:m=Fr,onExitEditMode:p=Fr,onFocus:g,onKeyUp:S,onMenuAction:E,onMenuClose:v,orientation:x,selected:T,showMenuButton:N=r||i,tabIndex:P,...H},k){if(N&&typeof E!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let O=(0,at.useRef)(null),$=(0,at.useRef)(null),b=(0,$r.useForkRef)(k,O),M=(0,at.useCallback)(y=>{s||(y.preventDefault(),u==null||u(y,c))},[s,c,u]),C=(y="",L="",w=!0)=>p(y,L,w,c),R=y=>{switch(y.key){case"Backspace":case"Delete":r&&(y.stopPropagation(),I&&I(c));break;default:S&&S(y,c)}},D=()=>i?(0,it.jsx)(Mn,{editing:s,defaultValue:d,onEnterEditMode:m,onExitEditMode:C,ref:$},d):d,h=y=>{if($.current){let w=$.current.querySelector(".vuuEditableLabel-input");w==null||w.focus()}g==null||g(y)};return(0,it.jsxs)("div",{...H,"aria-controls":t,"aria-selected":T,className:(0,zr.default)(lt,{[`${lt}-closeable`]:r,"vuuDraggable-dragAway":l,[`${lt}-editing`]:s,[`${lt}-selected`]:T||void 0,[`${lt}-vertical`]:x==="vertical",vuuFocusVisible:a}),onClick:M,onFocus:h,onKeyUp:R,ref:b,role:"tab",tabIndex:P,children:[(0,it.jsx)("div",{className:`${lt}-main`,children:(0,it.jsx)("span",{className:`${lt}-text`,"data-text":i?void 0:d,children:n!=null?n:D()})}),N?(0,it.jsx)(Ar,{allowClose:r,allowRename:i,location:f,onMenuAction:E,onMenuClose:v,index:c}):null]})});var bn=require("@salt-ds/core"),gn=Pe(require("classnames")),In=require("react");function Zl(e){var t;if(e){let n=e.dataset.idx;if(n)return parseInt(n,10);if(n=(t=e.ariaPosInSet)!=null?t:"-1")return parseInt(n,10)-1}}var Zn=e=>e.closest("[data-idx],[aria-posinset]");var Br=e=>Zl(Zn(e));var xt=require("react"),ql=new Set(["/","-","."]),Xl=e=>ql.has(e),_r=(e,t)=>t.startsWith(e)&&Xl(t[e.length]),qn=(e,t="root",{collapsibleHeaders:n=void 0,defaultExpanded:o=!1,revealSelected:r=!1}={})=>{let l=(u,I,m)=>{if(u.childNodes)return u.childNodes.length;if(u.header){let p=m+1,g=0;for(;p<I.length&&!I[p].header;)g++,p++;return g}else return 0},i=(0,xt.useCallback)(u=>Array.isArray(r)?r.some(I=>_r(u,I)):o,[o,r]),s=(0,xt.useCallback)((u,I,m=1,p="",g=[],S=[])=>{let E=0;return u.forEach((v,x,T)=>{var C;let N=v.header&&n,P=v.childNodes&&n===!1,H=!v.childNodes||v.childNodes.length===0,k=P||H&&!N,O=p?`${p}.${x}`:`${x}`,$=(C=v.id)!=null?C:`${t}-${O}`,b=k?void 0:i($),M={...v,childNodes:void 0,id:$,count:!P&&b===void 0?0:l(v,T,x),expanded:b,index:I.index,level:m};if(g.push(M),S.push(u[x]),E+=1,I.index+=1,v.childNodes){let[R,D]=s(v.childNodes,I,m+1,O,[],S);M.childNodes=D,(b===!0||P)&&(E+=R)}}),[E,g,S]},[n,t,i]),[a,c,d]=(0,xt.useMemo)(()=>s(e,{index:0}),[s,e]),f=(0,xt.useCallback)((u,I=c)=>{let m=I.find(p=>{var g;return p.id===u||((g=p==null?void 0:p.childNodes)==null?void 0:g.length)&&_r(p.id,u)});if((m==null?void 0:m.id)===u)return d[m.index];if(m)return f(u,m.childNodes)},[d,c]);return[a,c,f]};var We=require("react"),Wr=require("@salt-ds/core"),Vr="single",Yl="checkbox",Jl="multi",Ql="extended",ei=["Enter"," "],Gr={},ti=e=>e.expanded!==void 0,Ur=e=>e&&e!=="none",jr=({defaultSelected:e,highlightedIdx:t,treeNodes:n,onChange:o,selected:r,selection:l=Vr,selectionKeys:i=ei})=>{let s=l===Vr,a=l===Jl||l.startsWith(Yl),c=l===Ql,d=(0,We.useRef)(-1),f=(0,We.useCallback)(x=>i.includes(x.key),[i]),[u,I]=(0,Wr.useControlled)({controlled:r,default:e!=null?e:[],name:"selected"}),m=(0,We.useCallback)((x,T,N,P,H=!1)=>{let{current:k}=d,O=u==null?void 0:u.includes(N),b=s||c&&!H&&(!P||k===-1),M=a||c&&H&&!P,C=[];if(b&&O)C=[];else if(b)C=[N];else if(M&&O)C=u.filter(R=>R!==N);else if(M)C=u.concat(N);else if(c){let[R,D]=T>k?[k,T]:[T,k];C=u.slice();for(let h=R;h<=D;h++){let{id:y}=n[h];u.includes(y)||C.push(y)}}I(C),o&&o(x,C)},[c,n,a,o,u,I,s]),p=(0,We.useCallback)(x=>{if(~t&&f(x)){x.preventDefault();let T=n[t];m(x,t,T.id,!1,x.ctrlKey||x.metaKey),c&&(d.current=t)}},[c,t,n,f,m]),g=(0,We.useCallback)((x,T)=>{if(c&&x.shiftKey){let N=n[T];m(x,T,N.id,!0)}},[c,n,m]),S=l==="none"?Gr:{onKeyDown:p,onKeyboardNavigation:g},E=(0,We.useCallback)(x=>{if(t!==-1){let T=n[t];ti(T)||(x.preventDefault(),x.stopPropagation(),m(x,t,T.id,x.shiftKey,x.ctrlKey||x.metaKey),c&&(d.current=t))}},[c,t,n,m]);return{listHandlers:S,listItemHandlers:l==="none"?Gr:{onClick:E},selected:u,setSelected:I}};var xe=require("react");var ni=["height","scrollHeight"],Zr=(e,t,n=!1)=>{let o=(0,xe.useRef)(0),r=(0,xe.useRef)(!1),l=(0,xe.useRef)(0),i=(0,xe.useRef)(0),s=(0,xe.useCallback)(d=>{let f=d.ariaExpanded?d.firstChild:d,u=n?30:0,I=f.offsetTop,m=f.offsetHeight,p=o.current+u,g=p+l.current-u;(I+m>g||I<p)&&(o.current=I+m>g?o.current+(I+m)-g:I-u,r.current=!0,e.current&&(e.current.scrollTop=o.current),setTimeout(()=>{r.current=!1}))},[e,n]),a=(0,xe.useCallback)(d=>{o.current=d.target.scrollTop},[]);(0,xe.useEffect)(()=>{let{current:d}=e;return d&&d.addEventListener("scroll",a),()=>{d&&d.removeEventListener("scroll",a)}},[e,a]),(0,xe.useLayoutEffect)(()=>{if(t!==-1&&i.current>l.current&&e.current){let d=e.current.querySelector(`
1
+ "use strict";var ii=Object.create;var Mo=Object.defineProperty;var ai=Object.getOwnPropertyDescriptor;var ci=Object.getOwnPropertyNames;var ui=Object.getPrototypeOf,di=Object.prototype.hasOwnProperty;var mi=(e,t)=>{for(var o in t)Mo(e,o,{get:t[o],enumerable:!0})},Hr=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ci(t))!di.call(e,r)&&r!==o&&Mo(e,r,{get:()=>t[r],enumerable:!(n=ai(t,r))||n.enumerable});return e};var xe=(e,t,o)=>(o=e!=null?ii(ui(e)):{},Hr(t||!e||!e.__esModule?Mo(o,"default",{value:e,enumerable:!0}):o,e)),pi=e=>Hr(Mo({},"__esModule",{value:!0}),e);var wc={};mi(wc,{ArrowDown:()=>Pt,ArrowLeft:()=>An,ArrowRight:()=>Kn,ArrowUp:()=>Nt,BWD:()=>la,CHECKBOX:()=>qi,Checkbox:()=>Ka,CheckboxIcon:()=>po,CollectionContext:()=>In,CollectionProvider:()=>Jt,ComboBox:()=>Na,DragDropProvider:()=>ua,Dropdown:()=>Ca,DropdownBase:()=>lo,DropdownButton:()=>On,EditableLabel:()=>ur,End:()=>kt,Enter:()=>Ko,Escape:()=>Ri,ExpandoInput:()=>Aa,FWD:()=>sa,GROUP_SELECTION_CASCADE:()=>Xi,GROUP_SELECTION_NONE:()=>Wr,GROUP_SELECTION_SINGLE:()=>Zi,HeightOnly:()=>xn,Highlighter:()=>qn,Home:()=>ao,InstrumentSearch:()=>Js,LIST_FOCUS_VISIBLE:()=>zo,List:()=>xo,ListItem:()=>bo,ListItemGroup:()=>En,ListItemHeader:()=>vn,ListItemProxy:()=>go,NOT_HIDDEN:()=>Jn,NOT_OVERFLOWED:()=>Io,PageDown:()=>co,PageUp:()=>Fo,PriceTicker:()=>el,RadioButton:()=>Fa,RadioIcon:()=>ir,Space:()=>Fn,Tab:()=>oc,Tabstrip:()=>ec,Tree:()=>Xl,TreeNode:()=>xr,VirtualizedList:()=>Ma,VuuInput:()=>Hc,WidthHeight:()=>gi,WidthOnly:()=>Sn,allowMultipleSelection:()=>bi,buildValidationChecker:()=>Pa,childIsGroup:()=>Cn,childItems:()=>No,cloneElement:()=>Qn,closestListItemId:()=>Vi,closestListItemIndex:()=>Vn,constrainRect:()=>or,countChildItems:()=>Mn,deselectionIsAllowed:()=>Ii,dimensions:()=>Le,dispatchCommitEvent:()=>cr,dropTargetsDebugString:()=>Uo,escapeRegExp:()=>to,forwardCallbackProps:()=>oo,getChildLabel:()=>Lr,getChildNodes:()=>Nr,getDefaultFilter:()=>Rn,getDefaultFilterRegex:()=>Po,getFirstSelectedItem:()=>Tn,getIndexOfDraggedItem:()=>xt,getIndexOfEditedItem:()=>pr,getIndexOfSelectedTab:()=>sn,getItemById:()=>er,getNextDropTarget:()=>ut,groupSelectionEnabled:()=>Qi,hasSelection:()=>tt,isCharacterKey:()=>uo,isDisabled:()=>Hn,isExpanded:()=>pn,isFocusable:()=>wn,isGroupNode:()=>Dn,isHeader:()=>Lo,isNavigationKey:()=>$n,isParentPath:()=>Ln,isSelected:()=>no,itemToString:()=>Fe,listItemElement:()=>zi,listItemId:()=>zr,listItemIndex:()=>Br,measureDropTargets:()=>St,measureElementSizeAndPosition:()=>ss,mutateDropTargetsSwitchDropTargetPosition:()=>_o,removeDraggedItem:()=>tr,replaceCollectionItem:()=>eo,selectionIsDisallowed:()=>yn,sourceItemHasProp:()=>Co,sourceItems:()=>Ro,useCollapsibleGroups:()=>zn,useCollection:()=>hn,useCollectionItems:()=>ot,useControlled:()=>Nn,useDragDropNext:()=>So,useDragDropProvider:()=>Yn,useDropdownBase:()=>Pn,useEditableText:()=>Oa,useImperativeScrollingAPI:()=>mo,useItemsWithIds:()=>Ir,useKeyboardNavigation:()=>Un,useList:()=>st,useResizeObserver:()=>Ye,useSelection:()=>Gn,useTypeahead:()=>Wn,useViewportTracking:()=>jn});module.exports=pi(wc);var Bs=require("@vuu-ui/vuu-layout"),zs=require("@salt-ds/core"),$t=require("react");var Ct=require("react"),wr=require("react/jsx-runtime"),In=(0,Ct.createContext)(void 0);function Jt({children:e,collectionHook:t,...o}){return(0,wr.jsx)(In.Provider,{value:t,children:Object.keys(o).length>0?(0,Ct.cloneElement)(e,o):e})}function hn(){let e=(0,Ct.useContext)(In);if(e)return e}var fi=e=>Object.prototype.toString.call(e)==="[object Object]";function Fe(e){return typeof e=="string"?e:fi(e)?Object.prototype.hasOwnProperty.call(e,"label")?String(e.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
2
+ `)),""):String(e)}var ct=require("react"),gi=["height","width"],Sn=["width"],xn=["height"],bt=new Map,Cr=(e,t,o)=>{switch(o){case"height":return t.height;case"clientHeight":return e.clientHeight;case"clientWidth":return e.clientWidth;case"contentHeight":return t.contentHeight;case"contentWidth":return t.contentWidth;case"scrollHeight":return Math.ceil(e.scrollHeight);case"scrollWidth":return Math.ceil(e.scrollWidth);case"width":return t.width;default:return 0}};var Mr=new ResizeObserver(e=>{for(let t of e){let{target:o,borderBoxSize:n,contentBoxSize:r}=t,s=bt.get(o);if(s){let[{blockSize:l,inlineSize:a}]=n,[{blockSize:c,inlineSize:i}]=r,{onResize:m,measurements:f}=s,g=!1;for(let[u,p]of Object.entries(f)){let d=Cr(o,{height:l,width:a,contentHeight:c,contentWidth:i},u);d!==p&&(g=!0,f[u]=d)}g&&m&&m(f)}}});function Ye(e,t,o,n=!1){let r=(0,ct.useRef)(t),s=e.current,l=(0,ct.useCallback)(a=>{let{width:c,height:i}=a.getBoundingClientRect(),{clientWidth:m,clientHeight:f}=a;return r.current.reduce((g,u)=>(g[u]=Cr(a,{width:c,height:i,contentHeight:f,contentWidth:m},u),g),{})},[]);(0,ct.useLayoutEffect)(()=>{async function a(){bt.set(s,{measurements:{}}),await document.fonts.ready;let c=bt.get(s);if(c){let i=l(s);c.measurements=i,Mr.observe(s),n&&o(i)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(bt.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),a()),()=>{s&&bt.has(s)&&(Mr.unobserve(s),bt.delete(s))}},[l,s]),(0,ct.useEffect)(()=>{let a=e.current,c=bt.get(a);if(c){if(r.current!==t){r.current=t;let i=l(a);c.measurements=i}c.onResize=o}},[t,l,e,o])}var yn=e=>e==="none",bi=(e,t=!1)=>e==="multiple"||e==="multiple-special-key"&&t,Ii=e=>e!=="none"&&e!=="default",tt=e=>Array.isArray(e)?e.length>0:e!=null,Tn=e=>Array.isArray(e)?e[0]:e;var ne=require("react");var Lt=require("react");var En=e=>null;var vn=e=>null;var Co=(e,t)=>e!==null&&Object.prototype.hasOwnProperty.call(e,t),Lo=e=>Co(e,"header"),Dn=e=>Co(e,"childNodes"),Qt=(e,t)=>e&&Object.prototype.hasOwnProperty.call(e.props,t),Hn=e=>{if((0,Lt.isValidElement)(e)){if(Qt(e,"disabled"))return e.props.disabled===!0}else if(Co(e,"disabled"))return e.disabled===!0;return!1},wn=e=>(0,Lt.isValidElement)(e)&&Qt(e,"focusable")?e.props.focusable:!0,Mn=(e,t,o)=>{if(e.childNodes)return e.childNodes.length;if(e.header){let n=o+1,r=0;for(;n<t.length&&!t[n].header;)r++,n++;return r}else return 0},Lr=e=>{if(typeof e.props.children=="string")return e.props.children;if(e.props.title)return e.props.title;if(e.props.label)return e.props.label},Rr=e=>e.type===vn||Qt(e,"data-header"),Cn=e=>e.type===En||Qt(e,"data-group"),hi=e=>Qt(e,"selectable")?e.props.selectable===!0:!Cn(e)&&!Rr(e),Nr=e=>{if(Cn(e)){let{props:{children:t}}=e;if(typeof t!="string")return No(t)}},Si=(e,t)=>{let o=[];return Lt.Children.forEach(e,n=>{(0,Lt.isValidElement)(n)&&o.push(t(n))}),o},Ro=(e,t)=>{if(Array.isArray(e))return e.length===0&&(t!=null&&t.noChildrenLabel)?[{label:t.noChildrenLabel,value:null}]:e.map((o,n)=>{var r,s;return{childNodes:Ro(o.childNodes,t),description:o.description,expanded:o.expanded,value:o,label:(s=(r=t==null?void 0:t.itemToString)==null?void 0:r.call(t,o))!=null?s:Fe(o)}});if(e)throw Error("list-child-items expects source to be an array")},No=e=>{if(e)return Si(e,t=>{let{"data-id":o,disabled:n,id:r=o,"data-expanded":s,expanded:l=s}=t.props;return{childNodes:Nr(t),disabled:n,expanded:l,header:Rr(t),id:r,label:Lr(t),selectable:hi(t),value:t}})},xi=new Set(["/","-","."]),yi=e=>xi.has(e),Ln=(e,t)=>t.startsWith(e)&&yi(t[e.length]),Ti=new Set([".","/"]);function Ei(e,t){return t.startsWith(e)?Ti.has(t.charAt(e.length)):!1}function eo(e,t,o){let n;return e.map(s=>s.id===t?{...s,...o}:Ei(s.id,t)&&s.childNodes?(n=eo(s.childNodes,t,o),{...s,childNodes:n}):s)}var vi=/[.*+?^${}()|[\]\\]/g;function to(e){return e.replace(vi,"\\$&")}var oo=(e,t)=>Object.keys(e).reduce((n,r)=>{let s=e[r],l=t[r];return typeof s=="function"&&typeof l=="function"&&(n[r]=(...a)=>{s(...a),l(...a)}),n},{...t});var Di=e=>e&&e.replace(/^\s+/g,""),Po=e=>new RegExp(`(${to(Di(e))})`,"gi"),Rn=(e="",t=Po)=>(o="")=>!!o.length&&!!e.length&&o.match(t(e))!==null;function no(e,t){return Array.isArray(e)?e.includes(t.id):e===t.id}var _e=require("react");function Nn({controlled:e,default:t,name:o,state:n="value"}){let{current:r}=(0,_e.useRef)(e!==void 0),[s,l]=(0,_e.useState)(t),a=e!==void 0?e:s,{current:c}=(0,_e.useRef)(t);(0,_e.useEffect)(()=>{},[n,o,e]),(0,_e.useEffect)(()=>{},[JSON.stringify(t,Hi)]);let i=(0,_e.useCallback)(m=>{r||l(m)},[r]);return[a,i,r]}function Hi(e,t){return(0,_e.isValidElement)(t)?null:t}var wi={},ot=({children:e,id:t,options:o=wi,source:n})=>{var E;let{getItemId:r}=o,[,s]=(0,ne.useState)(null),l=hn(),a=(0,ne.useRef)([]),c=(0,ne.useRef)([]),i=(0,ne.useMemo)(()=>[],[]),m=(0,ne.useRef)((E=o.filterPattern)!=null?E:""),{getFilterRegex:f=Po,noChildrenLabel:g,itemToString:u=Fe}=o,p=(0,ne.useCallback)(()=>o.defaultExpanded||!1,[o.defaultExpanded]),d=(0,ne.useCallback)((S,T,N=1,R="",O=[],K=[],_=[])=>(S.forEach((Y,W,F)=>{var Me,ue;let U=Y.header&&o.collapsibleHeaders,te=Y.childNodes&&o.collapsibleHeaders===!1,J=!Y.childNodes||Y.childNodes.length===0,fe=te||J&&!U,re=R?`${R}.${W}`:`item-${W}`,de=(Me=Y.id)!=null?Me:r?r(W):`${t}-${re}`,ae=fe?void 0:(ue=Y.expanded)!=null?ue:p(),me={...Y,childNodes:void 0,count:!te&&ae===void 0?0:Mn(Y,F,W),description:Y.description,disabled:Hn(Y.value),focusable:wn(Y.value)?void 0:!1,id:de,index:T.value,expanded:ae,level:N};if(O.push(me),K.push(me),_.push(S[W].value),T.value+=1,Y.childNodes){let[ve]=d(Y.childNodes,T,N+1,re,[],K,_);me.childNodes=ve}}),[O,_,K]),[o.collapsibleHeaders,r,t,p]),b=(0,ne.useCallback)(()=>m.current?Rn(m.current,f):null,[f]),x=(0,ne.useCallback)((S,T=b(),N=[],R={value:0})=>{let O=!1;for(let K of S)O&&!Lo(K)||(K.value!==null&&(T===null||T(u(K.value)))&&(N[R.value]=K,R.value+=1),O=!1,Lo(K)&&K.expanded===!1?O=!0:Dn(K)&&K.expanded!==!1&&K.childNodes&&x(K.childNodes,T,N,R));return N},[b,u]),L=(0,ne.useMemo)(()=>l?i:Ro(n,{itemToString:u,noChildrenLabel:g})||No(e)||[],[l,i,n,u,g,e]),[y,h,H]=(0,ne.useMemo)(()=>l?[i,i,i]:d(L,{value:0}),[i,d,l,L]);c.current=H,(0,ne.useMemo)(()=>l?i:a.current=x(y),[i,x,y,l]);let v=(0,ne.useRef)(y),P=(0,ne.useCallback)((S="")=>{typeof S=="string"&&(m.current=S,a.current=x(y),s({}))},[y,x]),k=(0,ne.useCallback)((S,T=y)=>{let N=T.find(R=>{var O;return R.id===S||((O=R==null?void 0:R.childNodes)==null?void 0:O.length)&&Ln(R.id,S)});if((N==null?void 0:N.id)===S)return h==null?void 0:h[N.index];if(N)return k(S,N.childNodes);throw Error(`useCollectionData itemById, id ${S} not found `)},[h,y]),$=(0,ne.useCallback)(S=>{let T=c.current.find(N=>(0,ne.isValidElement)(N.value)?N.label===S:N.value===S);if(T)return T;throw Error("useCollectionData toCollectionItem, item not found ")},[]),D=(0,ne.useCallback)(S=>{if(S===null)return null;if(Array.isArray(S)){let T=[];for(let N of S){let R=$(N);T.push(R)}return T}else if(S!==void 0)return $(S)},[$]),A=(0,ne.useCallback)(S=>{if(S===void 0)return;let T=D(S);return Array.isArray(T)?T.map(N=>N.id):T?T.id:null},[D]),I=(0,ne.useCallback)(S=>{let T=N=>{let R=c.current.find(O=>(0,ne.isValidElement)(O.value)?O.label===N:O.value!==null&&u(O.value)===N);if(R)return R};if(S===null)return null;if(Array.isArray(S)){let N=[];for(let R of S){let O=T(R);O&&N.push(O)}return N}else if(S!==void 0)return T(S)},[u]),M=(0,ne.useCallback)(S=>{for(let T of v.current)if(S===T.value)return T.id;throw Error("useCollectionData itemToId, item not found")},[]),w=(0,ne.useCallback)(S=>{v.current=eo(v.current,S.id,{expanded:!1}),a.current=x(v.current),s({})},[x]),C=(0,ne.useCallback)(S=>{v.current=eo(v.current,S.id,{expanded:!0}),a.current=x(v.current),s({})},[x]);return l||{collapseGroupItem:w,data:a.current,expandGroupItem:C,setFilterPattern:P,itemById:k,itemToId:M,toCollectionItem:$,itemToCollectionItem:D,itemToCollectionItemId:A,stringToCollectionItem:I}};var kn=xe(require("classnames")),kr=require("@salt-ds/core"),nt=require("react");var ko=require("@salt-ds/core"),Ue=require("react");var ro=require("react"),Mi=[],Pr=({popperRef:e,rootRef:t,isOpen:o,onClose:n})=>{let r=(0,ro.useRef)(o);(0,ro.useEffect)(()=>{r.current=o},[o]),(0,ro.useEffect)(()=>{let[s,l]=o?[a=>{var i,m;let c=a.target;!((i=e.current)!=null&&i.contains(c))&&!((m=t.current)!=null&&m.contains(c))&&n()},a=>{a.key==="Escape"&&r.current&&(n(),a.stopPropagation())}]:Mi;return s&&l&&(document.body.addEventListener("mousedown",s,!0),document.body.addEventListener("keydown",l,!0)),()=>{s&&l&&(document.body.removeEventListener("mousedown",s,!0),document.body.removeEventListener("keydown",l,!0))}},[o,n,e,t])};var Ci=[],Pn=({defaultIsOpen:e,disabled:t,fullWidth:o,id:n,isOpen:r,onOpenChange:s,onKeyDown:l,openKeys:a=["Enter","ArrowDown"," "],openOnFocus:c,popupComponent:i,popupWidth:m,rootRef:f,width:g})=>{var C;let u=(0,Ue.useRef)(null),p=(0,Ue.useRef)(null),d=(0,Ue.useCallback)(E=>{p.current=E},[]),[b,x]=(0,ko.useControlled)({controlled:r,default:!!e,name:"useDropdown",state:"isOpen"}),[L,y]=(0,Ue.useState)({width:(C=m!=null?m:g)!=null?C:0}),h=(0,Ue.useCallback)(()=>{x(!0),s==null||s(!0)},[s,x]),H=(0,Ue.useCallback)(()=>{x(!1),s==null||s(!1)},[s,x]);Pr({popperRef:p,rootRef:f,isOpen:b,onClose:H});let v=(0,Ue.useCallback)(()=>{t||c&&(x(!0),s==null||s(!0),u.current=window.setTimeout(()=>{u.current=null},1e3))},[t,s,c,x]),P=(0,Ue.useCallback)(E=>{if(["Enter"," "].indexOf(E.key)===-1){let S=!b;x(S),s==null||s(S)}},[b,x,s]),k=(0,Ue.useCallback)(E=>{(E.key==="Tab"||E.key==="Escape")&&b?(E.key==="Escape"&&(E.stopPropagation(),E.preventDefault()),H()):a.includes(E.key)&&!b?(E.preventDefault(),h()):l==null||l(E)},[H,b,l,a,h]),$=o!=null?o:!1;Ye(f,$?Sn:Ci,y,$);let A=`${n}-dropdown`,I={"aria-expanded":b,"aria-owns":b?A:void 0,id:`${n}-control`,onClick:t||c?void 0:P,onFocus:v,role:"listbox",onKeyDown:t?void 0:k,style:{width:$?void 0:g}},M={id:A,width:L.width},w=(0,ko.useForkRef)(d,p);return{componentProps:M,popupComponentRef:w,isOpen:b,label:"Dropdown Button",triggerProps:I}};var Or=require("@vuu-ui/vuu-layout"),Ao=require("@vuu-ui/vuu-popups");var so=require("react/jsx-runtime"),Oo="vuuDropdown",lo=(0,nt.forwardRef)(function({"aria-labelledby":t,children:o,className:n,defaultIsOpen:r,disabled:s,fullWidth:l,id:a,isOpen:c,onKeyDown:i,onOpenChange:m,openKeys:f,openOnFocus:g,placement:u="below",popupWidth:p,width:d,...b},x){let L=(0,nt.useRef)(null),y=(0,kn.default)(Oo,n,{[`${Oo}-fullWidth`]:l,[`${Oo}-disabled`]:s}),[h,H]=nt.Children.toArray(o),v=(0,Or.useId)(a),{componentProps:P,isOpen:k,popupComponentRef:$,triggerProps:D}=Pn({ariaLabelledBy:t,defaultIsOpen:r,disabled:s,fullWidth:l,id:v,isOpen:c,onOpenChange:m,onKeyDown:i,openKeys:f,openOnFocus:g,popupComponent:H,popupWidth:p,rootRef:L,width:d}),A=()=>{let{id:w,role:C,...E}=D,{id:S=w,role:T=C,...N}=h.props;return(0,nt.cloneElement)(h,oo(N,{...E,id:S,role:T}))},I=()=>{let{id:w,width:C,...E}=P,{className:S,id:T=w,width:N,...R}=H.props;return(0,nt.cloneElement)(H,{...R,...E,className:(0,kn.default)(S,`${Oo}-popup-component`),id:T,ref:$,width:N!=null?N:C})},M=(0,kr.useForkRef)(L,x);return(0,so.jsxs)("div",{...b,className:y,id:a,ref:M,children:[A(),k&&(0,so.jsx)(Ao.Portal,{children:(0,so.jsx)(Ao.PopupComponent,{anchorElement:L,placement:u,children:I()})})]})});var Ar=require("@salt-ds/core"),Kr=xe(require("classnames")),Fr=require("react");var Rt=require("react/jsx-runtime"),io="vuuDropdownButton",On=(0,Fr.forwardRef)(function({ariaHideOptionRole:t,className:o,disabled:n,icon:r="chevron-down",isOpen:s,label:l,labelId:a,fullWidth:c,posInSet:i,setSize:m,labelAriaAttributes:f,...g},u){return(0,Rt.jsx)(Ar.Button,{className:(0,Kr.default)(io,{[`${io}-fullWidth`]:c},o),disabled:n,variant:"secondary",...g,ref:u,children:(0,Rt.jsxs)("div",{className:`${io}-content`,children:[(0,Rt.jsx)("span",{"aria-hidden":t?"true":void 0,...f,className:`${io}-buttonLabel`,id:a,role:"option",children:l}),(0,Rt.jsx)("span",{className:`${io}-buttonIcon`,"data-icon":r,"aria-hidden":"true"})]})})});var Ps=require("@salt-ds/core"),lt=require("react"),ks=require("@vuu-ui/vuu-layout");function Li(e,...t){let o=new Set(e);for(let n of t)for(let r of n)o.add(r);return o}var Nt="ArrowUp",Pt="ArrowDown",An="ArrowLeft",Kn="ArrowRight",Ko="Enter",Ri="Escape",ao="Home",kt="End",Fo="PageUp",co="PageDown",Fn=" ",Ni=new Set(["Enter","Delete"," "]),Pi=new Set(["Tab"]),ki=new Set(["ArrowRight","ArrowLeft"]),$r=new Set([ao,kt,Fo,co,Pt,Nt]),Oi=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),Ai=Li(Ni,$r,ki,Oi,Pi),uo=e=>Ai.has(e.key)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,$n=({key:e})=>$r.has(e);var Bn=require("react");var Ki={},Fi=e=>Array.isArray(e.childNodes),$i=e=>!0,Bi=e=>e.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",zn=({collapsibleHeaders:e,collectionHook:t,highlightedIdx:o,onToggle:n})=>{let r=(0,Bn.useCallback)(a=>{if(a.key===Kn||a.key===Ko){let c=t.data[o];c&&c.expanded===!1&&c.value&&(a.preventDefault(),t.expandGroupItem(c),n==null||n(c.value))}if(a.key===An||a.key===Ko){let c=t.data[o];c&&c.expanded&&c.value&&(a.preventDefault(),t.collapseGroupItem(c),n==null||n(c.value))}},[t.collapseGroupItem,t.data,t.expandGroupItem,o]),l={onClick:(0,Bn.useCallback)(a=>{console.log(`useCollapsibleGroups idx=${o}`);let c=t.data[o];console.log(a.target,a.currentTarget),c&&Fi(c)&&(!$i(c)||Bi(a.target))&&(a.stopPropagation(),a.preventDefault(),c.expanded===!1&&c.value?(t.expandGroupItem(c),n==null||n(c.value)):c.expanded===!0&&c.value&&(t.collapseGroupItem(c),n==null||n(c.value)))},[t.collapseGroupItem,t.data,t.expandGroupItem,o]),onKeyDown:r};return e?l:Ki};var zi=(e,t)=>e.querySelector(`:scope > [data-idx="${t}"]`);function Br(e){if(e){let t=e.dataset.index;if(t)return parseInt(t,10);if(t=e.ariaPosInSet)return parseInt(t,10)-1}return-1}var zr=e=>e==null?void 0:e.id,Vr=e=>e.closest("[data-index],[aria-posinset]"),Vi=e=>zr(Vr(e)),Vn=e=>Br(Vr(e));var $o=require("react"),_i={scrollToIndex:()=>{},scrollToItem:()=>{},scrollTo:()=>{}},mo=({collectionHook:e,forwardedRef:t,scrollableRef:o,scrollIntoView:n})=>{let r=(0,$o.useMemo)(()=>({scrollToIndex:s=>{let l=e.data[s];l&&(n==null||n(l))},scrollToItem:s=>{let l=e.toCollectionItem(s);l&&(n==null||n(l))},scrollTo:s=>{o!=null&&o.current&&(o.current.scrollTop=s)}}),[e,n,o]);(0,$o.useImperativeHandle)(t,()=>o.current?r:_i,[r,o])};var Gr=require("@salt-ds/core"),Ce=require("react");var Bo=require("@vuu-ui/vuu-utils"),zo=-2;function _r(e,t,o){return t===Nt||t===kt?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var _n=(e,t)=>{let o=Tn(t);return o?e.indexOf(o):-1},Ui=(e,t,o,n)=>e===kt?n:e===ao?-1:t!==-1?t:o,Gi=(e,t,o,n)=>{let{top:r}=t.getBoundingClientRect(),{scrollTop:s,clientHeight:l,scrollHeight:a}=e,c=o-1,i=Math.min(s+l,a-l);if(i!==s&&n<c){e.scrollTo(0,i);let m=n,f;do m+=1,f=(0,Bo.getElementByDataIndex)(e,m,!0).getBoundingClientRect();while(f.top<r&&m<c);return m}},Wi=async(e,t,o)=>{let{top:n}=t.getBoundingClientRect(),{scrollTop:r,clientHeight:s}=e,l=Math.max(r-s,0);if(l!==r&&o>0)return e.scrollTo(0,l),new Promise(a=>{requestAnimationFrame(()=>{let c=o,i;do c-=1,i=(0,Bo.getElementByDataIndex)(e,c,!0).getBoundingClientRect();while(i.top>n&&c>0);a(c)})})},ji=e=>!e.header&&!e.childNodes,Ur=e=>ji(e)||e.expanded!==void 0,Un=({containerRef:e,defaultHighlightedIndex:t=-1,disableHighlightOnFocus:o,highlightedIndex:n,indexPositions:r,itemCount:s,onHighlight:l,onKeyboardNavigation:a,restoreLastFocus:c,selected:i,viewportItemCount:m})=>{let f=(0,Ce.useRef)(-1),[,g]=(0,Ce.useState)({}),[u,p,d]=(0,Gr.useControlled)({controlled:n,default:t,name:"UseKeyboardNavigation"}),b=(0,Ce.useCallback)((D,A=!1)=>{l==null||l(D),p(D),A&&(f.current=D)},[l,p]),x=(0,Ce.useCallback)(async(D,A)=>{let I=(0,Bo.getElementByDataIndex)(e.current,A,!0),M;if(I){let{current:w}=e;I&&w&&(M=D===co?Gi(w,I,s,A):await Wi(w,I,A))}return M!=null?M:A},[e,s]),L=(0,Ce.useCallback)((D=Pt,A=D===Pt?-1:s)=>{if(s===0)return-1;{let I=_n(r,i),M=Ui(D,A,I,s),w=_r(s,D,M);if(w===0&&D===Nt&&!Ur(r[0]))return A;for(;((D===Pt||D===ao)&&w<s||(D===Nt||D===kt)&&w>0)&&!Ur(r[w]);)w=_r(s,D,w);return w}},[r,s,i]),y=(0,Ce.useRef)(!1),h=(0,Ce.useRef)(!1),H=D=>h.current=D,v=(0,Ce.useCallback)(()=>{if(h.current)h.current=!1;else if(y.current=!0,r.length===0)b(zo);else if(u!==-1)g({});else if(c)if(f.current!==-1)b(f.current);else{let D=_n(r,i);b(D!==-1?D:0)}else if(tt(i)){let D=_n(r,i);b(D)}else o!==!0&&b(L())},[o,u,r,L,c,i,b]),P=(0,Ce.useCallback)(async D=>{let A=D.key===co||D.key===Fo?await x(D.key,u):L(D.key,u);A!==u&&b(A,!0),a==null||a(D,A)},[u,L,x,a,b]),k=(0,Ce.useCallback)(D=>{s>0&&$n(D)?(D.preventDefault(),D.stopPropagation(),y.current=!0,P(D)):uo(D)&&(y.current=!0)},[s,P]),$=(0,Ce.useMemo)(()=>({onBlur:D=>{let A=D.target.closest(".vuuList"),I=D.relatedTarget;A&&!(A!=null&&A.contains(I))&&(y.current=!1,p(-1),c||(f.current=-1))},onFocus:v,onKeyDown:k,onMouseDownCapture:()=>{y.current=!1,H(!0)},onMouseMove:()=>{y.current&&(y.current=!1)},onMouseLeave:()=>{y.current=!1,H(!1),b(-1)}}),[v,k,c,p,b]);return{focusVisible:y.current?u:-1,controlledHighlighting:d,highlightedIndex:u,setHighlightedIndex:b,keyboardNavigation:y,containerProps:$,setIgnoreFocus:H}};var je=require("@vuu-ui/vuu-utils"),$e=require("react");var qi="checkbox",Wr="none",Zi="single",Xi="cascade",Yi={},Ji=["Enter"," "],Qi=e=>e&&e!==Wr,Gn=({containerRef:e,defaultSelected:t,disableSelection:o=!1,highlightedIdx:n,itemQuery:r,onSelect:s,onSelectionChange:l,selected:a,selectionStrategy:c,selectionKeys:i=Ji,tabToSelect:m})=>{let f=c==="deselectable",g=c==="multiple",u=c==="extended",p=(0,$e.useRef)(-1),d=(0,$e.useCallback)(I=>i.includes(I.key),[i]),b=(0,$e.useCallback)(()=>g||u?[]:null,[g,u]),[x,L]=Nn({controlled:a,default:t!=null?t:b(),name:"UseSelection",state:"selected"}),y=(0,$e.useCallback)(I=>Array.isArray(x)?x.includes(I):x===I,[x]),h=(0,$e.useCallback)(I=>y(I)?null:I,[y]),H=(0,$e.useCallback)(I=>{let M=y(I)?x.filter(w=>w!==I):x.concat(I);return M.sort(),M},[y,x]),v=(0,$e.useCallback)((I,M)=>{let w=M?x:[],[C]=x.slice(-1),E=C?(0,je.getElementDataIndex)(document.getElementById(C)):0,S=Math.min(I,E),T=Math.max(I,E),N=e.current,O=Array.from(N.querySelectorAll(r)).slice(S,T+1).map(_=>_.id),K=[...new Set([...w,...O])];return K.sort(),K},[e,r,x]),P=(0,$e.useCallback)((I,M,w,C)=>{let{current:E}=e,{id:S}=(0,je.getElementByDataIndex)(E,M,!0),T;g?T=H(S):u?C&&!w?T=H(S):w?T=v(M,C):T=[S]:f?T=h(S):T=S,T!==x&&L(T),s==null||s(I,S),T!==x&&l&&l(I,T)},[e,g,u,f,x,s,H,v,h,L,l]),k=(0,$e.useCallback)(I=>{let{current:M}=e,w=(0,je.getElementByDataIndex)(M,n);(0,je.isSelectableElement)(w)&&(d(I)||m&&I.key==="Tab")&&(I.key!=="Tab"&&I.preventDefault(),P(I,n,!1,I.ctrlKey||I.metaKey),u&&(p.current=n))},[n,e,d,m,P,u]),$=(0,$e.useCallback)((I,M)=>{if(u&&I.shiftKey){let{current:w}=e,C=(0,je.getElementByDataIndex)(w,M);(0,je.isSelectableElement)(C)&&P(I,M,!0)}},[u,e,P]),D=(0,$e.useCallback)(I=>{let{current:M}=e,w=(0,je.getElementByDataIndex)(M,n);!o&&(0,je.isSelectableElement)(w)&&(I.preventDefault(),I.stopPropagation(),P(I,n,I.shiftKey,I.ctrlKey||I.metaKey),u&&(p.current=n))},[e,n,o,P,u]);return{listHandlers:yn(c)?Yi:{onClick:D,onKeyDown:k,onKeyboardNavigation:$},selected:x,setSelected:L}};var It=require("react");var Wn=({disableTypeToSelect:e,highlightedIdx:t,highlightItemAtIndex:o,typeToNavigate:n,items:r,applyIncrementalSearch:s=!0})=>{let l=(0,It.useRef)(null),a=(0,It.useRef)(""),c=(0,It.useRef)(-1),i=(0,It.useCallback)(f=>{if(f||!s){let g=new RegExp(`^${a.current}`,"i"),u=r.findIndex(({label:p},d)=>d>c.current&&g.test(p));u===-1&&(u=r.findIndex(({label:p},d)=>d<=c.current&&g.test(p))),u!==-1&&o(u)}else a.current="",l.current=null,c.current=-1},[s,o,r]),m=(0,It.useCallback)(f=>{let g=c.current!==-1;(uo(f)||g&&f.key===Fn)&&n&&(f.preventDefault(),f.stopPropagation(),(c.current===-1||f.key===a.current)&&(c.current=t),l.current!==null&&(clearTimeout(l.current),l.current=null),f.key!==a.current&&(a.current+=f.key),s&&i(!0),l.current=window.setTimeout(()=>{i()},100))},[n,s,t,i]);return{onKeyDown:e?void 0:m}};var Je=require("react");var Xr=require("@salt-ds/core"),jr=["height"],ea=["height","scrollHeight"],ta=[],qr={containerOnly:[ea,ta],withContent:[jr,jr]},oa=e=>e?qr.containerOnly:qr.withContent,Zr={current:null},na=(e,t)=>{let{transform:o="none"}=getComputedStyle(e);if(o.startsWith("matrix")){let n=o.lastIndexOf(",");return parseInt(o.slice(n+1))}else{let n=e.offsetParent;if(n===t||t===null)return e.offsetTop;{let r=e.offsetTop;for(;n!==null&&n!==t;)r+=n.offsetTop,n=n.offsetParent;return r}}},jn=({containerRef:e,contentRef:t=Zr,highlightedIdx:o=-1,indexPositions:n,stickyHeaders:r=!1})=>{let s=(0,Je.useRef)(!1),l=(0,Je.useRef)({height:0,contentHeight:0}),a=(0,Je.useCallback)(d=>{s.current=!0,e.current&&(e.current.scrollTop=d),setTimeout(()=>{s.current=!1})},[]),c=(0,Je.useCallback)(()=>a(0),[a]),i=(0,Je.useCallback)(()=>{a(l.current.contentHeight-l.current.height)},[a]),m=(0,Je.useCallback)(d=>{let b=t.current||e.current;if(d.id){let x=document.getElementById(d.id);if(x&&e.current){let{height:L}=l.current,y=x.ariaExpanded&&x.firstChild?x.firstChild:x,h=r?36:0,H=na(y,b),v=y.offsetHeight,{scrollTop:P}=e.current,k=P+h,$=k+L-h;if(H+v>$||H<k){let D=H+v>$?P+(H+v)-$:H-h;a(D)}}}},[e,t,a,r]);(0,Xr.useIsomorphicLayoutEffect)(()=>{let{height:d,contentHeight:b}=l.current,x=n[o];if(b>d&&x){let[L]=n,[y]=n.slice(-1);x===L?c():x===y?i():m(n[o])}},[o,n,m,i,c]);let f=(0,Je.useCallback)(({height:d,scrollHeight:b})=>{typeof d=="number"&&(l.current.height=d),typeof b=="number"&&(l.current.contentHeight=b)},[]),g=(0,Je.useCallback)(({height:d})=>{typeof d=="number"&&(l.current.contentHeight=d)},[]),[u,p]=oa(t===Zr);return Ye(e,u,f,!0),Ye(t,p,g,!0),{isScrolling:s,scrollIntoView:m}};var Yr=require("@salt-ds/core");var Ot=require("react/jsx-runtime"),ra=(0,Yr.makePrefixer)("saltHighlighter"),qn=e=>{let{matchPattern:t,text:o=""}=e,n=typeof t=="string"?new RegExp(`(${to(t)})`,"gi"):t;return n===void 0?(0,Ot.jsx)(Ot.Fragment,{children:o}):(0,Ot.jsx)("span",{children:o.split(n).map((r,s)=>r.match(n)?(0,Ot.jsx)("strong",{className:ra("highlight"),children:r},`${s}-${r}`):r)})};var Zn=require("react"),Xn=xe(require("classnames"));var Qr=xe(require("classnames"));var es=require("react/jsx-runtime"),Jr="vuuCheckboxIcon",po=({checked:e=!1,...t})=>(0,es.jsx)("span",{...t,className:(0,Qr.default)(Jr,{[`${Jr}-checked`]:e})});var ht=require("react/jsx-runtime"),fo="vuuListItem",go=(0,Zn.forwardRef)(function({height:t,...o},n){return(0,ht.jsx)("div",{...o,"aria-hidden":!0,className:(0,Xn.default)(fo,`${fo}-proxy`),ref:n,style:{height:t}})}),bo=(0,Zn.forwardRef)(function({children:t,className:o,disabled:n,tabIndex:r,item:s,itemHeight:l,itemTextHighlightPattern:a,label:c,selectable:i,selected:m,showCheckbox:f,style:g,...u},p){let d=(0,Xn.default)(fo,o,{vuuDisabled:n,[`${fo}-checkbox`]:f}),b=l!==void 0?{...g,height:l}:g;return(0,ht.jsxs)("div",{className:d,...u,"aria-disabled":n||void 0,"aria-selected":m||void 0,ref:p,style:b,children:[f&&(0,ht.jsx)(po,{"aria-hidden":!0,checked:m}),t&&typeof t!="string"?t:a==null?(0,ht.jsx)("span",{className:`${fo}-textWrapper`,children:c||t}):(0,ht.jsx)(qn,{matchPattern:a,text:c||t})]})});var Xo=require("@vuu-ui/vuu-layout"),Ts=require("@salt-ds/core"),Zo=xe(require("classnames")),Ne=require("react");var Ss=require("@vuu-ui/vuu-layout"),Ee=require("react");var sa="fwd",la="bwd";var Be=require("react");var ts=require("@vuu-ui/vuu-utils"),rt=require("react"),os=({onDragOverDropTarget:e})=>{let t=(0,rt.useRef)(),o=(0,rt.useRef)(null),n=(0,rt.useRef)({x:0,y:0}),r=(0,rt.useCallback)((c,i)=>{let{current:m}=t;if(m){for(let[f,g]of Object.entries(m))if((0,ts.boxContainsPoint)(g,c,i))return f}},[]),s=(0,rt.useCallback)(c=>{let{clientX:i,clientY:m}=c,{current:f}=o;if(n.current.x=i,n.current.y=m,f!=null&&f.draggableElement){let{draggableElement:g,mouseOffset:u}=f,p=n.current.x-u.x,d=n.current.y-u.y;g.style.top=`${d}px`,g.style.left=`${p}px`;let b=r(p,d);b&&e(b,f)&&(document.removeEventListener("mousemove",s,!1),document.removeEventListener("mouseup",l,!1),o.current=null)}},[]),l=(0,rt.useCallback)(()=>{document.removeEventListener("mousemove",s,!1),document.removeEventListener("mouseup",l,!1)},[s]),a=(0,rt.useCallback)(c=>(console.log("resume drag of ",{el:c.draggableElement}),o.current=c,document.addEventListener("mousemove",s,!1),document.addEventListener("mouseup",l,!1),!0),[s,l]);return{measuredDropTargetsRef:t,resumeDrag:a}};var rs=require("react/jsx-runtime"),ia={isDragSource:!1,isDropTarget:!1,register:()=>{}},aa=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),ns=(0,Be.createContext)({registerDragDropParty:aa}),ca=(e=[])=>e.reduce((t,o)=>{let n=document.getElementById(o);if(n){let{top:r,right:s,bottom:l,left:a}=n.getBoundingClientRect();t[o]={top:r,right:s,bottom:l,left:a}}return t},{}),ua=({children:e,dragSources:t})=>{let o=(0,Be.useMemo)(()=>new Map,[]),n=(0,Be.useCallback)((g,u)=>{let p=o.get(g);return p?p(u):!1},[o]),{measuredDropTargetsRef:r,resumeDrag:s}=os({onDragOverDropTarget:n}),[l,a]=(0,Be.useMemo)(()=>{let g=new Map,u=new Map;for(let[p,{dropTargets:d}]of Object.entries(t)){let b=g.get(p),x=Array.isArray(d)?d:[d];b?b.push(...x):g.set(p,x);for(let L of x){let y=u.get(L);y?y.push(p):u.set(L,[p])}}return[g,u]},[t]);console.log({dragSources:l,dropTargets:a});let c=(0,Be.useCallback)((g,u)=>(r.current=ca(l.get(g)),s(u),!0),[l,r,s]),i=(0,Be.useCallback)(g=>{console.log(`end of drag operation, id= ${g}`)},[]),m=(0,Be.useCallback)((g,u)=>{u&&o.set(g,u)},[o]),f=(0,Be.useMemo)(()=>({dragSources:l,dropTargets:a,onDragOut:c,onEndOfDragOperation:i,registerDragDropParty:m}),[l,a,c,i,m]);return(0,rs.jsx)(ns.Provider,{value:f,children:e})},Yn=e=>{var l,a;let{dragSources:t,dropTargets:o,onDragOut:n,onEndOfDragOperation:r,registerDragDropParty:s}=(0,Be.useContext)(ns);if(e){let c=(l=t==null?void 0:t.has(e))!=null?l:!1,i=(a=o==null?void 0:o.has(e))!=null?a:!1;return{isDragSource:c,isDropTarget:i,onDragOut:n,onEndOfDragOperation:r,register:s}}else return ia};var Vo=class{constructor(t,o){this.draggableElement=null;this.payload=null;this.setDraggable=t=>{this.draggableElement=t};this.initialDragElement=o,this.mouseOffset=this.getMouseOffset(t,o)}setPayload(t){this.payload=t}getMouseOffset(t,o){let{clientX:n,clientY:r}=t,s=o.getBoundingClientRect();return{x:n-s.left,y:r-s.top}}};var Se=require("react");var qe=require("react");var da=["left","right"],ma=["top","bottom"],Io=":not(.wrapped)",Jn=':not([aria-hidden="true"])',Qn=e=>{let t=e.cloneNode(!0);return t.removeAttribute("id"),t.dataset.index="-1",t},ss=(e,t="width",o=!1)=>{let n=t==="width"?"left":"top",{[t]:r,[n]:s}=e.getBoundingClientRect(),{padEnd:l=!1,padStart:a=!1}=e.dataset,c=getComputedStyle(e),[i,m]=t==="width"?da:ma,f=a&&!o?0:parseInt(c.getPropertyValue(`margin-${i}`),10),g=l&&!o?0:parseInt(c.getPropertyValue(`margin-${m}`),10),u=r;if(parseInt(c.getPropertyValue("flex-shrink"),10)>0){let d=parseInt(c.getPropertyValue("flex-basis"),10);!isNaN(d)&&d>0&&(u=d)}return[s,f+u+g]},pa={horizontal:{CLIENT_POS:"clientX",CLIENT_SIZE:"clientWidth",CONTRA:"top",CONTRA_CLIENT_POS:"clientY",CONTRA_END:"bottom",CONTRA_POS:"y",DIMENSION:"width",END:"right",POS:"x",SCROLL_POS:"scrollLeft",SCROLL_SIZE:"scrollWidth",START:"left"},vertical:{CLIENT_POS:"clientY",CLIENT_SIZE:"clientHeight",CONTRA:"left",CONTRA_CLIENT_POS:"clientX",CONTRA_END:"right",CONTRA_POS:"x",DIMENSION:"height",END:"bottom",POS:"y",SCROLL_POS:"scrollTop",SCROLL_SIZE:"scrollHeight",START:"top"}},Le=e=>pa[e],er=(e,t)=>{let o=e.find(n=>n.id===t);if(o)return o},tr=(e,t)=>{e.splice(t,1);for(let o=t;o<e.length;o++)e[o].currentIndex-=1},St=(e,t,o,n,r)=>{let s=[],{DIMENSION:l}=Le(t),a=Array.from(o?e.querySelectorAll(o):e.children),c=a.length,i=typeof(n==null?void 0:n.from)=="number"?n.atEnd?Math.max(0,n.from-1):n.from:0,m=typeof(n==null?void 0:n.to)=="number"?Math.min(n.to+2,c-1):c-1;for(let f=i;f<=m;f++){let g=a[f],[u,p]=ss(g,l),d=f===c-1,b=g.id;s.push({currentIndex:f,id:b,index:f,isDraggedItem:r===b,isLast:d,isOverflowIndicator:g.dataset.index==="overflow",element:g,start:u,end:u+p,size:p,mid:u+p/2})}return s},xt=(e,t=!1)=>{let o=e.findIndex(n=>n.isDraggedItem);if(t){let{index:n}=e[o],r=e.filter(l=>!l.isDraggedItem).reduce((l,a)=>Math.min(l,a.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(n===0&&r===1))return r+o}return o},_o=(e,t)=>{let o=xt(e),n=t==="fwd"?o+1:o-1;if(n<0||n>=e.length)throw Error("switchDropTargetPosition index out of range");let r=e.at(o),s=e.at(n),l=s.size-r.size;if(t==="fwd"){let a=s.start+l,c=s.end,i={...r,start:a,mid:Math.floor(a+(c-a)/2),end:c},m=r.start,f=r.end+l,g={...s,start:m,mid:Math.floor(m+(f-m)/2),end:f};e.splice(o,2,g,i)}else{let a=s.start,c=s.end-l,i={...r,start:a,mid:Math.floor(a+(c-a)/2),end:c},m=r.start-l,f=r.end,g={...s,start:m,mid:Math.floor(m+(f-m)/2),end:f};e.splice(n,2,i,g)}},ut=(e,t,o,n)=>{let r=e.length,s=xt(e),l=e[s];if(n==="fwd"){let a=Math.round(t+o);for(let c=r-1;c>=0;c--){let i=e[c];if(a>i.mid)return l&&c<s?l:i}}else{let a=Math.round(t);for(let c=0;c<r;c++){let i=e[c];if(a<i.mid)return c>s?l:i}}throw Error("no dropTraget identified")};function or(e,t){let{height:o,left:n,top:r,width:s}=e,{height:l,width:a}=t;return{height:Math.min(o,l),left:n,top:r,width:Math.min(s,a)}}var Uo=e=>e.map((t,o)=>{var n;return`
3
+ ${t.isDraggedItem?"*":" "}[${o}] width : ${Math.floor(t.size)} ${Math.floor(t.start)} - ${Math.floor(t.end)} (mid ${Math.floor(t.mid)}) ${(n=t.element)==null?void 0:n.textContent} `}).join("");var ls=require("@salt-ds/core"),is=xe(require("classnames")),Go=require("react"),as=require("@vuu-ui/vuu-popups");var nr=require("react/jsx-runtime"),fa=e=>e.split(" ").map(t=>`vuuDraggable-${t}`),Wo=(0,Go.forwardRef)(function({wrapperClassName:t,element:o,onTransitionEnd:n,style:r,scale:s=1},l){let a=(0,Go.useCallback)(i=>{i&&(i.innerHTML="",i.appendChild(o),s!==1&&(i.style.transform=`scale(${s},${s})`))},[o,s]),c=(0,ls.useForkRef)(l,a);return(0,nr.jsx)(as.PortalDeprecated,{children:(0,nr.jsx)("div",{className:(0,is.default)("vuuDraggable",...fa(t)),ref:c,onTransitionEnd:n,style:r})})}),rr=e=>{let t=document.createElement("div");return t.className="vuuDraggable-spacer",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t},cs=()=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicatorPosition",e},us=e=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicator",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t};var ds=(e="horizontal")=>{let t=(0,qe.useRef)(0),o=(0,qe.useRef)(!1),n=(0,qe.useMemo)(()=>[rr(o),rr()],[]),r=(0,qe.useCallback)((i,m="width")=>{let[f,g]=n;t.current=requestAnimationFrame(()=>{o.current=!0,f.style.cssText=`${m}: 0px`,g.style.cssText=`${m}: ${i}px`,n[0]=g,n[1]=f})},[n]),s=(0,qe.useCallback)((i=!1)=>{if(i===!0){let[m]=n,f=()=>{m.removeEventListener("transitionend",f),s()},g=e==="horizontal"?"width":"height";m.addEventListener("transitionend",f),r(0,g)}else n.forEach(m=>m.remove())},[r,e,n]),l=(0,qe.useCallback)(()=>{t.current&&(cancelAnimationFrame(t.current),t.current=0)},[]),a=(0,qe.useCallback)((i,m,f,g=!1,u="static")=>{if(m){let p=e==="horizontal"?"width":"height",[d,b]=n;if(l(),g)o.current?(s(),d.style.cssText=`${p}: ${f}px`,b.style.cssText=`${p}: 0px`,u==="fwd"?(m.element.before(d),m.element.after(b)):(m.element.after(d),m.element.before(b))):u==="fwd"?m.element.after(b):m.element.before(b),r(f,p);else if(u==="static")d.style.cssText=`${p}: ${f}px`,m.element.before(d);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");u!=="static"&&_o(i,u)}},[r,l,s,e,n]),c=(0,qe.useCallback)((i,m,f,g=!1,u="static")=>{let p=e==="horizontal"?"width":"height",[d,b]=n;l(),g?(o.current?(s(),d.style.cssText=`${p}: ${f}px`,b.style.cssText=`${p}: 0px`,m.element.before(d),m.element.after(b)):u==="fwd"?m.element.after(b):m.element.before(b),r(f,p)):(d.style.cssText=`${p}: ${f}px`,m.element.after(d)),u!=="static"&&_o(i,u)},[r,l,s,e,n]);return{displaceItem:a,displaceLastItem:c,clearSpacers:s}};var sr=require("@vuu-ui/vuu-utils");var ms=({onDrop:e,orientation:t="horizontal",containerRef:o,itemQuery:n="*",selected:r,viewportRange:s})=>{let l=(0,Se.useRef)(),a=(0,Se.useRef)(!1),c=(0,Se.useRef)(-1),i=(0,Se.useRef)([]),m=(0,Se.useRef)(!1),[f,g]=(0,Se.useState)(!1),{clearSpacers:u,displaceItem:p,displaceLastItem:d}=ds(t),b=(0,Se.useRef)(),x=`:is(${n}${Io}${Jn},.vuuOverflowContainer-OverflowIndicator)`,L=I=>i.current.findIndex(M=>M.id===I.id),y=(0,Se.useRef)();y.current=s;let h=(0,Se.useCallback)(()=>{u()},[u]),H=(0,Se.useCallback)((I,M,w)=>{let{current:C}=o,{current:E}=b;if(C&&E){i.current=St(C,t,x,y.current),I==="fwd"?i.current.push(E):i.current.unshift(E);let{size:S}=E,N=c.current+S/2,{current:R}=i,O=ut(R,N,S,"fwd");if(O){let _=L(O),Y=R[_];w&&I==="fwd"?d(R,R[R.length-1],S,!1,"static"):p(R,Y,S,!0,"static")}}},[o,p,d,x,t]),v=(0,Se.useCallback)(I=>{I.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:M}=o;if(M&&I){let w=M.contains(I),{SCROLL_SIZE:C,CLIENT_SIZE:E}=Le(t),{id:S}=I,{[C]:T,[E]:N}=M;a.current=T>N;let R=i.current=St(M,t,x,s,S);if(w){console.log(Uo(R));let O=xt(R),K=R[O];K&&M&&(b.current=K,(K.isLast?d:p)(R,K,K.size,!1,"static"))}else{let{top:O,height:K}=I.getBoundingClientRect(),_=ut(R,O,K,"fwd"),Y=R.indexOf(_),{start:W,end:F,mid:U}=_;console.log(`nextDropTarget ${_.element.textContent}`);let te=b.current={end:F,mid:U,start:W,isDraggedItem:!0,isExternal:!0,size:K},J=R.indexOf(_);console.log({indexOfDropTarget:J}),R.splice(J,0,te);for(let re=Y+1;re<R.length;re++){let de=R[re];de.mid+=K,de.end+=K,de.start+=K}console.log(Uo(R)),(_.isLast?d:p)(R,_,_.size,!0,"static")}}},[o,p,d,x,t,r,s]),[P,k]=(0,Se.useMemo)(()=>{let I=!1;return[C=>{if(!I){I=!0;let E=C.element.querySelector(".vuuPopupMenu");E&&(0,sr.dispatchMouseEvent)(E,"click")}},C=>{if(I){I=!1;let E=C.element.querySelector(".vuuPopupMenu");E&&(0,sr.dispatchMouseEvent)(E,"click")}}]},[]),$=(0,Se.useCallback)((I,M)=>{let{current:w}=b;if(w&&o.current){c.current=I;let{current:C}=i,E=ut(C,I,w.size,M);if(E&&!E.isDraggedItem)if(E.isOverflowIndicator)g(m.current=!0),P(E);else{let{size:S}=w;(L(E)===C.length-1?d:p)(C,E,S,!0,M);let R=C.at(-1);k(R),g(m.current=!1)}l.current=M}},[o,p,d,k,P]),D=(0,Se.useCallback)(()=>{var C;u();let{current:I}=i,M=xt(I),w=I[M];if(w)if(l.current=void 0,m.current)e(w.index,-1,{fromIndex:w.index,toIndex:-1,isExternal:w.isExternal});else{let E=xt(I,!0);e(w.index,E,{fromIndex:w.index,toIndex:E,isExternal:w.isExternal})}if(g(!1),o.current){let E=(C=o.current)==null?void 0:C.scrollTop;M<I.length&&(o.current.scrollTop=E)}},[u,o,e]),A=(0,Se.useCallback)(()=>{u(!0)},[u]);return{beginDrag:v,drag:$,drop:D,handleScrollStart:h,handleScrollStop:H,releaseDrag:A,revealOverflowedItems:f}};var pe=require("react");var ho=require("react");var ps=()=>{let e=(0,ho.useMemo)(()=>cs(),[]),t=(0,ho.useCallback)(()=>e.remove(),[e]);return{positionDropIndicator:(0,ho.useCallback)((n,r="end")=>(r==="end"?n.element.after(e):n.element.before(e),e),[e]),clearSpacer:t}};var gs=require("react/jsx-runtime"),ga=':not([data-overflowed="true"])',ba=':not([aria-hidden="true"])',fs=({onDrop:e,orientation:t="horizontal",containerRef:o,itemQuery:n="*",selected:r,viewportRange:s})=>{let l=(0,pe.useRef)(),a=(0,pe.useRef)(null),c=(0,pe.useRef)(null),i=(0,pe.useRef)(""),m=(0,pe.useRef)(!1),f=(0,pe.useRef)(-1),g=(0,pe.useRef)([]),u=(0,pe.useRef)(!1),[p,d]=(0,pe.useState)(!1),[b,x]=(0,pe.useState)(),{clearSpacer:L,positionDropIndicator:y}=ps(),h=(0,pe.useRef)(),H=`:is(${n}${ga}${ba},[data-overflow-indicator])`,v=C=>g.current.findIndex(E=>E.id===C.id),P=(C,E,S)=>{C.start+=E,C.mid+=E,C.end+=E,typeof S=="number"&&(C.currentIndex+=S)},k=(0,pe.useRef)();k.current=s;let $=(0,pe.useCallback)(()=>{L()},[L]),D=(0,pe.useCallback)((C,E,S)=>{let{current:T}=o,{current:N}=h;if(T&&N){g.current=St(T,t,H,k.current);let{size:R}=N,K=f.current+R/2,{current:_}=g,Y=ut(_,K,R,"fwd");Y&&y(S&&C==="fwd"?_[_.length-1]:Y,"start")}},[o,y,H,t]),A=(0,pe.useCallback)(C=>{C.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:E}=o;if(E&&C){let{SCROLL_SIZE:S,CLIENT_SIZE:T}=Le(t),{id:N}=C,{[S]:R,[T]:O}=E;m.current=R>O;let K=g.current=St(E,t,H,s),_=er(K,N);if(_&&E){let Y=v(_);tr(K,Y),h.current=_;let{current:W}=k;if(W!=null&&W.atEnd)for(let ae=0;ae<K.length;ae++)P(K[ae],_.size);for(let ae=Y;ae<K.length;ae++)P(K[ae],-_.size,-1);let[F,U]=_.isLast?[K[K.length-1],"end"]:[K[Y],"start"];c.current=F,i.current=U;let te=y(F,U),{top:J,left:fe,width:re}=te.getBoundingClientRect(),de={top:_.isLast?W!=null&&W.atEnd&&!W.atStart?J+_.size-2:J-2:J-_.size-2,left:fe,width:re,height:2};x((0,gs.jsx)(Wo,{wrapperClassName:"dropIndicatorContainer",style:de,ref:a,element:us()}))}}},[r,o,t,H,s,y]),I=(0,pe.useCallback)((C,E)=>{let{current:S}=c,{current:T}=h;if(T&&o.current){let N=t==="horizontal"?"left":"top";f.current=C;let{current:R}=g,O=ut(R,C,T.size,E);if(O&&O.index!==(S==null?void 0:S.index)){if(O.isOverflowIndicator)d(u.current=!0);else if(a.current){if(v(O)===R.length-1){let _=R[R.length-1],W=y(_,"start").getBoundingClientRect();a.current.style[N]=`${W.top}px`}else{let Y=y(O,"start").getBoundingClientRect();a.current.style[N]=`${Y.top}px`}d(u.current=!1)}c.current=O,l.current=E}}},[o,t,y]),M=(0,pe.useCallback)(()=>{L();let{current:C}=h,{current:E}=c,{current:S}=i,{current:T}=k;if(C&&T&&E){let{index:N}=C,R=S==="start",{index:O,currentIndex:K}=E;c.current=null,l.current=void 0,u.current?e(N,-1,{fromIndex:N,toIndex:-1}):N<O?e(N,R?K:K+1,{fromIndex:N,toIndex:R?K:K+1}):e(N,R?O:O+1,{fromIndex:N,toIndex:R?O:O+1}),x(void 0)}d(!1)},[L,e]),w=(0,pe.useCallback)(()=>{},[]);return{beginDrag:A,drag:I,drop:M,dropIndicator:b,handleScrollStart:$,handleScrollStop:D,releaseDrag:w,revealOverflowedItems:p}};var oe=require("react");var dt=require("react");var bs=({containerRef:e,onScrollingStopped:t,orientation:o="vertical"})=>{let n=(0,dt.useRef)(null),r=(0,dt.useRef)(!1),s=(0,dt.useRef)(0),l=(0,dt.useRef)("fwd"),a=(0,dt.useCallback)((i=!1)=>{console.log("[useAutoScroll] stopScrolling"),n.current!==null&&(clearTimeout(n.current),n.current=null),r.current=!1,t==null||t(l.current,s.current,i)},[t]),c=(0,dt.useCallback)((i,m,f=30)=>{let{current:g}=e;if(g){let{SCROLL_POS:u,SCROLL_SIZE:p,CLIENT_SIZE:d}=Le(o),{[u]:b,[p]:x,[d]:L}=g,y=i==="fwd"?x-L-b:b,h=Math.min(y,f);i==="fwd"?(l.current="fwd",g[u]=s.current=b+h):(l.current="bwd",g[u]=s.current=b-h),h===y?a(!0):(r.current=!0,n.current=window.setTimeout(()=>{c(i,m,f)},100))}},[e,o,a]);return{isScrolling:r,startScrolling:c,stopScrolling:a}};var hs=require("react/jsx-runtime"),Ia={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},Is={start:0,end:1e3,contraStart:0,contraEnd:1e3},ha=()=>Ia,Sa=3,xa=(e,t)=>e.closest(t),ya=e=>e.dataset.index==="overflow"&&e.parentElement!==null&&e.parentElement.classList.contains("overflowed"),Ta=(e,t)=>{let o=`:is(${t}${Io},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(e.querySelectorAll(o)).pop();return[r,ya(r)]},So=({allowDragDrop:e,containerRef:t,draggableClassName:o,getDragPayload:n,id:r,itemQuery:s="*",onDragStart:l,onDrop:a,onDropSettle:c,orientation:i,...m})=>{let f=(0,oe.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[g,u]=(0,oe.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),p=(0,oe.useRef)(null),d=(0,oe.useRef)(null),b=(0,oe.useRef)(!1),x=(0,oe.useRef)({x:0,y:0}),L=(0,oe.useRef)({x:0,y:0}),y=(0,oe.useRef)(null),h=(0,oe.useRef)(-1),H=(0,oe.useRef)(-1),v=(0,oe.useRef)(),{isDragSource:P,isDropTarget:k,onDragOut:$,onEndOfDragOperation:D,register:A}=Yn(r),I=(0,oe.useRef)(),M=(0,oe.useRef)(),w=(0,oe.useCallback)(()=>{let{current:z}=I,{current:j}=M;z&&j&&(document.addEventListener("mousemove",z,!1),document.addEventListener("mouseup",j,!1))},[]),C=(0,oe.useCallback)(()=>{let{current:z}=I,{current:j}=M;z&&j&&(document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",j,!1))},[]),E=(0,oe.useCallback)((z,j)=>{let{current:Z}=t;if(Z){let[Q,le]=Ta(Z,s),{CONTRA:ge,CONTRA_END:ie,DIMENSION:V,END:G,START:q}=Le(i),ee=j[V],{[q]:be,[G]:Te}=Q.getBoundingClientRect();f.current.start=z[q],f.current.end=le?Math.max(be,z.right-ee):b.current?z[q]+z[V]-ee:Te-ee,f.current.contraStart=z[ge],f.current.contraEnd=z[ie]}},[t,s,i]),S=(0,oe.useCallback)(()=>{var Z;let{current:z}=H,j=(Z=t.current)==null?void 0:Z.querySelector(`${s}[data-index="${z}"]`);j&&j.classList.remove("vuuDropTarget-settling"),H.current=-1,c==null||c(z),u(Q=>({...Q,draggable:void 0}))},[t,s,c]),T=(0,oe.useCallback)(z=>{if(t.current&&p.current){let{mouseOffset:j}=p.current,{POS:Z,SCROLL_POS:Q,SCROLL_SIZE:le,CLIENT_SIZE:ge}=Le(i),{[Q]:ie,[le]:V,[ge]:G}=t.current,q=V-G,ee=ie<q,be=f.current.end,Te=ie>0&&z-j[Z]<=f.current.start,B=ee&&z-j[Z]>=be;return Te?"bwd":B?"fwd":""}},[t,i]),N=e===!0||e==="natural-movement"?ms:e==="drop-indicator"?fs:ha,R=(0,oe.useCallback)((z,j,Z)=>{var Q;(Q=v.current)==null||Q.call(v,z,j,Z)},[]),{isScrolling:O,startScrolling:K,stopScrolling:_}=bs({containerRef:t,onScrollingStopped:R,orientation:i}),Y=(0,oe.useCallback)((z,j,Z)=>{var Q;h.current=j,Z.isExternal?a==null||a(z,j,{...Z,payload:(Q=p.current)==null?void 0:Q.payload}):a==null||a(z,j,Z),H.current=j,r&&(D==null||D(r)),p.current=null},[r,a,D]),{beginDrag:W,drag:F,drop:U,handleScrollStart:te,handleScrollStop:J,releaseDrag:fe,...re}=N({...m,containerRef:t,isDragSource:P,isDropTarget:k,itemQuery:s,onDrop:Y,orientation:i});v.current=J;let de=(0,oe.useCallback)((z,j)=>{let{CONTRA_POS:Z}=Le(i),Q=x.current[Z],le=P?Math.abs(Q-j):0;if(p.current&&le-z>5)return $!=null&&$(r,p.current)&&(C(),fe==null||fe(),p.current=null),f.current=Is,!0},[r,P,$,i,fe,C]),ae=(0,oe.useCallback)(z=>{let{CLIENT_POS:j,CONTRA_CLIENT_POS:Z,POS:Q}=Le(i),{clientX:le,clientY:ge}=z,{[j]:ie,[Z]:V}=z,G=x.current[Q],q=Math.abs(G-ie),{current:ee}=p;if(de(q,V)){console.log("drag handed over to provider");return}if(x.current.x=le,x.current.y=ge,ee){let{draggableElement:be,mouseOffset:Te}=ee;if(f.current===Is&&be){let B=x.current.x-Te.x,X=x.current.y-Te.y;be.style.top=`${X}px`,be.style.left=`${B}px`}else if(q>0&&be){let B=G<ie?"fwd":"bwd",X=T(ie),he=x.current[Q]-Te[Q];if(X&&b.current&&!O.current?(te(),K(X,1)):!X&&O.current&&_(),!O.current){let Oe=Math.round(Math.max(f.current.start,Math.min(f.current.end,he))),vo=i==="horizontal"?"left":"top";be.style[vo]=`${Oe}px`,F(Oe,B)}}}},[F,T,te,r,P,O,$,i,K,_]),me=(0,oe.useCallback)(()=>{C(),p.current&&(y.current=p.current.draggableElement),U(),u(z=>({...z,draggedItemIndex:-1,isDragging:!1}))},[U,C]);I.current=ae,M.current=me;let Me=(0,oe.useCallback)(z=>{p.current=z;let{draggableElement:j,mouseOffset:Z,initialDragElement:Q}=z,{current:le}=t;if(console.log({container:le,draggableElement:j,initialDragElement:Q}),le&&j){let ge=le.getBoundingClientRect(),ie=j.getBoundingClientRect();return E(ge,ie),x.current.x=ie.left+Z.x,x.current.y=ie.top+Z.y,W(j),w(),!0}else return!1},[w,W,t,E]),ue=(0,oe.useCallback)(z=>{let{target:j}=z,Z=xa(j,s),{current:Q}=t;if(Q&&Z){let{SCROLL_SIZE:le,CLIENT_SIZE:ge}=Le(i),{[le]:ie,[ge]:V}=Q;b.current=ie>V;let G=Q.getBoundingClientRect(),q=Z.getBoundingClientRect(),ee=p.current=new Vo(z,Z);E(G,q),W(Z);let{dataset:{index:be="-1"}}=Z;u({isDragging:!0,draggable:(0,hs.jsx)(Wo,{element:Qn(Z),onTransitionEnd:S,ref:ee.setDraggable,style:or(q,G),wrapperClassName:o}),draggedItemIndex:parseInt(be)}),l==null||l(ee),w()}},[w,W,t,o,s,l,i,E,S]),ve=(0,oe.useCallback)(z=>{let{CLIENT_POS:j,POS:Z}=Le(i),{[j]:Q}=z;Math.abs(Q-L.current[Z])>Sa&&t.current&&(d.current&&(window.clearTimeout(d.current),d.current=null),document.removeEventListener("mousemove",ve),document.removeEventListener("mouseup",ke,!1),ue(z))},[t,W,i]),ke=(0,oe.useCallback)(()=>{d.current&&(window.clearTimeout(d.current),d.current=null),document.removeEventListener("mousemove",ve,!1),document.removeEventListener("mouseup",ke,!1)},[ve]),ce=(0,oe.useCallback)(z=>{let{current:j}=t;if(z.stopPropagation(),j&&!z.defaultPrevented){let{clientX:Z,clientY:Q}=z;x.current.x=L.current.x=Z,x.current.y=L.current.y=Q,document.addEventListener("mousemove",ve,!1),document.addEventListener("mouseup",ke,!1),z.persist(),d.current=window.setTimeout(()=>{document.removeEventListener("mousemove",ve,!1),document.removeEventListener("mouseup",ke,!1),ue(z.nativeEvent)},500)}},[t,ue,ve,ke]),{current:De}=y;return(0,oe.useLayoutEffect)(()=>{if(De&&t.current){let z=h.current,j=t.current.querySelector(`${s}[data-index="${z}"]`);j?(j.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:Z,left:Q}=j.getBoundingClientRect(),{top:le,left:ge}=De.getBoundingClientRect();ge!==Q||le!==Z?(De.classList.add("vuuDraggable-settling"),De.style.top=`${Z}px`,De.style.left=`${Q}px`):S()})):console.log(`dont have the dropped item (at ${z})`),y.current=null}},[t,s,De,S]),(0,oe.useEffect)(()=>{r&&(P||k)&&A(r,Me)},[r,P,k,A,Me]),{...re,...g,isScrolling:O,onMouseDown:e?ce:void 0}};var st=({allowDragDrop:e=!1,collapsibleHeaders:t,collectionHook:o,containerRef:n,contentRef:r,defaultHighlightedIndex:s,defaultSelected:l,disabled:a,disableAriaActiveDescendant:c,disableHighlightOnFocus:i,disableTypeToSelect:m,highlightedIndex:f,id:g,label:u="",listHandlers:p,onDragStart:d,onDrop:b,onHighlight:x,onKeyboardNavigation:L,onKeyDown:y,onMoveListItem:h,onSelect:H,onSelectionChange:v,restoreLastFocus:P,scrollContainerRef:k,selected:$,selectionStrategy:D,selectionKeys:A,stickyHeaders:I,tabToSelect:M,viewportRange:w})=>{let C=(0,Ee.useRef)(null),E=(0,Ee.useRef)($||l),S=(V,G)=>{var q,ee;(ee=(q=J.listHandlers).onKeyboardNavigation)==null||ee.call(q,V,G),L==null||L(V,G)},T=(0,Ee.useCallback)((V,G)=>{H&&G!==null&&H(V,o.itemById(G))},[o,H]),N=(0,Ee.useMemo)(()=>{var V,G;return k||{current:(G=(V=n.current)==null?void 0:V.querySelector(".vuuList-scrollContainer"))!=null?G:null}},[]),R=(0,Ee.useCallback)((V,G)=>{if(v){if(Array.isArray(G)){let q=G.map(ee=>o.itemById(ee));v(V,q)}else if(G){let q=o.itemById(G);v(V,q)}}},[o,v]),{highlightedIndex:O,containerProps:{onKeyDown:K,onMouseMove:_,...Y},setHighlightedIndex:W,...F}=Un({containerRef:N,defaultHighlightedIndex:s,disableHighlightOnFocus:i,highlightedIndex:f,indexPositions:o.data,itemCount:o.data.length,label:u,onHighlight:x,onKeyboardNavigation:S,restoreLastFocus:P,selected:E.current,viewportItemCount:10}),U=zn({collapsibleHeaders:t,highlightedIdx:O,collectionHook:o}),te=(0,Ee.useCallback)(V=>{W(-1),d==null||d(V)},[d,W]),J=Gn({containerRef:n,defaultSelected:l,highlightedIdx:O,itemQuery:".vuuListItem",label:`${u}:useList`,onSelect:T,onSelectionChange:R,selected:$,selectionStrategy:D,selectionKeys:A,tabToSelect:M}),fe=(0,Ee.useCallback)((V,G,q)=>{let ee=o.data.indexOf(V);return ee===G?q:ee<Math.min(G,q)||ee>Math.max(G,q)?ee:G<ee?ee-1:ee+1},[o.data]),re=(0,Ee.useCallback)((V,G,q)=>Array.isArray(V)?V.map(ee=>fe(ee,G,q)):fe(V,G,q),[fe]),de=(0,Ee.useCallback)((V,G,q)=>{tt(J.selected)&&(C.current=re(J.selected,V,G)),q.isExternal?b==null||b(V,G,q):h==null||h(V,G),W(-1)},[J.selected,W,re,b,h]),ae=(0,Ee.useCallback)(V=>{W(V)},[W]),{setSelected:me}=J;(0,Ee.useEffect)(()=>{let{current:V}=C;if(tt(V)){let G=Array.isArray(V)?V.map(q=>o.data[q]):o.data[V];C.current=null,me(G)}},[o.data,me]),(0,Ss.useLayoutEffectSkipFirst)(()=>{tt(E.current)&&me(Array.isArray(E.current)?[]:null)},[me,o.data]);let{onMouseDown:Me,isDragging:ue,isScrolling:ve,...ke}=So({allowDragDrop:e,draggableClassName:"list-item",orientation:"vertical",containerRef:n,id:g,itemQuery:".vuuListItem",onDragStart:te,onDrop:de,onDropSettle:ae,viewportRange:w}),{onKeyDown:ce}=Wn({disableTypeToSelect:m,highlightedIdx:O,highlightItemAtIndex:W,typeToNavigate:!0,items:o.data}),De=(0,Ee.useCallback)(V=>{var G,q,ee;V.defaultPrevented||ce==null||ce(V),K(V),V.defaultPrevented||(q=(G=J.listHandlers).onKeyDown)==null||q.call(G,V),V.defaultPrevented||(ee=U==null?void 0:U.onKeyDown)==null||ee.call(U,V),V.defaultPrevented||y==null||y(V)},[U,K,y,J.listHandlers,ce]),{isScrolling:z,scrollIntoView:j}=jn({containerRef:N,contentRef:r,highlightedIdx:O,indexPositions:o.data,stickyHeaders:I}),Z=z.current||ve.current,Q=(0,Ee.useCallback)(V=>{if(!Z&&!a&&!ue){_();let G=Vn(V.target);if(G!==-1&&G!==O){let q=o.data[G];!q||q.disabled?W(-1):W(G)}}},[ue,Z,a,W,_,O,o.data]),le=()=>{var V;return O===void 0||O===-1||c||(V=o.data[O])==null?void 0:V.id};E.current=J.selected;let ge={"aria-activedescendant":le(),onBlur:Y.onBlur,onFocus:Y.onFocus,onKeyDown:De,onMouseDown:Me,onMouseDownCapture:Y.onMouseDownCapture,onMouseLeave:Y.onMouseLeave},ie=p||{onClick:J.listHandlers.onClick,onMouseMove:Q};return{focusVisible:F.focusVisible,controlledHighlighting:F.controlledHighlighting,highlightedIndex:O,keyboardNavigation:F.keyboardNavigation,listHandlers:ie,listItemHeaderHandlers:U,listControlProps:ge,scrollIntoView:j,selected:J.selected,setHighlightedIndex:W,setIgnoreFocus:F.setIgnoreFocus,setSelected:J.setSelected,...ke}};var Qe=require("react");var Ea=(e,t,o=0)=>e===0?0:o===0?e*t:e-1*(t+o)+t,jo=({displayedItemCount:e,getItemHeight:t,height:o,itemCount:n,itemGapSize:r,itemHeight:s=36,size:l})=>{let[a,c]=(0,Qe.useState)(s),[,i]=(0,Qe.useState)({}),m=(0,Qe.useRef)(null),[f,g]=(0,Qe.useMemo)(()=>{let d=0,b=a!=null?a:s,x=Ea(n,b,r);if(console.log(`contentHeight ${x}`),o!==void 0)return[x,void 0];let L=Math.min(e,n)||e;return typeof t=="function"?d+=Array(L).fill(0).reduce((h,H,v)=>h+t(v)+r,0)-r:d+=L*Number(b)+(L-1)*r,[x,d]},[e,t,o,n,r,s,a]),u=(0,Qe.useCallback)(({height:d})=>{typeof d=="number"&&c(d)},[]),p=(0,Qe.useCallback)(d=>{m.current=d,i({})},[]);return Ye(m,xn,u,!0),{computedListHeight:g,contentHeight:f,listClientHeight:l==null?void 0:l.height,listItemHeight:a,rowHeightProxyRef:p}};var ys=require("@salt-ds/core"),et=require("react"),xs=(e,t,o,n)=>{let r=Math.ceil(t/n),s=Math.floor(e/n),l=Math.ceil(s+r-1);return{atStart:s===0,atEnd:l===o-1,from:s,to:l}},qo=({containerSize:e,itemCount:t,itemGapSize:o=0,itemSize:n,onViewportScroll:r})=>{let s=(0,et.useRef)(0),l=(0,et.useRef)(0),a=(0,et.useRef)(0),c=(0,et.useMemo)(()=>xs(a.current,e,t,n+o),[e,t,n,o]),[i,m]=(0,et.useState)(c);return(0,ys.useIsomorphicLayoutEffect)(()=>{m(c)},[c]),{onVerticalScroll:(0,et.useCallback)(g=>{let u=g.target.scrollTop;if(u!==a.current){a.current=u;let p=n+o,d=xs(u,e,t,p);(d.from!==s.current||d.to!==l.current)&&(s.current=d.from,l.current=d.to,r==null||r(d.from,d.to),m(d))}},[n,o,e,t,r]),viewportRange:i}};var ze=require("react/jsx-runtime"),Es=require("react"),va="No data to display",yt="vuuList",xo=(0,Ne.forwardRef)(function({ListItem:t=bo,ListPlaceholder:o,allowDragDrop:n,children:r,className:s,collapsibleHeaders:l=!1,defaultHighlightedIndex:a,defaultSelected:c,disabled:i=!1,disableFocus:m=!1,disableTypeToSelect:f,displayedItemCount:g=10,emptyMessage:u,focusVisible:p,getItemHeight:d,getItemId:b,height:x,highlightedIndex:L,id:y,itemGapSize:h=0,itemHeight:H,itemTextHighlightPattern:v,itemToString:P=Fe,listHandlers:k,maxHeight:$,maxWidth:D,minHeight:A,minWidth:I,onDragStart:M,onDrop:w,onMoveListItem:C,onSelect:E,onSelectionChange:S,onHighlight:T,restoreLastFocus:N,selected:R,selectionStrategy:O,checkable:K=O==="multiple",scrollingApiRef:_,selectionKeys:Y,showEmptyMessage:W=!1,source:F,style:U,stickyHeaders:te,tabToSelect:J,...fe},re){var Er,vr;let de=(0,Xo.useId)(y),ae=(0,Ne.useRef)(null),me=(0,Ne.useRef)(null),Me=(0,Ne.useRef)(null),[ue,ve]=(0,Ne.useState)(),ke=(0,Ne.useCallback)(We=>{ve(We)},[]),ce=ot({id:de,label:"List",source:F,children:r,options:{collapsibleHeaders:l,getItemId:b,itemToString:P}}),{listClientHeight:De,computedListHeight:z,listItemHeight:j,rowHeightProxyRef:Z}=jo({displayedItemCount:g,getItemHeight:d,height:x,itemCount:ce.data.length,itemGapSize:h,itemHeight:H,rootRef:ae,size:ue}),{onVerticalScroll:Q,viewportRange:le}=qo({containerSize:(vr=(Er=De!=null?De:z)!=null?Er:ue==null?void 0:ue.height)!=null?vr:0,itemCount:ce.data.length,itemGapSize:h,itemSize:j}),{draggable:ge,draggedItemIndex:ie,dropIndicator:V,focusVisible:G,highlightedIndex:q,listControlProps:ee,listHandlers:be,listItemHeaderHandlers:Te,scrollIntoView:B,selected:X}=st({allowDragDrop:n,collapsibleHeaders:l,collectionHook:ce,containerRef:ae,contentRef:Me,defaultHighlightedIndex:a,defaultSelected:ce.itemToCollectionItemId(c),disabled:i,disableTypeToSelect:f,highlightedIndex:L,id:de,label:"List",listHandlers:k,onDragStart:M,onDrop:w,onMoveListItem:C,onSelect:E,onSelectionChange:S,onHighlight:T,restoreLastFocus:N,scrollContainerRef:me,selected:ce.itemToCollectionItemId(R),selectionStrategy:O,selectionKeys:Y,stickyHeaders:te,tabToSelect:J,viewportRange:le});mo({collectionHook:ce,forwardedRef:_,scrollableRef:ae,scrollIntoView:B});let he=p!=null?p:G,Oe=function(Ie,Ae,Ke,He){let gt=(0,Es.createElement)(t,{...Te,className:(0,Zo.default)(`${yt}Header`,{focusVisible:l&&he===Ie.value}),"aria-expanded":He,"data-idx":l?Ie.value:void 0,"data-index":l?Ie.value:void 0,"data-highlighted":Ie.value===q||void 0,"data-sticky":te,"data-selectable":!1,id:Ae,key:`header-${Ie.value}`,label:Ke});return Ie.value+=1,gt},vo=d===void 0?()=>H:d;function ti(We,Ie,Ae){var wo,Dr;let{disabled:Ke,value:He,id:gt,label:Do}=Ie,Ho=(0,Ne.isValidElement)(He),Yt={className:(0,Zo.default)((wo=He==null?void 0:He.props)==null?void 0:wo.className,{vuuHighlighted:Ae.value===q,vuuFocusVisible:he===Ae.value,["vuuDraggable-dragAway"]:ie===Ae.value}),disabled:Ke||i,id:gt,item:Ho?void 0:(Dr=Ie==null?void 0:Ie.value)!=null?Dr:void 0,itemHeight:vo(Ae.value),itemTextHighlightPattern:v,key:gt,"data-index":Ae.value,label:Do,role:"option",selected:no(X,Ie),showCheckbox:K};We.push(Ho?(0,Ne.cloneElement)(He,Yt):(0,ze.jsx)(t,{...Yt})),Ae.value+=1}let oi=function(Ie,Ae,Ke){let{count:He=0,id:gt,expanded:Do,label:Ho=""}=Ae[Ke.value],Yt=Oe(Ke,gt,Ho,Do),wo=Do!==!1?[Yt].concat(Tr(Ae,Ke,Ke.value+He)||[]):Yt;Ie.push((0,ze.jsx)("div",{role:"group",children:wo},gt))},Tr=(We,Ie={value:0},Ae=We.length)=>{let Ke=[];for(;Ie.value<Ae;){let He=We[Ie.value];He.header?Ke.push(Oe(Ie,He.id,He.label,He.expanded===!1)):He.childNodes?oi(Ke,We,Ie):ti(Ke,He,Ie)}return Ke};function ni(){return u||W?(0,ze.jsx)("span",{className:`${yt}-empty-message`,children:u!=null?u:va}):null}let ri=()=>{if(ce.data.length){let We=ce.data;return Tr(We)}else ni()},si="auto",li={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":h?`${h}px`:void 0,"--computed-list-height":z===void 0?void 0:`${z}px`,minWidth:I,minHeight:A,maxWidth:D,maxHeight:$};return(0,ze.jsxs)(Xo.MeasuredContainer,{"aria-multiselectable":O==="multiple"||O==="extended"||O==="extended-multi-range"||void 0,...fe,...be,...ee,className:(0,Zo.default)(yt,s,{[`${yt}-collapsible`]:l,[`${yt}-contentSized`]:z!==void 0,vuuFocusVisible:q===zo}),height:z!=null?z:x,id:`${de}`,onResize:ke,ref:(0,Ts.useForkRef)(ae,re),role:"listbox",onScroll:Q,style:{...U,...li},tabIndex:i||m?void 0:0,children:[(0,ze.jsx)(go,{ref:Z,height:H}),ce.data.length===0&&o!==void 0?(0,ze.jsx)(ze.Fragment,{children:(0,ze.jsx)(o,{})}):(0,ze.jsx)("div",{className:`${yt}-viewport`,ref:me,children:(0,ze.jsxs)("div",{className:`${yt}-scrollingContentContainer`,ref:Me,style:{height:si},children:[ri(),V,ge]})})]})});var At=require("@salt-ds/core");function vs(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(o=vs(e[t]))&&(n&&(n+=" "),n+=o);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function lr(){for(var e,t,o=0,n="";o<arguments.length;)(e=arguments[o++])&&(t=vs(e))&&(n&&(n+=" "),n+=t);return n}var Et=require("react");var Hs=require("react");var Yo=class{constructor(t=0,o=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(t,o)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(t,o){this.keys.forEach((r,s)=>{(s<t||s>=o)&&(this.free.push(r),this.keys.delete(s))});let n=o-t;this.keys.size+this.free.length>n&&(this.free.length=n-this.keys.size);for(let r=t;r<o;r++)if(!this.keys.has(r)){let s=this.next();this.keys.set(r,s)}}keyFor(t){return this.keys.get(t)}};var Da=([e],[t])=>e-t,Ds=5,ws=({data:e,listItemGapSize:t=0,listItemHeight:o,viewportRange:n})=>{let r=(0,Hs.useMemo)(()=>new Yo(0,1),[]),s=o+t,l=Math.max(0,n.from-Ds),a=Math.min(e.length,n.to+Ds);return r.reset(l,a),e.slice(l,a).map((i,m)=>[r.keyFor(m+l),(m+l)*s,m+l+1,i]).sort(Da)};var Tt=require("react/jsx-runtime"),Ha="No data to display",Jo=(0,At.makePrefixer)("saltList"),wa=(0,Et.memo)(bo),Ma=(0,Et.forwardRef)(function({borderless:t,children:o,className:n,collapsibleHeaders:r=!1,defaultHighlightedIndex:s,defaultSelected:l,disabled:a=!1,disableFocus:c=!1,disableTypeToSelect:i,displayedItemCount:m=10,emptyMessage:f,getItemHeight:g,getItemId:u,height:p,highlightedIndex:d,id:b,itemGapSize:x=0,itemHeight:L,itemTextHighlightPattern:y,itemToString:h,maxHeight:H,maxWidth:v,minHeight:P,minWidth:k,onDragStart:$,onDrop:D,onSelect:A,onSelectionChange:I,onViewportScroll:M,onHighlight:w,restoreLastFocus:C,selected:E,selectionStrategy:S,scrollingApiRef:T,selectionKeys:N,showEmptyMessage:R=!1,source:O,style:K,stickyHeaders:_,tabToSelect:Y,width:W,...F},U){let te=(0,At.useIdMemo)(b),J=(0,Et.useRef)(null),fe=(0,Et.useRef)(null),re=ot({id:te,label:"List",source:O,children:o,options:{collapsibleHeaders:r,getItemId:u,itemToString:h}}),{contentHeight:de,listItemHeight:ae,listHeight:me}=jo({borderless:t,displayedItemCount:m,height:p,itemCount:re.data.length,itemGapSize:x,itemHeight:L,rootRef:J,rowHeightRef:fe}),{focusVisible:Me,highlightedIndex:ue,listControlProps:ve,listHandlers:ke,scrollIntoView:ce,selected:De}=st({collapsibleHeaders:r,collectionHook:re,containerRef:J,defaultHighlightedIndex:s,defaultSelected:re.itemToCollectionItem(l),disabled:a,disableTypeToSelect:i,highlightedIndex:d,label:te,onSelect:A,onSelectionChange:I,onHighlight:w,restoreLastFocus:C,selected:re.itemToCollectionItem(E),selectionStrategy:S,selectionKeys:N,stickyHeaders:_,tabToSelect:Y}),{onVerticalScroll:z,viewportRange:j}=qo({containerSize:typeof me=="number"?me:0,itemCount:re.data.length,itemGapSize:x,itemSize:ae});console.log({viewPortRange:j});let Z=ws({data:re.data,listItemGapSize:x,listItemHeight:ae,viewportRange:j});mo({collectionHook:re,forwardedRef:T,scrollableRef:J,scrollIntoView:ce});function Q(G,q,ee){let[be,Te,B,X]=q,he=B-1;G.push((0,Tt.jsx)(wa,{"aria-setsize":re.data.length,"aria-posinset":B,className:lr(n,{saltHighlighted:he===ue,saltFocusVisible:Me===he}),"data-idx":he,item:X,label:X.label,"data-offset":Te,role:"option",selected:no(De,X),id:X.id,translate3d:Te},be)),ee.value+=1}function le(G,q={value:0},ee=G.length){let be=[];for(;q.value<ee;){let Te=G[q.value];Q(be,Te,q)}return be}function ge(){return f||R?(0,Tt.jsx)("span",{className:Jo("empty-message"),children:f!=null?f:Ha}):null}let ie=()=>{if(Z.length)return le(Z);ge()},V={"--list-item-gap":x?`${x}px`:void 0,minWidth:k,minHeight:P,width:W!=null?W:"100%",height:p!=null?p:"100%",maxWidth:v!=null?v:W,maxHeight:H!=null?H:me};return(0,Tt.jsx)("div",{...F,...ke,...ve,className:lr(Jo(),n,Jo("virtualized")),id:`${te}`,ref:(0,At.useForkRef)(J,U),role:"listbox",onScroll:z,style:{...K,...V},tabIndex:a||c?void 0:0,children:(0,Tt.jsxs)("div",{className:Jo("scrollingContentContainer"),style:{height:de},children:[(0,Tt.jsx)(go,{ref:fe}),ie()]})})});var Cs=xe(require("classnames"));var Ls=require("react/jsx-runtime"),Ms="vuuRadioIcon",ir=({checked:e=!1,...t})=>(0,Ls.jsx)("span",{...t,className:(0,Cs.default)(Ms,{[`${Ms}-checked`]:e})});var Rs=require("@salt-ds/core"),Kt=require("react");var Ns=({collectionHook:e,defaultHighlightedIndex:t,defaultIsOpen:o,defaultSelected:n,highlightedIndex:r,isOpen:s,itemToString:l=Fe,listRef:a,onHighlight:c,onOpenChange:i,onSelectionChange:m,onSelect:f,selected:g,selectionStrategy:u})=>{let p=u==="multiple"||u==="extended",[d,b]=(0,Rs.useControlled)({controlled:s,default:o!=null?o:!1,name:"useDropdownList"}),x=(0,Kt.useCallback)((v,P)=>{p||(b(!1),i==null||i(!1)),m==null||m(v,P)},[p,i,m,b]),L=(0,Kt.useCallback)((v,P)=>{p||(b(!1),i==null||i(!1)),f==null||f(v,P)},[p,i,f,b]),y=st({collectionHook:e,defaultHighlightedIndex:(t!=null?t:r===void 0)?0:void 0,defaultSelected:n,label:"DropDown",onSelectionChange:x,onSelect:L,containerRef:a,highlightedIndex:r,onHighlight:c,selected:g,selectionStrategy:u,tabToSelect:!p}),h=(0,Kt.useCallback)(v=>{b(v),i==null||i(v)},[i,b]),H=(0,Kt.useMemo)(()=>{if(p&&Array.isArray(y.selected)){let v=y.selected.map(P=>e.itemById(P));if(v.length===0)return;if(v.length===1){let[P]=v;return P===null?void 0:l(P)}else return`${v.length} items selected`}else{let v=y.selected;return v==null?void 0:l(e.itemById(v))}},[e,p,l,y.selected]);return{isOpen:d,onOpenChange:h,triggerLabel:H,...y}};var Ft=require("react/jsx-runtime"),Ca=(0,lt.forwardRef)(function({"aria-label":t,children:o,defaultIsOpen:n,defaultSelected:r,id:s,isOpen:l,itemToString:a=Fe,onOpenChange:c,onSelectionChange:i,onSelect:m,selected:f,selectionStrategy:g,source:u,triggerComponent:p,ListItem:d,ListProps:b,width:x=180,...L},y){let h=(0,ks.useId)(s),H=(0,lt.useRef)(null),v=(0,lt.useRef)(null),P=(0,Ps.useForkRef)(H,y),k=ot({id:h,source:u,children:o,options:{itemToString:a}}),{highlightedIndex:$,triggerLabel:D,listHandlers:A,listControlProps:I,selected:M,...w}=Ns({collectionHook:k,defaultHighlightedIndex:b==null?void 0:b.defaultHighlightedIndex,defaultIsOpen:n,defaultSelected:k.itemToCollectionItemId(r),highlightedIndex:b==null?void 0:b.highlightedIndex,isOpen:l,itemToString:a,label:"Dropdown",listRef:v,onHighlight:b==null?void 0:b.onHighlight,onOpenChange:c,onSelectionChange:i,onSelect:m,selected:k.itemToCollectionItemId(f),selectionStrategy:g}),C=(0,lt.useCallback)(S=>{if(Array.isArray(S))return S.map(T=>k.itemById(T));if(S)return k.itemById(S)},[k]),E=()=>{let S={"aria-activedescendant":w.isOpen?I==null?void 0:I["aria-activedescendant"]:void 0,"aria-label":t};if(p){let T=p.props;return(0,lt.cloneElement)(p,oo(T,{...w.isOpen?I:{},...S}))}else return(0,Ft.jsx)(On,{label:D,...w.isOpen?I:{},...S})};return(0,Ft.jsx)(Jt,{collectionHook:k,children:(0,Ft.jsxs)(lo,{...L,id:h,isOpen:w.isOpen,onOpenChange:w.onOpenChange,placement:(b==null?void 0:b.width)===void 0?"below-full-width":"below",ref:P,width:x,children:[E(),(0,Ft.jsx)(xo,{ListItem:d,itemToString:a,...b,highlightedIndex:$,listHandlers:A,onSelectionChange:i,onSelect:m,ref:v,selected:C(M),selectionStrategy:g})]})})});var ar=require("@salt-ds/core"),Os=require("@vuu-ui/vuu-layout"),se=require("react");var La=["Enter"],As=({allowFreeText:e,ariaLabel:t,collectionHook:o,defaultIsOpen:n,defaultValue:r,onBlur:s,onFocus:l,onChange:a,onSelect:c,id:i,initialHighlightedIndex:m=-1,isOpen:f,itemToString:g=Fe,listRef:u,onOpenChange:p,onSelectionChange:d,selectionStrategy:b,stringToItem:x,value:L,InputProps:y={onBlur:s,onFocus:l,onChange:a,onSelect:c}})=>{var Te;let h=b==="multiple"||b==="extended",H=(Te=o.stringToCollectionItem(L!=null?L:r))!=null?Te:null,{data:v,itemToCollectionItem:P,setFilterPattern:k,stringToCollectionItem:$}=o,D=(0,se.useRef)(null),A=(0,se.useRef)(null),I=(0,se.useRef)(!0),M=(0,se.useRef)(H),[w,C]=(0,ar.useControlled)({controlled:f,default:n!=null?n:!1,name:"useDropdownList"}),[E,S]=(0,ar.useControlled)({controlled:void 0,default:r!=null?r:"",name:"ComboBox",state:"value"}),T=(0,se.useCallback)(B=>Array.isArray(B)?B.map(X=>X.value):B&&B.value,[]),[N,R]=(0,se.useState)(!0),[O,K]=(0,se.useState)(!1),_=(0,se.useCallback)((B=M.current)=>{var X,he;if(Array.isArray(B))console.log("TODO multi selection");else if(B==null)(X=D.current)==null||X.call(D,-1);else{let Oe=v.indexOf(B);(he=D.current)==null||he.call(D,Oe)}},[v]),Y=(0,se.useCallback)(B=>{S(B),k(B===""?void 0:B)},[k,S]),W=(0,se.useCallback)((B=M.current)=>{var he;let X="";Array.isArray(B)?console.log("TODO multi selection"):B!=null&&B.value!==null&&(X=g(B.value)),Y(X),X===""?(he=D.current)==null||he.call(D,-1):_(B)},[_,g,Y]),F=(0,se.useCallback)((B,X)=>{h||C(!1),M.current=X,W(X),d==null||d(B,T(X!=null?X:null))},[T,h,d,W,C]),U=(0,se.useCallback)((B,X)=>{if(!h){let he=P(X);F(B,he)}},[F,h,P]),te=(0,se.useCallback)(B=>{if(!e&&B.key==="Enter"&&O){let[X]=v;F(B,X)}},[e,F,v,O]),J=(0,se.useCallback)(B=>{B.key==="Escape"?e?Y(""):W():B.key==="Tab"&&(e||W()),te(B)},[e,te,W,Y]),fe=(0,se.useCallback)(()=>{R(!1)},[]),{focusVisible:re,setHighlightedIndex:de,highlightedIndex:ae,listControlProps:me,listHandlers:Me,selected:ue,setSelected:ve}=st({collectionHook:o,containerRef:u,defaultHighlightedIndex:m,disableAriaActiveDescendant:N,disableHighlightOnFocus:!0,disableTypeToSelect:!0,label:"useComboBox",onKeyboardNavigation:fe,onKeyDown:J,onSelectionChange:U,selected:M.current,selectionKeys:La,selectionStrategy:b,tabToSelect:!h});D.current=de,A.current=ve;let ke=(0,se.useCallback)(B=>{C(B),B||K(!1),p==null||p(B)},[p,C]),{onClick:ce}=Me,De=(0,se.useCallback)(B=>{var X;(X=document.getElementById(`${i}-input`))==null||X.focus(),ce==null||ce(B)},[i,ce]),z=(0,se.useCallback)(B=>{let X=B.target.value;S(X),X&&X.trim().length?k(X):(k(void 0),M.current=null,d==null||d(B,null)),C(!0),K(X.length>0&&!e)},[e,d,k,C,S]),{onFocus:j=l}=y,{onFocus:Z}=me,Q=(0,se.useCallback)(B=>{R(!1),Z==null||Z(B),j==null||j(B)},[j,Z]),le=(0,se.useCallback)(B=>{let X=B.relatedTarget;return(X==null?void 0:X.id)===`${i}-list`},[i]),ge=(0,se.useCallback)(B=>{var he;let X=E.trim();if(X){let Oe=$(X);Oe?Array.isArray(Oe)||Oe!==ue&&((he=A.current)==null||he.call(A,Oe),d==null||d(B,Oe.value)):x&&x(X)&&console.log("we have a new item")}},[d,ue,x,$,E]),{onBlur:ie=s}=y,{onBlur:V}=me,G=(0,se.useCallback)(B=>{le(B)||(V==null||V(B),ie==null||ie(B),e?ge(B):W(),R(!0),I.current=!0,C(!1))},[le,V,ie,e,C,ge,W]),{onSelect:q}=y,ee=(0,se.useCallback)(B=>{I.current?I.current=!1:R(!0),q==null||q(B)},[q]);(0,Os.useLayoutEffectSkipFirst)(()=>{tt(ue)?_():de(m),v.length===0&&C(!1)},[_,v.length,m,ue,de,C]);let be={...y.inputProps,"aria-label":t};return{focusVisible:re,highlightedIndex:ae,isOpen:w,onOpenChange:ke,inputProps:{...y,id:`${i}-input`,inputProps:be,onChange:z,onSelect:ee,role:"combobox",value:E},listControlProps:{...me,onBlur:G,onFocus:Q},listHandlers:{...Me,onClick:De},selected:ue}};var Ks=xe(require("classnames"));var $s=require("react/jsx-runtime"),Ra="vuuChevronIcon",Fs=e=>{let{direction:t,...o}=e;return(0,$s.jsx)("span",{...o,className:(0,Ks.default)(Ra,t)})};var vt=require("react/jsx-runtime"),Na=(0,$t.forwardRef)(function({InputProps:t,ListProps:o,ListItem:n,"aria-label":r,allowFreeText:s,children:l,defaultIsOpen:a,defaultValue:c,disabled:i,onBlur:m,onFocus:f,onChange:g,onSelect:u,getFilterRegex:p,id:d,initialHighlightedIndex:b=-1,isOpen:x,itemToString:L,onOpenChange:y,onSelectionChange:h,selectionStrategy:H,source:v,stringToItem:P,value:k,width:$=180,...D},A){let I=(0,Bs.useId)(d),M=(0,$t.useRef)(null),w=ot({id:I,source:v,children:l,options:{filterPattern:k!=null?k:c,getFilterRegex:p,itemToString:L}}),{focusVisible:C,highlightedIndex:E,inputProps:{endAdornment:S,...T},isOpen:N,listHandlers:R,listControlProps:O,onOpenChange:K,selected:_}=As({InputProps:t,allowFreeText:s,ariaLabel:r,collectionHook:w,defaultIsOpen:a,defaultValue:c,disabled:i,initialHighlightedIndex:b,listRef:M,onBlur:m,onFocus:f,onChange:g,onSelect:u,id:I,isOpen:x,itemToString:L,label:"ComboBox",onOpenChange:y,onSelectionChange:h,selectionStrategy:H,stringToItem:P,value:k}),Y=(0,$t.useCallback)(F=>Array.isArray(F)?F.map(U=>U.value):F&&F.value,[]);return(0,vt.jsx)(Jt,{collectionHook:w,children:(0,vt.jsxs)(lo,{...D,fullWidth:!0,id:I,isOpen:N,onOpenChange:K,openOnFocus:!0,ref:A,width:$,children:[(0,vt.jsx)(zs.Input,{...T,disabled:i,...O,endAdornment:S===null?null:(0,vt.jsx)(Fs,{direction:N?"up":"down",onClick:()=>{K(!N)}})}),(0,vt.jsx)(xo,{...o,ListItem:n,focusVisible:C,highlightedIndex:E,itemTextHighlightPattern:String(T.value)||void 0,id:`${I}-list`,listHandlers:R,onSelectionChange:h,ref:M,selected:Y(_),selectionStrategy:H})]})})});var Vs=require("@vuu-ui/vuu-utils"),Pa=e=>t=>ka(e,t);function ka(e,t){console.log(`apply rules to ${t}`);let o;for(let n of e){let r=(0,Vs.getEditRuleValidator)(n.name);if(r){let s=r(n,t);switch(s){case!0:break;case!1:o===void 0&&(o=!1);break;default:o===void 0||o===!1?o=s:o+=`::${s}`}}else throw Error(`editable-utils applyRules, no validator registered for rule '${n.name}'`)}return console.log(o),o}var Ze=require("react"),cr=e=>{let t=new Event("vuu-commit");e.dispatchEvent(t)},Oa=({clientSideEditValidationCheck:e,initialValue:t,onCommit:o})=>{let[n,r]=(0,Ze.useState)(),[s,l]=(0,Ze.useState)(t),a=(0,Ze.useRef)(t),c=(0,Ze.useRef)(!1),i=(0,Ze.useRef)(!1),m=(0,Ze.useCallback)(()=>{console.log("blur")},[]),f=(0,Ze.useCallback)(u=>{if(u.key==="Enter")if(u.stopPropagation(),c.current){i.current=!0;let p=e==null?void 0:e(s);p?r(p):(r(void 0),o(s)&&(c.current=!1,cr(u.target)))}else cr(u.target),i.current=!1;else u.key==="ArrowRight"||u.key==="ArrowLeft"||u.key==="ArrowUp"||u.key==="ArrowDown"?u.stopPropagation():u.key==="Escape"&&c.current&&(c.current=!1,r(void 0),l(a.current))},[e,o,s]),g=(0,Ze.useCallback)(u=>{let{value:p}=u.target;if(c.current=p!==a.current,l(p),console.log(`value changes to ${p} message ${n}`),i.current){let d=e==null?void 0:e(p);console.log({warningMessage:d}),d!==n&&d!==!1&&r(d)}},[e,n]);return{onBlur:m,onChange:g,onKeyDown:f,value:s,warningMessage:n}};var _s=xe(require("classnames")),Xe=require("react"),yo=require("@salt-ds/core");var en=require("react/jsx-runtime"),Qo="vuuEditableLabel",ur=(0,Xe.forwardRef)(function({className:t,defaultEditing:o,defaultValue:n,editing:r,onChange:s,onEnterEditMode:l,onExitEditMode:a,value:c,...i},m){let f=(0,Xe.useRef)(null),g=(0,Xe.useRef)(!1),[u,p]=(0,yo.useControlled)({controlled:c,default:n!=null?n:"",name:"EditableLabel",state:"value"}),[d,b]=(0,yo.useControlled)({controlled:r,default:o!=null?o:!1,name:"EditableLabel",state:"editing"}),x=(0,Xe.useCallback)(D=>{b(g.current=D)},[b]),L=(0,Xe.useRef)(u);(0,Xe.useLayoutEffect)(()=>{d&&f.current!==null&&(f.current.select(),f.current.focus())},[d,f]);let y=(0,Xe.useCallback)(()=>{x(!0),l&&l()},[l,x]),h=({cancelEdit:D=!1,allowDeactivation:A=!1}={})=>{x(!1);let I=L.current;I!==u&&(D?p(I):L.current=u),a&&a(I,u,A,D)},H=D=>{let{value:A}=D.target;p(A),s&&s(A)},v=()=>{y()},P=()=>{g.current&&h({allowDeactivation:!0})},k=D=>{d&&D.key==="Enter"?(D.stopPropagation(),h()):D.key==="ArrowRight"||D.key==="ArrowLeft"?D.stopPropagation():D.key==="Escape"&&h({cancelEdit:!0})},$=(0,_s.default)(Qo,t,{[`${Qo}-editing`]:d});return(0,en.jsx)("div",{...i,className:$,onDoubleClick:v,"data-text":u,ref:m,children:d?(0,en.jsx)(yo.Input,{inputProps:{className:`${Qo}-input`,spellCheck:!1},value:u,onBlur:P,onChange:H,onKeyDown:k,inputRef:f,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,en.jsx)("span",{className:`${Qo}-label`,children:u})})});var Gs=require("@salt-ds/core"),Ws=xe(require("classnames")),js=require("react");var dr=require("react/jsx-runtime"),Us="vuuExpandoInput",Aa=(0,js.forwardRef)(function({className:t,value:o,inputProps:n,...r},s){return(0,dr.jsx)("div",{className:(0,Ws.default)(Us,t),"data-text":o,children:(0,dr.jsx)(Gs.Input,{...r,inputProps:{...n,className:`${Us}-input`},ref:s,style:{padding:0},textAlign:"left",value:o,variant:"secondary"})})});var tn=require("react/jsx-runtime"),Ka=e=>{let{onToggle:t,checked:o,label:n}=e;return(0,tn.jsxs)("div",{className:"vuuCheckbox",onClick:t,onKeyUp:r=>r.key===" "&&t(),children:[(0,tn.jsx)(po,{tabIndex:0,checked:o}),n]})};var Bt=require("react/jsx-runtime"),Fa=e=>{let{onClick:t,checked:o,label:n,groupName:r}=e;return(0,Bt.jsxs)("div",{className:"vuuRadioButton",onClick:t,children:[(0,Bt.jsxs)("div",{className:"radio",children:[(0,Bt.jsx)("input",{type:"radio",name:r}),(0,Bt.jsx)(ir,{checked:o})]}),n]})};var Zs=require("@vuu-ui/vuu-layout"),Xs=require("@vuu-ui/vuu-table"),zt=require("@salt-ds/core"),Ys=xe(require("classnames")),nn=require("react");var qs=require("@vuu-ui/vuu-utils");var on=require("react/jsx-runtime"),$a="vuuSearchCell",Ba=({column:e,columnMap:t,row:o})=>{let n=t[e.name],r=o[n];return(0,on.jsxs)("div",{className:$a,tabIndex:-1,children:[(0,on.jsx)("span",{"data-icon":"draggable"}),r]})};console.log("register SearchCell");(0,qs.registerComponent)("search-cell",Ba,"cell-renderer",{serverDataType:"private"});var mt=require("react/jsx-runtime"),mr="vuuInstrumentSearch",za={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},Va=(0,mt.jsx)("span",{"data-icon":"search"}),Js=({TableProps:e,className:t,dataSource:o,searchColumn:n="description",...r})=>{let[s,l]=(0,nn.useState)({searchText:"",filter:""}),a=(0,nn.useCallback)(c=>{let{value:i}=c.target,m=`name starts "${i}"`;l({searchText:i,filter:m}),o.filter={filter:m,filterStruct:{op:"starts",column:n,value:i}}},[o,n]);return(0,mt.jsxs)("div",{...r,className:(0,Ys.default)(mr,t),children:[(0,mt.jsxs)(zt.FormField,{className:`${mr}-inputField`,children:[(0,mt.jsx)(zt.FormFieldLabel,{}),(0,mt.jsx)(zt.Input,{endAdornment:Va,value:s.searchText,onChange:a})]}),(0,mt.jsx)(Xs.TableNext,{rowHeight:25,config:za,renderBufferSize:100,...e,className:`${mr}-list`,dataSource:o,showColumnHeaders:!1})]})};(0,Zs.registerComponent)("InstrumentSearch",Js,"view");var Vt=require("@vuu-ui/vuu-utils"),_t=require("react"),Qs=xe(require("classnames"));var rn=require("react/jsx-runtime"),_a="vuuPriceTicker",Ua=e=>(0,Vt.numericFormatter)({type:{name:"number",formatting:{decimals:e,zeroPad:!0}}}),Ga=[void 0,void 0],el=(0,_t.memo)(({className:e,decimals:t=2,price:o,showArrow:n,...r})=>{let s=(0,_t.useRef)(Ga),[l,a]=s.current,c=(0,_t.useMemo)(()=>Ua(t),[t]),i=(0,Vt.isValidNumber)(l)?(0,Vt.getMovingValueDirection)(o,a,l,t):"";return s.current=[o,i],(0,rn.jsxs)("div",{...r,className:(0,Qs.default)(_a,e,i),children:[c(o),n?(0,rn.jsx)("span",{"data-icon":"price-arrow"}):null]})});el.displayName="PriceTicker";var Gt=require("@vuu-ui/vuu-layout"),gl=require("@salt-ds/core"),gr=xe(require("classnames")),Wt=xe(require("react"));var pl=require("@vuu-ui/vuu-utils"),we=require("react");var tl=e=>typeof e=="object"&&e!==null&&"tabIndex"in e&&typeof e.tabIndex=="number",ol=e=>({label:"Close",location:"tab",action:"close-tab",options:e}),nl=e=>({label:"Rename",location:"tab",action:"rename-tab",options:e});var rl=require("@vuu-ui/vuu-utils"),sl=(e,t)=>{if(e){let o=e.querySelector(`[data-index]:has(${t})`);return(0,rl.getElementDataIndex)(o)}return-1},sn=e=>sl(e,'[aria-selected="true"]'),pr=e=>sl(e,".vuuEditableLabel-editing");var Ut=require("@vuu-ui/vuu-utils"),it=require("react"),ll=(e,t,o="horizontal")=>{let n=(0,it.useRef)(!1),r=(0,it.useCallback)(()=>{n.current=!0},[]),s=(0,it.useCallback)(()=>{n.current=!1},[]),l=(0,it.useCallback)(()=>{var c,i;(c=e.current)==null||c.style.setProperty("--tab-thumb-transition","none"),(i=e.current)==null||i.removeEventListener("transitionend",l)},[e]),a=(0,it.useRef)(-1);return(0,it.useMemo)(()=>{var m,f;let c=0,i=0;if(a.current!==-1){let g=(m=e.current)==null?void 0:m.querySelector(".vuuTab-selected"),u=(f=e.current)==null?void 0:f.querySelector(`[data-index="${t}"] .vuuTab`),{positionProp:p,sizeProp:d}=Ut.MEASURES[o];if(g&&u&&!n.current){let{[p]:b,[d]:x}=g.getBoundingClientRect(),{[p]:L}=u.getBoundingClientRect();if((0,Ut.isValidNumber)(b)&&(0,Ut.isValidNumber)(L)&&(0,Ut.isValidNumber)(x)){console.log({orientation:o,positionProp:p,oldPosition:b,newPosition:L}),c=b-L,i=x;let h=Math.abs(c/(o==="horizontal"?1100:700));requestAnimationFrame(()=>{var H,v,P,k;(H=e.current)==null||H.style.setProperty("--tab-thumb-offset","0px"),(v=e.current)==null||v.style.setProperty("--tab-thumb-size","100%"),(P=e.current)==null||P.style.setProperty("--tab-thumb-transition",`all ${h}s ease`),(k=e.current)==null||k.addEventListener("transitionend",l)})}}}return a.current=t,n.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:s,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${c}px`,"--tab-thumb-size":i?`${i}px`:void 0},resumeAnimation:s,suspendAnimation:r}},[t,e,o,l,s,r])};var al=require("@salt-ds/core"),an=require("@vuu-ui/vuu-utils"),ye=require("react"),Re=require("@vuu-ui/vuu-utils");var cl={horizontal:{[Re.Home]:"start",[Re.End]:"end",[Re.ArrowLeft]:"bwd",[Re.ArrowRight]:"fwd"},vertical:{[Re.Home]:"start",[Re.End]:"end",[Re.ArrowUp]:"bwd",[Re.ArrowDown]:"fwd"}},Wa=(e,t="horizontal")=>cl[t][e]!==void 0,ja=e=>e===Re.ArrowDown;function il(e,t,o){return t==="start"?0:t==="end"?e-1:t==="bwd"?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var qa=e=>e!==null&&!e.classList.contains("wrapped"),ln=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,ul=({containerRef:e,defaultHighlightedIdx:t=-1,highlightedIdx:o,keyBoardActivation:n,orientation:r,selectedIndex:s=0})=>{let l=n==="manual",a=(0,ye.useRef)(!1),c=(0,ye.useRef)(-1),[i,m]=(0,ye.useState)(!1),[,f]=(0,ye.useState)({}),[g,u]=(0,al.useControlled)({controlled:o,default:t,name:"UseKeyboardNavigation"}),p=(0,ye.useCallback)(I=>{u(c.current=I)},[u]),d=(0,ye.useRef)(!1),b=(0,ye.useCallback)((I,M=!1,w,C=70)=>{p(I),w===!0&&!d.current&&(d.current=!0);let E=()=>{let S=ln(e.current,I);if(S){let T=(0,an.getFocusableElement)(S);T==null||T.focus()}};M?E():setTimeout(E,C)},[e,p]),x=I=>{if(c.current===-1&&I.target.tabIndex!==-1){let M=pr(e.current);M!==-1?requestAnimationFrame(()=>{p(M)}):setTimeout(()=>{c.current===-1&&s!==null&&p(s)},200)}},L=(0,ye.useCallback)(()=>{var I,M;return(M=(I=e.current)==null?void 0:I.querySelectorAll("[data-index]").length)!=null?M:0},[e]),y=(0,ye.useCallback)((I="fwd",M)=>{let w=L(),E=il(w,I,typeof M=="number"?M:w),S=I==="start"?"fwd":I==="end"?"bwd":I;for(;(S==="fwd"&&E<w||S==="bwd"&&E>0)&&!qa(ln(e.current,E));){let T=il(w,S,E);if(T===E)break;E=T}return E},[e,L]),h=(0,ye.useCallback)((I,M=!1)=>{let w=cl[r][I.key],C=y(w,g);C!==g?l&&b(C,!0):M&&f({})},[g,l,y,b,r]),H=(0,ye.useCallback)(()=>{let I=ln(e.current,g);return I?I.querySelector(".vuuPopupMenu")!=null:!1},[e,g]),v=(0,ye.useCallback)(()=>{let I=ln(e.current,g),M=I==null?void 0:I.querySelector(".vuuPopupMenu");return M&&(0,an.dispatchMouseEvent)(M,"click"),!1},[e,g]),P=(0,ye.useCallback)(I=>{L()>0&&Wa(I.key,r)?(I.preventDefault(),d.current?h(I):(d.current=!0,h(I,!0))):ja(I.key)&&H()&&v()},[v,L,H,h,r]),k=(I,M)=>{p(M)},$=(0,ye.useCallback)(()=>{i||(m(!0),a.current?a.current=!1:d.current=!0)},[i]),D=(0,ye.useCallback)(()=>{i||(a.current=!0),d.current=!1},[i]);return{containerProps:{onBlur:I=>{let M=I.target.closest(".vuuTabstrip"),w=I.relatedTarget;M&&!(M!=null&&M.contains(w))&&(p(-1),m(!1))},onMouseDownCapture:D,onFocus:$,onMouseLeave:()=>{d.current=!0,p(-1),a.current=!1}},focusVisible:d.current?g:-1,focusIsWithinComponent:i,highlightedIdx:g,focusTab:b,onClick:k,onFocus:x,onKeyDown:P,setHighlightedIdx:p}};var dl=require("@salt-ds/core"),To=require("react"),Za=["Enter"," "],Xa=e=>e&&e.matches('[class*="vuuTab "]'),ml=({defaultSelected:e,highlightedIdx:t,onSelectionChange:o,selected:n})=>{let[r,s,l]=(0,dl.useControlled)({controlled:n,default:e!=null?e:0,name:"Tabstrip",state:"value"}),a=(0,To.useCallback)(f=>Za.includes(f.key),[]),c=(0,To.useCallback)(f=>{s(f),o==null||o(f)},[o,s]),i=(0,To.useCallback)(f=>{let g=f.target;a(f)&&t!==r&&Xa(g)&&(f.stopPropagation(),f.preventDefault(),c(t))},[a,t,r,c]),m=(0,To.useCallback)((f,g)=>{g!==r&&c(g)},[c,r]);return{activateTab:c,isControlled:l,onClick:m,onKeyDown:i,selected:r}};var Ya=new Set(["Enter"," "]),Ja=e=>Ya.has(e),Qa=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,fl=({activeTabIndex:e,allowDragDrop:t,animateSelectionThumb:o,containerRef:n,onActiveChange:r,onAddTab:s,onCloseTab:l,onExitEditMode:a,onMoveTab:c,orientation:i,keyBoardActivation:m})=>{let f=(0,we.useRef)(e),{focusTab:g,highlightedIdx:u,onClick:p,onKeyDown:d,setHighlightedIdx:b,...x}=ul({containerRef:n,keyBoardActivation:m,orientation:i,selectedIndex:f.current}),{activateTab:L,onClick:y,onKeyDown:h,selected:H}=ml({highlightedIdx:u,onSelectionChange:r,selected:e});f.current=H;let{containerStyle:v,resumeAnimation:P,suspendAnimation:k}=ll(n,o?H:-1,i),$=(0,we.useCallback)((F,U)=>{let{current:te}=f;console.log(`useTabstrip handleDrop ${F} - ${U} ${te}`),c==null||c(F,U);let J=-1;U!==-1&&(te===F?J=U:F>te&&U<=te?J=te+1:F<te&&U>=te&&(J=te-1),J!==-1&&(k(),L(J),requestAnimationFrame(P)),g(U,!1,!1,350))},[g,c,P,L,k]),{onMouseDown:D,...A}=So({allowDragDrop:t,containerRef:n,draggableClassName:`tabstrip-${i}`,onDrop:$,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),I=(0,we.useCallback)((F,U,te,J)=>{console.log(`handleExitEditMode ${F} ${U} ${te} ${J}`),a==null||a(F,U,te,J),te||g(J,!1,!0)},[g,a]),M=(0,we.useCallback)((F,U)=>{p(F,U),y(F,U)},[p,y]),w=(0,we.useCallback)((F=u)=>{let U=Qa(n.current,F);if(U)return U.querySelector(".vuuEditableLabel")},[n,u]),C=(0,we.useCallback)((F=u)=>{let U=w(F);return U?U.classList.contains("vuuEditableLabel-editing"):!1},[w,u]),E=(0,we.useCallback)((F=u)=>{let U=w(F);U&&(0,pl.dispatchMouseEvent)(U,"dblclick")},[w,u]),S=(0,we.useCallback)(F=>{d(F),F.defaultPrevented||h(F),!F.defaultPrevented&&Ja(F.key)&&E()},[E,d,h]),T=(0,we.useCallback)(F=>{let U=sn(n.current),te=U>F?U-1:U===F?0:U;return k(),l==null||l(F,te),setTimeout(()=>{P()},200),!0},[n,l,P,k]),N=(0,we.useCallback)(F=>(E(F),!0),[E]),R=(0,we.useCallback)(F=>{if(tl(F.options))switch(F.menuId){case"close-tab":return T(F.options.tabIndex);case"rename-tab":return N(F.options.tabIndex);default:console.log(`tab menu action ${F.menuId}`)}return!1},[T,N]),O=(0,we.useCallback)(()=>{C()?b(u):g(u)},[u,g,b,C]),K=(0,we.useCallback)(F=>{let U=parseInt(F.index);isNaN(U)||L(U)},[L]),_={onFocus:x.onFocus,onKeyDown:S},Y=(0,we.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let F=sn(n.current);F!==-1&&g(F)})},[n,g,s]),W={onClick:M,onKeyDown:S,onExitEditMode:I,onMenuAction:R,onMenuClose:O,onMouseDown:D};return{activeTabIndex:H,containerStyle:v,focusVisible:x.focusVisible,containerProps:{...x.containerProps,onSwitchWrappedItemIntoView:K},navigationProps:_,onClickAddTab:Y,tabProps:W,...A}};var jt=require("react/jsx-runtime"),bl=require("react"),fr="vuuTabstrip",ec=({activeTabIndex:e,allowAddTab:t,allowCloseTab:o,allowDragDrop:n=!1,allowRenameTab:r=!1,animateSelectionThumb:s=!1,children:l,className:a,id:c,keyBoardActivation:i="manual",location:m,onActiveChange:f,onAddTab:g,onCloseTab:u,onExitEditMode:p,onMoveTab:d,orientation:b="horizontal",showTabMenuButton:x,style:L,...y})=>{let h=(0,Wt.useRef)(null),{activeTabIndex:H,focusVisible:v,containerStyle:P,draggedItemIndex:k,onClickAddTab:$,tabProps:D,...A}=fl({activeTabIndex:e,allowDragDrop:n,animateSelectionThumb:s,containerRef:h,keyBoardActivation:i,onActiveChange:f,onAddTab:g,onCloseTab:u,onExitEditMode:p,onMoveTab:d,orientation:b}),I=(0,Gt.useId)(c),M=(0,gr.default)(fr,`${fr}-${b}`,a),w=L||P?{...L,...P}:void 0,C=(0,Wt.useMemo)(()=>(0,Gt.asReactElements)(l).map((E,S)=>{let{id:T=`${I}-tab-${S}`,closeable:N=o,editable:R=r,location:O,showMenuButton:K=x}=E.props,_=S===H;return Wt.default.cloneElement(E,{...D,...A.navigationProps,closeable:N,"data-overflow-priority":_?"1":void 0,dragging:k===S,editable:R,focusVisible:v===S,id:T,index:S,key:S,location:(0,gr.default)(m,O),selected:_,showMenuButton:K,tabIndex:_?0:-1})}).concat(t?(0,bl.createElement)(gl.Button,{...A.navigationProps,"aria-label":"Create Tab",className:`${fr}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:$,variant:"secondary",tabIndex:-1}):[]),[H,t,o,r,l,v,I,m,$,x,D,k,A.navigationProps]);return(0,jt.jsxs)(jt.Fragment,{children:[(0,jt.jsx)(Gt.OverflowContainer,{...y,...A.containerProps,className:M,height:28,id:I,orientation:b,overflowIcon:"more-horiz",ref:h,style:w,children:C}),A.draggable]})};var El=require("@salt-ds/core"),vl=xe(require("classnames")),wt=require("react");var Il=require("@vuu-ui/vuu-popups"),hl=require("react"),Sl=xe(require("classnames"));var yl=require("react/jsx-runtime"),tc="vuuTabMenu",xl=({allowClose:e,allowRename:t,controlledComponentId:o,location:n,onMenuAction:r,onMenuClose:s,index:l})=>{let[a,c]=(0,hl.useMemo)(()=>[(i,m)=>{let f=[];return t&&f.push(nl(m)),e&&f.push(ol(m)),f},{controlledComponentId:o,tabIndex:l}],[e,t,o,l]);return(0,yl.jsx)(Il.PopupMenu,{className:tc,menuBuilder:a,menuActionHandler:r,menuLocation:(0,Sl.default)("tab",n),menuOptions:c,onMenuClose:s,tabIndex:-1})};var Ht=require("react/jsx-runtime"),Dt="vuuTab",Tl=()=>{},oc=(0,wt.forwardRef)(function({ariaControls:t,children:o,className:n,closeable:r=!1,dragging:s,editable:l=!1,editing:a,focusVisible:c,index:i=-1,label:m,location:f,onClick:g,onClose:u,onEnterEditMode:p=Tl,onExitEditMode:d=Tl,onFocus:b,onKeyUp:x,onMenuAction:L,onMenuClose:y,orientation:h,selected:H,showMenuButton:v=r||l||!!f,tabIndex:P,...k},$){if(v&&typeof L!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let D=(0,wt.useRef)(null),A=(0,wt.useRef)(null),I=(0,El.useForkRef)($,D),M=(0,wt.useCallback)(T=>{a||(T.preventDefault(),g==null||g(T,i))},[a,i,g]),w=(T="",N="",R=!0)=>d(T,N,R,i),C=T=>{switch(T.key){case"Backspace":case"Delete":r&&(T.stopPropagation(),u&&u(i));break;default:x&&x(T,i)}},E=()=>l?(0,Ht.jsx)(ur,{editing:a,defaultValue:m,onEnterEditMode:p,onExitEditMode:w,ref:A},m):m,S=T=>{if(A.current){let R=A.current.querySelector(".vuuEditableLabel-input");R==null||R.focus()}b==null||b(T)};return(0,Ht.jsxs)("div",{...k,"aria-controls":t,"aria-selected":H,className:(0,vl.default)(Dt,{[`${Dt}-closeable`]:r,"vuuDraggable-dragAway":s,[`${Dt}-editing`]:a,[`${Dt}-selected`]:H||void 0,[`${Dt}-vertical`]:h==="vertical",vuuFocusVisible:c}),onClick:M,onFocus:S,onKeyUp:C,ref:I,role:"tab",tabIndex:P,children:[(0,Ht.jsx)("div",{className:`${Dt}-main`,children:(0,Ht.jsx)("span",{className:`${Dt}-text`,"data-text":l?void 0:m,children:o!=null?o:E()})}),v?(0,Ht.jsx)(xl,{allowClose:r,allowRename:l,controlledComponentId:t,location:f,onMenuAction:L,onMenuClose:y,index:i}):null]})});var gn=require("@salt-ds/core"),fn=xe(require("classnames")),bn=require("react");function nc(e){var t;if(e){let o=e.dataset.idx;if(o)return parseInt(o,10);if(o=(t=e.ariaPosInSet)!=null?t:"-1")return parseInt(o,10)-1}}var br=e=>e.closest("[data-idx],[aria-posinset]");var Dl=e=>nc(br(e));var qt=require("react"),rc=new Set(["/","-","."]),sc=e=>rc.has(e),Hl=(e,t)=>t.startsWith(e)&&sc(t[e.length]),Ir=(e,t="root",{collapsibleHeaders:o=void 0,defaultExpanded:n=!1,revealSelected:r=!1}={})=>{let s=(g,u,p)=>{if(g.childNodes)return g.childNodes.length;if(g.header){let d=p+1,b=0;for(;d<u.length&&!u[d].header;)b++,d++;return b}else return 0},l=(0,qt.useCallback)(g=>Array.isArray(r)?r.some(u=>Hl(g,u)):n,[n,r]),a=(0,qt.useCallback)((g,u,p=1,d="",b=[],x=[])=>{let L=0;return g.forEach((y,h,H)=>{var w;let v=y.header&&o,P=y.childNodes&&o===!1,k=!y.childNodes||y.childNodes.length===0,$=P||k&&!v,D=d?`${d}.${h}`:`${h}`,A=(w=y.id)!=null?w:`${t}-${D}`,I=$?void 0:l(A),M={...y,childNodes:void 0,id:A,count:!P&&I===void 0?0:s(y,H,h),expanded:I,index:u.index,level:p};if(b.push(M),x.push(g[h]),L+=1,u.index+=1,y.childNodes){let[C,E]=a(y.childNodes,u,p+1,D,[],x);M.childNodes=E,(I===!0||P)&&(L+=C)}}),[L,b,x]},[o,t,l]),[c,i,m]=(0,qt.useMemo)(()=>a(e,{index:0}),[a,e]),f=(0,qt.useCallback)((g,u=i)=>{let p=u.find(d=>{var b;return d.id===g||((b=d==null?void 0:d.childNodes)==null?void 0:b.length)&&Hl(d.id,g)});if((p==null?void 0:p.id)===g)return m[p.index];if(p)return f(g,p.childNodes)},[m,i]);return[c,i,f]};var pt=require("react"),Cl=require("@salt-ds/core"),wl="single",lc="checkbox",ic="multi",ac="extended",cc=["Enter"," "],Ml={},uc=e=>e.expanded!==void 0,Ll=e=>e&&e!=="none",Rl=({defaultSelected:e,highlightedIdx:t,treeNodes:o,onChange:n,selected:r,selection:s=wl,selectionKeys:l=cc})=>{let a=s===wl,c=s===ic||s.startsWith(lc),i=s===ac,m=(0,pt.useRef)(-1),f=(0,pt.useCallback)(h=>l.includes(h.key),[l]),[g,u]=(0,Cl.useControlled)({controlled:r,default:e!=null?e:[],name:"selected"}),p=(0,pt.useCallback)((h,H,v,P,k=!1)=>{let{current:$}=m,D=g==null?void 0:g.includes(v),I=a||i&&!k&&(!P||$===-1),M=c||i&&k&&!P,w=[];if(I&&D)w=[];else if(I)w=[v];else if(M&&D)w=g.filter(C=>C!==v);else if(M)w=g.concat(v);else if(i){let[C,E]=H>$?[$,H]:[H,$];w=g.slice();for(let S=C;S<=E;S++){let{id:T}=o[S];g.includes(T)||w.push(T)}}u(w),n&&n(h,w)},[i,o,c,n,g,u,a]),d=(0,pt.useCallback)(h=>{if(~t&&f(h)){h.preventDefault();let H=o[t];p(h,t,H.id,!1,h.ctrlKey||h.metaKey),i&&(m.current=t)}},[i,t,o,f,p]),b=(0,pt.useCallback)((h,H)=>{if(i&&h.shiftKey){let v=o[H];p(h,H,v.id,!0)}},[i,o,p]),x=s==="none"?Ml:{onKeyDown:d,onKeyboardNavigation:b},L=(0,pt.useCallback)(h=>{if(t!==-1){let H=o[t];uc(H)||(h.preventDefault(),h.stopPropagation(),p(h,t,H.id,h.shiftKey,h.ctrlKey||h.metaKey),i&&(m.current=t))}},[i,t,o,p]);return{listHandlers:x,listItemHandlers:s==="none"?Ml:{onClick:L},selected:g,setSelected:u}};var Pe=require("react");var dc=["height","scrollHeight"],Nl=(e,t,o=!1)=>{let n=(0,Pe.useRef)(0),r=(0,Pe.useRef)(!1),s=(0,Pe.useRef)(0),l=(0,Pe.useRef)(0),a=(0,Pe.useCallback)(m=>{let f=m.ariaExpanded?m.firstChild:m,g=o?30:0,u=f.offsetTop,p=f.offsetHeight,d=n.current+g,b=d+s.current-g;(u+p>b||u<d)&&(n.current=u+p>b?n.current+(u+p)-b:u-g,r.current=!0,e.current&&(e.current.scrollTop=n.current),setTimeout(()=>{r.current=!1}))},[e,o]),c=(0,Pe.useCallback)(m=>{n.current=m.target.scrollTop},[]);(0,Pe.useEffect)(()=>{let{current:m}=e;return m&&m.addEventListener("scroll",c),()=>{m&&m.removeEventListener("scroll",c)}},[e,c]),(0,Pe.useLayoutEffect)(()=>{if(t!==-1&&l.current>s.current&&e.current){let m=e.current.querySelector(`
4
4
  [data-idx='${t}'],
5
5
  [aria-posinset='${t+1}']
6
- `);d===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):s(d)}},[t,e,s]),(0,xe.useEffect)(()=>{},[n]);let c=(0,xe.useCallback)(({height:d,scrollHeight:f})=>{l.current=d,i.current=f},[]);return nt(e,ni,c,!0),r};var $t=require("react");var Ce=require("react");var qr=({id:e})=>{let t=e.lastIndexOf("-");if(t!==-1){let o=e.slice(t+1).split(".");return o.length===1?null:(o.pop(),`${e.slice(0,t)}-${o.join(".")}`)}else if((t=e.lastIndexOf("/"))!==-1)return e.slice(0,t)},Xr=e=>e.childNodes!==void 0;var Xn=e=>e.header===!0,oi=new Set([".","/"]),Yr=(e,t)=>t.startsWith(e.id)?oi.has(t.charAt(e.id.length)):!1,ct=(e,t)=>{for(let n of e){if(n.id===t)return n;if(Yr(n,t))return ct(n.childNodes,t)}},un=(e,t)=>{let n=typeof t=="string"?t:t.id;for(let o=0;o<e.length;o++)if(e[o].id===n)return o},dn=(e,t,n)=>{let o;return e.map(l=>l.id===t?{...l,...n}:Yr(l,t)?(o=dn(l.childNodes,t,n),{...l,childNodes:o}):l)};var rs=require("@salt-ds/core");function ri(e,...t){let n=new Set(e);for(let o of t)for(let r of o)n.add(r);return n}var Yn="ArrowUp",Jr="ArrowDown",St="ArrowLeft";var Qr="ArrowRight",mn="Enter";var si="Delete",li=new Set([mn,si]),ii=new Set(["Tab"]),ai=new Set(["ArrowRight","ArrowLeft"]),es=new Set(["Home","End","ArrowDown","ArrowUp"]),ts=new Set(["Home","End","ArrowRight","ArrowLeft"]),ci=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),Em=ri(li,ts,es,ai,ci,ii);var ns=({key:e},t="vertical")=>(t==="vertical"?es:ts).has(e);function os(e,t,n){return t===Yn||t===St?n>0?n-1:n:n===null?0:n===e-1?n:n+1}var ui=e=>!e.header&&!e.childNodes,di=e=>ui(e)||e.expanded!==void 0,ss=({defaultHighlightedIdx:e=-1,highlightedIdx:t,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:l=[]})=>{let{bwd:i,fwd:s}=(0,Ce.useMemo)(()=>({bwd:Yn,fwd:Jr}),[]),[a,c,d]=(0,rs.useControlled)({controlled:t,default:e,name:"highlightedIdx"}),f=(0,Ce.useCallback)(x=>{o==null||o(x),c(x)},[o,c]),u=(0,Ce.useCallback)((x=s,T=x===s?-1:n.length)=>{let N=os(n.length,x,T);for(;N!==-1&&(x===s&&N<n.length||x===i&&N>0)&&!di(n[N]);)N=os(n.length,x,N);return N},[i,s,n]),I=(0,Ce.useRef)(!0),m=(0,Ce.useRef)(!1),p=x=>m.current=x,g=(0,Ce.useCallback)(()=>{if(m.current)m.current=!1;else if(l.length>0){let x=ct(n,l[0]);if(x){let T=un(n,x);f(T)}}else f(u())},[n,u,l,f]),S=(0,Ce.useCallback)(x=>{let T=u(x.key,a);T!==a&&(f(T),r==null||r(x,T))},[a,u,r,f]),E=(0,Ce.useCallback)(x=>{n.length>0&&ns(x,"vertical")&&(x.preventDefault(),x.stopPropagation(),I.current=!0,S(x))},[n,S]),v=(0,Ce.useMemo)(()=>({onBlur:()=>{f(-1)},onFocus:g,onKeyDown:E,onMouseDownCapture:()=>{I.current=!1,p(!0)},onMouseMove:()=>{I.current&&(I.current=!1)},onMouseLeave:()=>{I.current=!0,p(!1),f(-1)}}),[g,E,f]);return{focusVisible:I.current?a:-1,controlledHighlighting:d,highlightedIdx:a,hiliteItemAtIndex:f,keyBoardNavigation:I,listProps:v,setIgnoreFocus:p}};var yt=require("react");var fn=(e,t=[],n={value:0})=>{let o=!1;for(let r of e)o&&!Xn(r)||(t[n.value]=r,n.value+=1,o=!1,Xn(r)&&r.expanded===!1?o=!0:Xr(r)&&pn(r)&&fn(r.childNodes,t,n));return t},ls=e=>{let t=(0,yt.useRef)(e),n=(0,yt.useRef)(e),o=(0,yt.useRef)(fn(e)),[,r]=(0,yt.useState)({});e!==t.current&&(t.current=e,n.current=e,o.current=fn(e));let l=i=>{n.current=i,o.current=fn(i),r({})};return{data:n.current,indexPositions:o.current,setData:l}};var _e=require("react");var mi={},fi=e=>e&&e.hasAttribute("aria-expanded"),is=({collapsibleHeaders:e,highlightedIdx:t,treeNodes:n,setVisibleData:o,source:r})=>{let l=(0,_e.useRef)(r),i=(0,_e.useRef)(l.current),s=(0,_e.useCallback)(m=>{o(i.current=m)},[o]),a=(0,_e.useCallback)((m,{id:p})=>dn(m,p,{expanded:!0}),[]),c=(0,_e.useCallback)((m,{id:p})=>dn(m,p,{expanded:!1}),[]),d=(0,_e.useCallback)(m=>{if(m.key===Qr||m.key===mn){let p=n[t];p&&p.expanded===!1&&(m.preventDefault(),s(a(i.current,p)))}if(m.key===St||m.key===mn){let p=n[t];p&&p.expanded&&(m.preventDefault(),s(c(i.current,p)))}},[c,a,t,n,s]),f=e?{onKeyDown:d}:mi,I={onClick:(0,_e.useCallback)(m=>{let p=Zn(m.target);if(fi(p)){m.stopPropagation(),m.preventDefault();let g=ct(r,p.id);(g==null?void 0:g.expanded)===!1?s(a(r,g)):(g==null?void 0:g.expanded)===!0&&s(c(r,g))}},[c,a,s,r])};return{listHandlers:f,listItemHandlers:I}};var as=require("react");var cs=({highlightedIdx:e,hiliteItemAtIndex:t,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,as.useCallback)(i=>{if(i.key===St){let s=n[e],a=qr(s);if(a){i.preventDefault();let c=ct(o,a);if(c){let d=un(n,c);d!==void 0&&t(d)}}}},[e,t,n,o])}});var pi=[],us=({defaultSelected:e,sourceWithIds:t,onChange:n,onHighlight:o,selected:r,selection:l})=>{let i=(0,$t.useRef)(pi),s=ls(t),a=(v,x)=>{var T,N;(N=(T=u.listHandlers).onKeyboardNavigation)==null||N.call(T,v,x)},{highlightedIdx:c,...d}=ss({treeNodes:s.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:i.current}),f=is({collapsibleHeaders:!0,highlightedIdx:c,treeNodes:s.indexPositions,setVisibleData:s.setData,source:s.data}),u=jr({defaultSelected:e,highlightedIdx:c,treeNodes:s.indexPositions,onChange:n,selected:r,selection:l}),I=cs({source:s.data,highlightedIdx:c,hiliteItemAtIndex:d.hiliteItemAtIndex,indexPositions:s.indexPositions}),m=(0,$t.useCallback)(v=>{var x,T,N;(x=f.listItemHandlers)==null||x.onClick(v),v.defaultPrevented||(N=(T=u.listItemHandlers)==null?void 0:T.onClick)==null||N.call(T,v)},[f,u]),p=(0,$t.useCallback)(v=>{var x,T,N,P,H,k,O,$;(T=(x=d.listProps).onKeyDown)==null||T.call(x,v),v.defaultPrevented||(P=(N=u.listHandlers).onKeyDown)==null||P.call(N,v),v.defaultPrevented||(k=(H=f.listHandlers).onKeyDown)==null||k.call(H,v),v.defaultPrevented||($=(O=I.listHandlers).onKeyDown)==null||$.call(O,v)},[f.listHandlers,d.listProps,u.listHandlers,I.listHandlers]),g=()=>{var v;return c===void 0||c===-1||(v=s.indexPositions[c])==null?void 0:v.id};i.current=u.selected;let S={"aria-activedescendant":g(),onBlur:d.listProps.onBlur,onFocus:d.listProps.onFocus,onKeyDown:p,onMouseDownCapture:d.listProps.onMouseDownCapture,onMouseLeave:d.listProps.onMouseLeave,onMouseMove:d.listProps.onMouseMove},E={onClick:m};return{focusVisible:d.focusVisible,highlightedIdx:c,hiliteItemAtIndex:d.hiliteItemAtIndex,listProps:S,listItemHandlers:E,selected:u.selected,visibleData:s.data}};var ve=require("react/jsx-runtime"),fs=require("react"),Ue="vuuTree",pn=e=>e.expanded===!0,Jn=({children:e,idx:t,...n})=>(0,ve.jsx)("li",{...n,children:e}),ds=(0,In.forwardRef)(function({allowDragDrop:t,className:n,defaultSelected:o,groupSelection:r="none",id:l,onHighlight:i,onSelectionChange:s,revealSelected:a,selected:c,selection:d="single",source:f,...u},I){var D;let m=(0,bn.useIdMemo)(l),p=(0,In.useRef)(null),[,g,S]=qn(f,m,{revealSelected:a?(D=c!=null?c:o)!=null?D:!1:void 0}),E=(h,y)=>{if(s){let L=y.map(w=>S(w)).filter(w=>w!==void 0);s(L)}},{focusVisible:v,highlightedIdx:x,hiliteItemAtIndex:T,listProps:N,listItemHandlers:P,selected:H,visibleData:k}=us({defaultSelected:o,groupSelection:r,onChange:E,onHighlight:i,selected:c,selection:d,sourceWithIds:g});Zr(p,x);let $={...{onMouseEnter:h=>{let y=h.target,L=Br(y);T(L)}},...P,role:"treeitem"},b=Ur(r);function M(h,y,L){h.push((0,ve.jsxs)(Jn,{...$,...gi(y,L,x,H,v),children:[y.icon?(0,ve.jsx)("span",{className:`${Ue}Node-icon`,"data-icon":y.icon}):null,(0,ve.jsx)("span",{children:y.label})]})),L.value+=1}function C(h,y,L,w,A){let{value:z}=L;L.value+=1,h.push((0,fs.createElement)(Jn,{...P,"aria-expanded":y.expanded,"aria-level":y.level,"aria-selected":H.includes(w)||void 0,className:(0,gn.default)(`${Ue}Node`,{focusVisible:v===z,[`${Ue}Node-toggle`]:!b}),"data-idx":z,"data-highlighted":z===x||void 0,"data-selectable":!0,id:w,key:`header-${z}`},b?(0,ve.jsxs)("div",{className:`${Ue}Node-label`,children:[(0,ve.jsx)("span",{className:`${Ue}Node-toggle`}),A]}):(0,ve.jsxs)("div",{className:`${Ue}Node-label`,children:[y.icon?(0,ve.jsx)("span",{className:`${Ue}Node-icon`,"data-icon":y.icon}):null,(0,ve.jsx)("span",{children:A})]}),(0,ve.jsx)("ul",{role:"group",children:pn(y)?R(y.childNodes,L):""})))}function R(h,y={value:0}){if((h==null?void 0:h.length)>0){let L=[];for(let w of h)w.childNodes?C(L,w,y,w.id,w.label):M(L,w,y);return L}}return(0,ve.jsx)("ul",{...u,...N,className:(0,gn.default)(Ue,n),id:`Tree-${m}`,ref:(0,bn.useForkRef)(p,I),role:"tree",tabIndex:0,children:R(k)})}),gi=(e,t,n,o,r,l)=>({id:e.id,key:e.id,"aria-level":e.level,"aria-selected":o.includes(e.id)||void 0,"data-idx":t.value,"data-highlighted":t.value===n||void 0,className:(0,gn.default)("vuuTreeNode",l,{focusVisible:r===t.value})});ds.displayName="Tree";var ms=ds;
6
+ `);m===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):a(m)}},[t,e,a]),(0,Pe.useEffect)(()=>{},[o]);let i=(0,Pe.useCallback)(({height:m,scrollHeight:f})=>{s.current=m,l.current=f},[]);return Ye(e,dc,i,!0),r};var Eo=require("react");var Ge=require("react");var Pl=({id:e})=>{let t=e.lastIndexOf("-");if(t!==-1){let n=e.slice(t+1).split(".");return n.length===1?null:(n.pop(),`${e.slice(0,t)}-${n.join(".")}`)}else if((t=e.lastIndexOf("/"))!==-1)return e.slice(0,t)},kl=e=>e.childNodes!==void 0;var hr=e=>e.header===!0,mc=new Set([".","/"]),Ol=(e,t)=>t.startsWith(e.id)?mc.has(t.charAt(e.id.length)):!1,Mt=(e,t)=>{for(let o of e){if(o.id===t)return o;if(Ol(o,t))return Mt(o.childNodes,t)}},cn=(e,t)=>{let o=typeof t=="string"?t:t.id;for(let n=0;n<e.length;n++)if(e[n].id===o)return n},un=(e,t,o)=>{let n;return e.map(s=>s.id===t?{...s,...o}:Ol(s,t)?(n=un(s.childNodes,t,o),{...s,childNodes:n}):s)};var Vl=require("@salt-ds/core");function pc(e,...t){let o=new Set(e);for(let n of t)for(let r of n)o.add(r);return o}var Sr="ArrowUp",Al="ArrowDown",Zt="ArrowLeft";var Kl="ArrowRight",dn="Enter";var fc="Delete",gc=new Set([dn,fc]),bc=new Set(["Tab"]),Ic=new Set(["ArrowRight","ArrowLeft"]),Fl=new Set(["Home","End","ArrowDown","ArrowUp"]),$l=new Set(["Home","End","ArrowRight","ArrowLeft"]),hc=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),KI=pc(gc,$l,Fl,Ic,hc,bc);var Bl=({key:e},t="vertical")=>(t==="vertical"?Fl:$l).has(e);function zl(e,t,o){return t===Sr||t===Zt?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var Sc=e=>!e.header&&!e.childNodes,xc=e=>Sc(e)||e.expanded!==void 0,_l=({defaultHighlightedIdx:e=-1,highlightedIdx:t,treeNodes:o,onHighlight:n,onKeyboardNavigation:r,selected:s=[]})=>{let{bwd:l,fwd:a}=(0,Ge.useMemo)(()=>({bwd:Sr,fwd:Al}),[]),[c,i,m]=(0,Vl.useControlled)({controlled:t,default:e,name:"highlightedIdx"}),f=(0,Ge.useCallback)(h=>{n==null||n(h),i(h)},[n,i]),g=(0,Ge.useCallback)((h=a,H=h===a?-1:o.length)=>{let v=zl(o.length,h,H);for(;v!==-1&&(h===a&&v<o.length||h===l&&v>0)&&!xc(o[v]);)v=zl(o.length,h,v);return v},[l,a,o]),u=(0,Ge.useRef)(!0),p=(0,Ge.useRef)(!1),d=h=>p.current=h,b=(0,Ge.useCallback)(()=>{if(p.current)p.current=!1;else if(s.length>0){let h=Mt(o,s[0]);if(h){let H=cn(o,h);f(H)}}else f(g())},[o,g,s,f]),x=(0,Ge.useCallback)(h=>{let H=g(h.key,c);H!==c&&(f(H),r==null||r(h,H))},[c,g,r,f]),L=(0,Ge.useCallback)(h=>{o.length>0&&Bl(h,"vertical")&&(h.preventDefault(),h.stopPropagation(),u.current=!0,x(h))},[o,x]),y=(0,Ge.useMemo)(()=>({onBlur:()=>{f(-1)},onFocus:b,onKeyDown:L,onMouseDownCapture:()=>{u.current=!1,d(!0)},onMouseMove:()=>{u.current&&(u.current=!1)},onMouseLeave:()=>{u.current=!0,d(!1),f(-1)}}),[b,L,f]);return{focusVisible:u.current?c:-1,controlledHighlighting:m,highlightedIdx:c,hiliteItemAtIndex:f,keyBoardNavigation:u,listProps:y,setIgnoreFocus:d}};var Xt=require("react");var mn=(e,t=[],o={value:0})=>{let n=!1;for(let r of e)n&&!hr(r)||(t[o.value]=r,o.value+=1,n=!1,hr(r)&&r.expanded===!1?n=!0:kl(r)&&pn(r)&&mn(r.childNodes,t,o));return t},Ul=e=>{let t=(0,Xt.useRef)(e),o=(0,Xt.useRef)(e),n=(0,Xt.useRef)(mn(e)),[,r]=(0,Xt.useState)({});e!==t.current&&(t.current=e,o.current=e,n.current=mn(e));let s=l=>{o.current=l,n.current=mn(l),r({})};return{data:o.current,indexPositions:n.current,setData:s}};var at=require("react");var yc={},Tc=e=>e&&e.hasAttribute("aria-expanded"),Gl=({collapsibleHeaders:e,highlightedIdx:t,treeNodes:o,setVisibleData:n,source:r})=>{let s=(0,at.useRef)(r),l=(0,at.useRef)(s.current),a=(0,at.useCallback)(p=>{n(l.current=p)},[n]),c=(0,at.useCallback)((p,{id:d})=>un(p,d,{expanded:!0}),[]),i=(0,at.useCallback)((p,{id:d})=>un(p,d,{expanded:!1}),[]),m=(0,at.useCallback)(p=>{if(p.key===Kl||p.key===dn){let d=o[t];d&&d.expanded===!1&&(p.preventDefault(),a(c(l.current,d)))}if(p.key===Zt||p.key===dn){let d=o[t];d&&d.expanded&&(p.preventDefault(),a(i(l.current,d)))}},[i,c,t,o,a]),f=e?{onKeyDown:m}:yc,u={onClick:(0,at.useCallback)(p=>{let d=br(p.target);if(Tc(d)){p.stopPropagation(),p.preventDefault();let b=Mt(r,d.id);(b==null?void 0:b.expanded)===!1?a(c(r,b)):(b==null?void 0:b.expanded)===!0&&a(i(r,b))}},[i,c,a,r])};return{listHandlers:f,listItemHandlers:u}};var Wl=require("react");var jl=({highlightedIdx:e,hiliteItemAtIndex:t,indexPositions:o,source:n})=>({listHandlers:{onKeyDown:(0,Wl.useCallback)(l=>{if(l.key===Zt){let a=o[e],c=Pl(a);if(c){l.preventDefault();let i=Mt(n,c);if(i){let m=cn(o,i);m!==void 0&&t(m)}}}},[e,t,o,n])}});var Ec=[],ql=({defaultSelected:e,sourceWithIds:t,onChange:o,onHighlight:n,selected:r,selection:s})=>{let l=(0,Eo.useRef)(Ec),a=Ul(t),c=(y,h)=>{var H,v;(v=(H=g.listHandlers).onKeyboardNavigation)==null||v.call(H,y,h)},{highlightedIdx:i,...m}=_l({treeNodes:a.indexPositions,onHighlight:n,onKeyboardNavigation:c,selected:l.current}),f=Gl({collapsibleHeaders:!0,highlightedIdx:i,treeNodes:a.indexPositions,setVisibleData:a.setData,source:a.data}),g=Rl({defaultSelected:e,highlightedIdx:i,treeNodes:a.indexPositions,onChange:o,selected:r,selection:s}),u=jl({source:a.data,highlightedIdx:i,hiliteItemAtIndex:m.hiliteItemAtIndex,indexPositions:a.indexPositions}),p=(0,Eo.useCallback)(y=>{var h,H,v;(h=f.listItemHandlers)==null||h.onClick(y),y.defaultPrevented||(v=(H=g.listItemHandlers)==null?void 0:H.onClick)==null||v.call(H,y)},[f,g]),d=(0,Eo.useCallback)(y=>{var h,H,v,P,k,$,D,A;(H=(h=m.listProps).onKeyDown)==null||H.call(h,y),y.defaultPrevented||(P=(v=g.listHandlers).onKeyDown)==null||P.call(v,y),y.defaultPrevented||($=(k=f.listHandlers).onKeyDown)==null||$.call(k,y),y.defaultPrevented||(A=(D=u.listHandlers).onKeyDown)==null||A.call(D,y)},[f.listHandlers,m.listProps,g.listHandlers,u.listHandlers]),b=()=>{var y;return i===void 0||i===-1||(y=a.indexPositions[i])==null?void 0:y.id};l.current=g.selected;let x={"aria-activedescendant":b(),onBlur:m.listProps.onBlur,onFocus:m.listProps.onFocus,onKeyDown:d,onMouseDownCapture:m.listProps.onMouseDownCapture,onMouseLeave:m.listProps.onMouseLeave,onMouseMove:m.listProps.onMouseMove},L={onClick:p};return{focusVisible:m.focusVisible,highlightedIdx:i,hiliteItemAtIndex:m.hiliteItemAtIndex,listProps:x,listItemHandlers:L,selected:g.selected,visibleData:a.data}};var Ve=require("react/jsx-runtime"),Yl=require("react"),ft="vuuTree",pn=e=>e.expanded===!0,xr=({children:e,idx:t,...o})=>(0,Ve.jsx)("li",{...o,children:e}),Zl=(0,bn.forwardRef)(function({allowDragDrop:t,className:o,defaultSelected:n,groupSelection:r="none",id:s,onHighlight:l,onSelectionChange:a,revealSelected:c,selected:i,selection:m="single",source:f,...g},u){var E;let p=(0,gn.useIdMemo)(s),d=(0,bn.useRef)(null),[,b,x]=Ir(f,p,{revealSelected:c?(E=i!=null?i:n)!=null?E:!1:void 0}),L=(S,T)=>{if(a){let N=T.map(R=>x(R)).filter(R=>R!==void 0);a(N)}},{focusVisible:y,highlightedIdx:h,hiliteItemAtIndex:H,listProps:v,listItemHandlers:P,selected:k,visibleData:$}=ql({defaultSelected:n,groupSelection:r,onChange:L,onHighlight:l,selected:i,selection:m,sourceWithIds:b});Nl(d,h);let A={...{onMouseEnter:S=>{let T=S.target,N=Dl(T);H(N)}},...P,role:"treeitem"},I=Ll(r);function M(S,T,N){S.push((0,Ve.jsxs)(xr,{...A,...vc(T,N,h,k,y),children:[T.icon?(0,Ve.jsx)("span",{className:`${ft}Node-icon`,"data-icon":T.icon}):null,(0,Ve.jsx)("span",{children:T.label})]})),N.value+=1}function w(S,T,N,R,O){let{value:K}=N;N.value+=1,S.push((0,Yl.createElement)(xr,{...P,"aria-expanded":T.expanded,"aria-level":T.level,"aria-selected":k.includes(R)||void 0,className:(0,fn.default)(`${ft}Node`,{focusVisible:y===K,[`${ft}Node-toggle`]:!I}),"data-idx":K,"data-highlighted":K===h||void 0,"data-selectable":!0,id:R,key:`header-${K}`},I?(0,Ve.jsxs)("div",{className:`${ft}Node-label`,children:[(0,Ve.jsx)("span",{className:`${ft}Node-toggle`}),O]}):(0,Ve.jsxs)("div",{className:`${ft}Node-label`,children:[T.icon?(0,Ve.jsx)("span",{className:`${ft}Node-icon`,"data-icon":T.icon}):null,(0,Ve.jsx)("span",{children:O})]}),(0,Ve.jsx)("ul",{role:"group",children:pn(T)?C(T.childNodes,N):""})))}function C(S,T={value:0}){if((S==null?void 0:S.length)>0){let N=[];for(let R of S)R.childNodes?w(N,R,T,R.id,R.label):M(N,R,T);return N}}return(0,Ve.jsx)("ul",{...g,...v,className:(0,fn.default)(ft,o),id:`Tree-${p}`,ref:(0,gn.useForkRef)(d,u),role:"tree",tabIndex:0,children:C($)})}),vc=(e,t,o,n,r,s)=>({id:e.id,key:e.id,"aria-level":e.level,"aria-selected":n.includes(e.id)||void 0,"data-idx":t.value,"data-highlighted":t.value===o||void 0,className:(0,fn.default)("vuuTreeNode",s,{focusVisible:r===t.value})});Zl.displayName="Tree";var Xl=Zl;var Jl=require("@salt-ds/core"),Ql=xe(require("classnames")),yr=require("react"),ei=require("react/jsx-runtime"),Dc="vuuInput",Hc=({className:e,onCommit:t,onKeyDown:o,...n})=>{let r=(0,yr.useCallback)(l=>{l.key==="Enter"&&(l.preventDefault(),l.stopPropagation(),t(l)),o==null||o(l)},[t,o]),s=(0,yr.useCallback)(l=>{t(l)},[t]);return(0,ei.jsx)(Jl.Input,{...n,className:(0,Ql.default)(Dc,e),onBlur:s,onKeyDown:r})};
7
7
  //# sourceMappingURL=index.js.map