@vuu-ui/vuu-ui-controls 0.8.10 → 0.8.11

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