@epilot/zenith-react 0.1.0-next.1 → 0.2.0-next.0

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 (121) hide show
  1. package/README.md +79 -10
  2. package/dist/components/alert-dialog/alert-dialog.js +48 -47
  3. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  4. package/dist/components/appearance-boundary/appearance-boundary.js +32 -34
  5. package/dist/components/appearance-boundary/appearance-boundary.js.map +1 -1
  6. package/dist/components/badge/badge.js +1 -1
  7. package/dist/components/badge/badge.js.map +1 -1
  8. package/dist/components/breadcrumb/breadcrumb.js +10 -10
  9. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  10. package/dist/components/button/button.js +28 -28
  11. package/dist/components/button/button.js.map +1 -1
  12. package/dist/components/callout/callout.js +42 -40
  13. package/dist/components/callout/callout.js.map +1 -1
  14. package/dist/components/checkbox/checkbox.js +13 -13
  15. package/dist/components/checkbox/checkbox.js.map +1 -1
  16. package/dist/components/code-block/code-block.js +6 -6
  17. package/dist/components/code-block/code-block.js.map +1 -1
  18. package/dist/components/code-editor/code-editor.js +1 -1
  19. package/dist/components/code-editor/code-editor.js.map +1 -1
  20. package/dist/components/command/command.js +6 -6
  21. package/dist/components/command/command.js.map +1 -1
  22. package/dist/components/data-table/data-table-body.js +120 -66
  23. package/dist/components/data-table/data-table-body.js.map +1 -1
  24. package/dist/components/data-table/data-table-column-header.js +7 -7
  25. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  26. package/dist/components/data-table/data-table-column-order.js +277 -0
  27. package/dist/components/data-table/data-table-column-order.js.map +1 -0
  28. package/dist/components/data-table/data-table-content.js +72 -58
  29. package/dist/components/data-table/data-table-content.js.map +1 -1
  30. package/dist/components/data-table/data-table-context.js +8 -4
  31. package/dist/components/data-table/data-table-context.js.map +1 -1
  32. package/dist/components/data-table/data-table-footer.js +31 -0
  33. package/dist/components/data-table/data-table-footer.js.map +1 -0
  34. package/dist/components/data-table/data-table-header-draggable.js +151 -0
  35. package/dist/components/data-table/data-table-header-draggable.js.map +1 -0
  36. package/dist/components/data-table/data-table-header.js +130 -57
  37. package/dist/components/data-table/data-table-header.js.map +1 -1
  38. package/dist/components/data-table/data-table-resize-handle.js +137 -0
  39. package/dist/components/data-table/data-table-resize-handle.js.map +1 -0
  40. package/dist/components/data-table/data-table.js +184 -156
  41. package/dist/components/data-table/data-table.js.map +1 -1
  42. package/dist/components/data-table/hooks/use-data-table-virtualizer.js +9 -0
  43. package/dist/components/data-table/hooks/use-data-table-virtualizer.js.map +1 -0
  44. package/dist/components/date-range-picker/date-range-picker.js +196 -179
  45. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  46. package/dist/components/date-time-picker/calendar.js +29 -29
  47. package/dist/components/date-time-picker/calendar.js.map +1 -1
  48. package/dist/components/date-time-picker/date-time-picker-input.js +127 -114
  49. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  50. package/dist/components/date-time-picker/date-time-picker.js +91 -88
  51. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  52. package/dist/components/date-time-picker/time-picker.js +55 -55
  53. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  54. package/dist/components/dialog/dialog.js +74 -72
  55. package/dist/components/dialog/dialog.js.map +1 -1
  56. package/dist/components/drawer/drawer.js +69 -67
  57. package/dist/components/drawer/drawer.js.map +1 -1
  58. package/dist/components/dropdown-menu/dropdown-menu.js +36 -36
  59. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  60. package/dist/components/field/field-combobox.js +4 -4
  61. package/dist/components/field/field-combobox.js.map +1 -1
  62. package/dist/components/field/field.js +207 -176
  63. package/dist/components/field/field.js.map +1 -1
  64. package/dist/components/list/list.js +40 -40
  65. package/dist/components/list/list.js.map +1 -1
  66. package/dist/components/option-card/option-card.js +27 -25
  67. package/dist/components/option-card/option-card.js.map +1 -1
  68. package/dist/components/pill/pill.js +9 -9
  69. package/dist/components/pill/pill.js.map +1 -1
  70. package/dist/components/radio/radio.js +14 -14
  71. package/dist/components/radio/radio.js.map +1 -1
  72. package/dist/components/scroll-area/scroll-area.js +9 -9
  73. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  74. package/dist/components/segmented-control/segmented-control.js +1 -1
  75. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  76. package/dist/components/select/select.js +11 -11
  77. package/dist/components/select/select.js.map +1 -1
  78. package/dist/components/spinner/spinner.js.map +1 -1
  79. package/dist/components/switch/switch.js +11 -11
  80. package/dist/components/switch/switch.js.map +1 -1
  81. package/dist/components/table/table-pagination.js +1 -1
  82. package/dist/components/table/table-pagination.js.map +1 -1
  83. package/dist/components/table/table.js +15 -15
  84. package/dist/components/table/table.js.map +1 -1
  85. package/dist/components/tabs/tabs.js +131 -76
  86. package/dist/components/tabs/tabs.js.map +1 -1
  87. package/dist/components/text/text.js +10 -1
  88. package/dist/components/text/text.js.map +1 -1
  89. package/dist/components/toast/toast.js +26 -26
  90. package/dist/components/toast/toast.js.map +1 -1
  91. package/dist/components/toggle/toggle.js +20 -20
  92. package/dist/components/toggle/toggle.js.map +1 -1
  93. package/dist/index.d.ts +1940 -1867
  94. package/dist/index.js +133 -121
  95. package/dist/index.js.map +1 -1
  96. package/dist/packages/tokens/dist/generated/core.generated.js +13 -22
  97. package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -1
  98. package/dist/packages/tokens/dist/generated/palette.generated.js +5 -5
  99. package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
  100. package/dist/packages/tokens/dist/install.js +5 -5
  101. package/dist/packages/tokens/dist/install.js.map +1 -1
  102. package/dist/tokens/core.meta.generated.js +2 -2
  103. package/dist/tokens/core.meta.generated.js.map +1 -1
  104. package/dist/tokens/index.d.ts +1029 -1104
  105. package/dist/tokens/index.js +1031 -1106
  106. package/dist/tokens/index.js.map +1 -1
  107. package/dist/tokens/palette.generated.js +2 -2
  108. package/dist/tokens/palette.generated.js.map +1 -1
  109. package/dist/tokens.json +605 -755
  110. package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js +385 -340
  111. package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js.map +1 -1
  112. package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js +344 -229
  113. package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -1
  114. package/dist/vendor/.bun/@dnd-kit_utilities@3.2.2_62547eec5a2188e3/vendor/@dnd-kit/utilities/dist/utilities.esm.js +1 -1
  115. package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js +36 -0
  116. package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
  117. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js +450 -0
  118. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
  119. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js +50 -0
  120. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
  121. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"sortable.esm.js","sources":["../../../../../../../../../../node_modules/.bun/@dnd-kit+sortable@10.0.0+1d291640e1250bbe/node_modules/@dnd-kit/sortable/dist/sortable.esm.js"],"sourcesContent":["import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId != null && previous.current.activeId == null) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n"],"names":["arrayMove","array","from","to","newArray","getSortedRects","items","rects","accumulator","id","index","rect","isValidIndex","itemsEqual","a","b","i","normalizeDisabled","disabled","rectSortingStrategy","_ref","activeIndex","overIndex","newRects","oldRect","newRect","defaultScale$1","verticalListSortingStrategy","_rects$activeIndex","fallbackActiveRect","activeNodeRect","overIndexRect","itemGap","getItemGap$1","clientRects","currentRect","previousRect","nextRect","ID_PREFIX","Context","React","SortableContext","children","userDefinedItems","strategy","disabledProp","active","dragOverlay","droppableRects","over","measureDroppableContainers","useDndContext","containerId","useUniqueId","useDragOverlay","useMemo","item","isDragging","previousItemsRef","useRef","itemsHaveChanged","disableTransforms","useIsomorphicLayoutEffect","useEffect","contextValue","defaultNewIndexGetter","defaultAnimateLayoutChanges","_ref2","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","transitionProperty","disabledTransition","CSS","defaultAttributes","useDerivedTransform","node","derivedTransform","setDerivedtransform","useState","previousIndex","initial","current","getClientRect","delta","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","resizeObserverConfig","globalDisabled","sortedRects","globalStrategy","useContext","normalizeLocalDisabled","data","itemsAfterCurrentSortable","isOver","setDroppableNodeRef","useDroppable","activatorEvent","attributes","setDraggableNodeRef","listeners","setActivatorNodeRef","transform","useDraggable","setNodeRef","useCombinedRefs","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","activeId","previous","shouldAnimateLayoutChanges","timeoutId","getTransition","isKeyboardEvent","_localDisabled$dragga","_localDisabled$droppa","KeyboardCode"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"sortable.esm.js","sources":["../../../../../../../../../../node_modules/.bun/@dnd-kit+sortable@10.0.0+1d291640e1250bbe/node_modules/@dnd-kit/sortable/dist/sortable.esm.js"],"sourcesContent":["import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId != null && previous.current.activeId == null) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n"],"names":["arrayMove","array","from","to","newArray","getSortedRects","items","rects","accumulator","id","index","rect","isValidIndex","itemsEqual","a","b","i","normalizeDisabled","disabled","defaultScale","horizontalListSortingStrategy","_ref","_rects$activeIndex","fallbackActiveRect","activeIndex","overIndex","activeNodeRect","itemGap","getItemGap","newIndexRect","currentRect","previousRect","nextRect","rectSortingStrategy","newRects","oldRect","newRect","defaultScale$1","verticalListSortingStrategy","overIndexRect","getItemGap$1","clientRects","ID_PREFIX","Context","React","SortableContext","children","userDefinedItems","strategy","disabledProp","active","dragOverlay","droppableRects","over","measureDroppableContainers","useDndContext","containerId","useUniqueId","useDragOverlay","useMemo","item","isDragging","previousItemsRef","useRef","itemsHaveChanged","disableTransforms","useIsomorphicLayoutEffect","useEffect","contextValue","defaultNewIndexGetter","defaultAnimateLayoutChanges","_ref2","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","transitionProperty","disabledTransition","CSS","defaultAttributes","useDerivedTransform","node","derivedTransform","setDerivedtransform","useState","previousIndex","initial","current","getClientRect","delta","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","resizeObserverConfig","globalDisabled","sortedRects","globalStrategy","useContext","normalizeLocalDisabled","data","itemsAfterCurrentSortable","isOver","setDroppableNodeRef","useDroppable","activatorEvent","attributes","setDraggableNodeRef","listeners","setActivatorNodeRef","transform","useDraggable","setNodeRef","useCombinedRefs","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","activeId","previous","shouldAnimateLayoutChanges","timeoutId","getTransition","isKeyboardEvent","_localDisabled$dragga","_localDisabled$droppa","hasSortableData","entry","directions","KeyboardCode","sortableKeyboardCoordinates","event","collisionRect","droppableContainers","scrollableAncestors","filteredContainers","collisions","closestCorners","closestId","getFirstCollision","activeDroppable","newDroppable","newNode","hasDifferentScrollAncestors","getScrollableAncestors","element","hasSameContainer","isSameContainer","isAfterActive","isAfter","offset","rectCoordinates","subtract"],"mappings":";;;AAOA,SAASA,EAAUC,GAAOC,GAAMC,GAAI;AAClC,QAAMC,IAAWH,EAAM,MAAK;AAC5B,SAAAG,EAAS,OAAOD,IAAK,IAAIC,EAAS,SAASD,IAAKA,GAAI,GAAGC,EAAS,OAAOF,GAAM,CAAC,EAAE,CAAC,CAAC,GAC3EE;AACT;AAYA,SAASC,GAAeC,GAAOC,GAAO;AACpC,SAAOD,EAAM,OAAO,CAACE,GAAaC,GAAIC,MAAU;AAC9C,UAAMC,IAAOJ,EAAM,IAAIE,CAAE;AAEzB,WAAIE,MACFH,EAAYE,CAAK,IAAIC,IAGhBH;AAAA,EACT,GAAG,MAAMF,EAAM,MAAM,CAAC;AACxB;AAEA,SAASM,EAAaF,GAAO;AAC3B,SAAOA,MAAU,QAAQA,KAAS;AACpC;AAEA,SAASG,GAAWC,GAAGC,GAAG;AACxB,MAAID,MAAMC;AACR,WAAO;AAGT,MAAID,EAAE,WAAWC,EAAE;AACjB,WAAO;AAGT,WAASC,IAAI,GAAGA,IAAIF,EAAE,QAAQE;AAC5B,QAAIF,EAAEE,CAAC,MAAMD,EAAEC,CAAC;AACd,aAAO;AAIX,SAAO;AACT;AAEA,SAASC,GAAkBC,GAAU;AACnC,SAAI,OAAOA,KAAa,YACf;AAAA,IACL,WAAWA;AAAA,IACX,WAAWA;AAAA,EACjB,IAGSA;AACT;AAGA,MAAMC,IAAe;AAAA,EACnB,QAAQ;AAAA,EACR,QAAQ;AACV,GACMC,KAAgC,CAAAC,MAAQ;AAC5C,MAAIC;AAEJ,MAAI;AAAA,IACF,OAAAf;AAAA,IACA,gBAAgBgB;AAAA,IAChB,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAf;AAAA,EACJ,IAAMW;AACJ,QAAMK,KAAkBJ,IAAqBf,EAAMiB,CAAW,MAAM,OAAOF,IAAqBC;AAEhG,MAAI,CAACG;AACH,WAAO;AAGT,QAAMC,IAAUC,GAAWrB,GAAOG,GAAOc,CAAW;AAEpD,MAAId,MAAUc,GAAa;AACzB,UAAMK,IAAetB,EAAMkB,CAAS;AAEpC,WAAKI,IAIE;AAAA,MACL,GAAGL,IAAcC,IAAYI,EAAa,OAAOA,EAAa,SAASH,EAAe,OAAOA,EAAe,SAASG,EAAa,OAAOH,EAAe;AAAA,MACxJ,GAAG;AAAA,MACH,GAAGP;AAAA,IACT,IAPa;AAAA,EAQX;AAEA,SAAIT,IAAQc,KAAed,KAASe,IAC3B;AAAA,IACL,GAAG,CAACC,EAAe,QAAQC;AAAA,IAC3B,GAAG;AAAA,IACH,GAAGR;AAAA,EACT,IAGMT,IAAQc,KAAed,KAASe,IAC3B;AAAA,IACL,GAAGC,EAAe,QAAQC;AAAA,IAC1B,GAAG;AAAA,IACH,GAAGR;AAAA,EACT,IAGS;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAGA;AAAA,EACP;AACA;AAEA,SAASS,GAAWrB,GAAOG,GAAOc,GAAa;AAC7C,QAAMM,IAAcvB,EAAMG,CAAK,GACzBqB,IAAexB,EAAMG,IAAQ,CAAC,GAC9BsB,IAAWzB,EAAMG,IAAQ,CAAC;AAEhC,SAAI,CAACoB,KAAe,CAACC,KAAgB,CAACC,IAC7B,IAGLR,IAAcd,IACTqB,IAAeD,EAAY,QAAQC,EAAa,OAAOA,EAAa,SAASC,EAAS,QAAQF,EAAY,OAAOA,EAAY,SAG/HE,IAAWA,EAAS,QAAQF,EAAY,OAAOA,EAAY,SAASA,EAAY,QAAQC,EAAa,OAAOA,EAAa;AAClI;AAEK,MAACE,IAAsB,CAAAZ,MAAQ;AAClC,MAAI;AAAA,IACF,OAAAd;AAAA,IACA,aAAAiB;AAAA,IACA,WAAAC;AAAA,IACA,OAAAf;AAAA,EACJ,IAAMW;AACJ,QAAMa,IAAWlC,EAAUO,GAAOkB,GAAWD,CAAW,GAClDW,IAAU5B,EAAMG,CAAK,GACrB0B,IAAUF,EAASxB,CAAK;AAE9B,SAAI,CAAC0B,KAAW,CAACD,IACR,OAGF;AAAA,IACL,GAAGC,EAAQ,OAAOD,EAAQ;AAAA,IAC1B,GAAGC,EAAQ,MAAMD,EAAQ;AAAA,IACzB,QAAQC,EAAQ,QAAQD,EAAQ;AAAA,IAChC,QAAQC,EAAQ,SAASD,EAAQ;AAAA,EACrC;AACA,GAmCME,IAAiB;AAAA,EACrB,QAAQ;AAAA,EACR,QAAQ;AACV,GACMC,KAA8B,CAAAjB,MAAQ;AAC1C,MAAIC;AAEJ,MAAI;AAAA,IACF,aAAAE;AAAA,IACA,gBAAgBD;AAAA,IAChB,OAAAb;AAAA,IACA,OAAAH;AAAA,IACA,WAAAkB;AAAA,EACJ,IAAMJ;AACJ,QAAMK,KAAkBJ,IAAqBf,EAAMiB,CAAW,MAAM,OAAOF,IAAqBC;AAEhG,MAAI,CAACG;AACH,WAAO;AAGT,MAAIhB,MAAUc,GAAa;AACzB,UAAMe,IAAgBhC,EAAMkB,CAAS;AAErC,WAAKc,IAIE;AAAA,MACL,GAAG;AAAA,MACH,GAAGf,IAAcC,IAAYc,EAAc,MAAMA,EAAc,UAAUb,EAAe,MAAMA,EAAe,UAAUa,EAAc,MAAMb,EAAe;AAAA,MAC1J,GAAGW;AAAA,IACT,IAPa;AAAA,EAQX;AAEA,QAAMV,IAAUa,GAAajC,GAAOG,GAAOc,CAAW;AAEtD,SAAId,IAAQc,KAAed,KAASe,IAC3B;AAAA,IACL,GAAG;AAAA,IACH,GAAG,CAACC,EAAe,SAASC;AAAA,IAC5B,GAAGU;AAAA,EACT,IAGM3B,IAAQc,KAAed,KAASe,IAC3B;AAAA,IACL,GAAG;AAAA,IACH,GAAGC,EAAe,SAASC;AAAA,IAC3B,GAAGU;AAAA,EACT,IAGS;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAGA;AAAA,EACP;AACA;AAEA,SAASG,GAAaC,GAAa/B,GAAOc,GAAa;AACrD,QAAMM,IAAcW,EAAY/B,CAAK,GAC/BqB,IAAeU,EAAY/B,IAAQ,CAAC,GACpCsB,IAAWS,EAAY/B,IAAQ,CAAC;AAEtC,SAAKoB,IAIDN,IAAcd,IACTqB,IAAeD,EAAY,OAAOC,EAAa,MAAMA,EAAa,UAAUC,IAAWA,EAAS,OAAOF,EAAY,MAAMA,EAAY,UAAU,IAGjJE,IAAWA,EAAS,OAAOF,EAAY,MAAMA,EAAY,UAAUC,IAAeD,EAAY,OAAOC,EAAa,MAAMA,EAAa,UAAU,IAP7I;AAQX;AAEA,MAAMW,IAAY,YACZC,IAAuBC,gBAAAA,EAAM,cAAc;AAAA,EAC/C,aAAa;AAAA,EACb,aAAaF;AAAA,EACb,mBAAmB;AAAA,EACnB,OAAO,CAAA;AAAA,EACP,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,aAAa,CAAA;AAAA,EACb,UAAUT;AAAA,EACV,UAAU;AAAA,IACR,WAAW;AAAA,IACX,WAAW;AAAA,EACf;AACA,CAAC;AACD,SAASY,GAAgBxB,GAAM;AAC7B,MAAI;AAAA,IACF,UAAAyB;AAAA,IACA,IAAArC;AAAA,IACA,OAAOsC;AAAA,IACP,UAAAC,IAAWf;AAAA,IACX,UAAUgB,IAAe;AAAA,EAC7B,IAAM5B;AACJ,QAAM;AAAA,IACJ,QAAA6B;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,4BAAAC;AAAA,EACJ,IAAMC,GAAa,GACXC,IAAcC,GAAYf,GAAWjC,CAAE,GACvCiD,IAAyBP,EAAY,SAAS,MAC9C7C,IAAQqD,EAAQ,MAAMZ,EAAiB,IAAI,CAAAa,MAAQ,OAAOA,KAAS,YAAY,QAAQA,IAAOA,EAAK,KAAKA,CAAI,GAAG,CAACb,CAAgB,CAAC,GACjIc,IAAaX,KAAU,MACvB1B,IAAc0B,IAAS5C,EAAM,QAAQ4C,EAAO,EAAE,IAAI,IAClDzB,IAAY4B,IAAO/C,EAAM,QAAQ+C,EAAK,EAAE,IAAI,IAC5CS,IAAmBC,EAAOzD,CAAK,GAC/B0D,IAAmB,CAACnD,GAAWP,GAAOwD,EAAiB,OAAO,GAC9DG,IAAoBxC,MAAc,MAAMD,MAAgB,MAAMwC,GAC9D9C,IAAWD,GAAkBgC,CAAY;AAC/C,EAAAiB,EAA0B,MAAM;AAC9B,IAAIF,KAAoBH,KACtBP,EAA2BhD,CAAK;AAAA,EAEpC,GAAG,CAAC0D,GAAkB1D,GAAOuD,GAAYP,CAA0B,CAAC,GACpEa,EAAU,MAAM;AACd,IAAAL,EAAiB,UAAUxD;AAAA,EAC7B,GAAG,CAACA,CAAK,CAAC;AACV,QAAM8D,IAAeT;AAAA,IAAQ,OAAO;AAAA,MAClC,aAAAnC;AAAA,MACA,aAAAgC;AAAA,MACA,UAAAtC;AAAA,MACA,mBAAA+C;AAAA,MACA,OAAA3D;AAAA,MACA,WAAAmB;AAAA,MACA,gBAAAiC;AAAA,MACA,aAAarD,GAAeC,GAAO8C,CAAc;AAAA,MACjD,UAAAJ;AAAA,IACJ;AAAA;AAAA,IACE,CAACxB,GAAagC,GAAatC,EAAS,WAAWA,EAAS,WAAW+C,GAAmB3D,GAAOmB,GAAW2B,GAAgBM,GAAgBV,CAAQ;AAAA,EAAC;AACjJ,SAAOJ,EAAM,cAAcD,EAAQ,UAAU;AAAA,IAC3C,OAAOyB;AAAA,EACX,GAAKtB,CAAQ;AACb;AAEK,MAACuB,KAAwB,CAAAhD,MAAQ;AACpC,MAAI;AAAA,IACF,IAAAZ;AAAA,IACA,OAAAH;AAAA,IACA,aAAAkB;AAAA,IACA,WAAAC;AAAA,EACJ,IAAMJ;AACJ,SAAOrB,EAAUM,GAAOkB,GAAaC,CAAS,EAAE,QAAQhB,CAAE;AAC5D,GACM6D,KAA8B,CAAAC,MAAS;AAC3C,MAAI;AAAA,IACF,aAAAf;AAAA,IACA,WAAAgB;AAAA,IACA,aAAAC;AAAA,IACA,OAAA/D;AAAA,IACA,OAAAJ;AAAA,IACA,UAAAoE;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,EACJ,IAAMN;AAMJ,SAJI,CAACM,KAAc,CAACJ,KAIhBE,MAAkBrE,KAASI,MAAUgE,IAChC,KAGLF,IACK,KAGFE,MAAahE,KAAS8C,MAAgBoB;AAC/C,GACME,KAAoB;AAAA,EACxB,UAAU;AAAA,EACV,QAAQ;AACV,GACMC,IAAqB,aACrBC,KAAkC,gBAAAC,EAAI,WAAW,SAAS;AAAA,EAC9D,UAAUF;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AACV,CAAC,GACKG,KAAoB;AAAA,EACxB,iBAAiB;AACnB;AAOA,SAASC,GAAoB9D,GAAM;AACjC,MAAI;AAAA,IACF,UAAAH;AAAA,IACA,OAAAR;AAAA,IACA,MAAA0E;AAAA,IACA,MAAAzE;AAAA,EACJ,IAAMU;AACJ,QAAM,CAACgE,GAAkBC,CAAmB,IAAIC,GAAS,IAAI,GACvDC,IAAgBzB,EAAOrD,CAAK;AAClC,SAAAwD,EAA0B,MAAM;AAC9B,QAAI,CAAChD,KAAYR,MAAU8E,EAAc,WAAWJ,EAAK,SAAS;AAChE,YAAMK,IAAU9E,EAAK;AAErB,UAAI8E,GAAS;AACX,cAAMC,IAAUC,GAAcP,EAAK,SAAS;AAAA,UAC1C,iBAAiB;AAAA,QAC3B,CAAS,GACKQ,IAAQ;AAAA,UACZ,GAAGH,EAAQ,OAAOC,EAAQ;AAAA,UAC1B,GAAGD,EAAQ,MAAMC,EAAQ;AAAA,UACzB,QAAQD,EAAQ,QAAQC,EAAQ;AAAA,UAChC,QAAQD,EAAQ,SAASC,EAAQ;AAAA,QAC3C;AAEQ,SAAIE,EAAM,KAAKA,EAAM,MACnBN,EAAoBM,CAAK;AAAA,MAE7B;AAAA,IACF;AAEA,IAAIlF,MAAU8E,EAAc,YAC1BA,EAAc,UAAU9E;AAAA,EAE5B,GAAG,CAACQ,GAAUR,GAAO0E,GAAMzE,CAAI,CAAC,GAChCwD,EAAU,MAAM;AACd,IAAIkB,KACFC,EAAoB,IAAI;AAAA,EAE5B,GAAG,CAACD,CAAgB,CAAC,GACdA;AACT;AAEA,SAASQ,GAAYxE,GAAM;AACzB,MAAI;AAAA,IACF,sBAAAyE,IAAuBxB;AAAA,IACvB,YAAYyB;AAAA,IACZ,UAAUC;AAAA,IACV,MAAMC;AAAA,IACN,aAAAC,IAAc7B;AAAA,IACd,IAAA5D;AAAA,IACA,UAAU0F;AAAA,IACV,sBAAAC;AAAA,IACA,YAAAvB,IAAaC;AAAA,EACjB,IAAMzD;AACJ,QAAM;AAAA,IACJ,OAAAf;AAAA,IACA,aAAAkD;AAAA,IACA,aAAAhC;AAAA,IACA,UAAU6E;AAAA,IACV,mBAAApC;AAAA,IACA,aAAAqC;AAAA,IACA,WAAA7E;AAAA,IACA,gBAAAiC;AAAA,IACA,UAAU6C;AAAA,EACd,IAAMC,GAAW7D,CAAO,GAChBzB,IAAWuF,GAAuBT,GAAeK,CAAc,GAC/D3F,IAAQJ,EAAM,QAAQG,CAAE,GACxBiG,IAAO/C,EAAQ,OAAO;AAAA,IAC1B,UAAU;AAAA,MACR,aAAAH;AAAA,MACA,OAAA9C;AAAA,MACA,OAAAJ;AAAA,IACN;AAAA,IACI,GAAG2F;AAAA,EACP,IAAM,CAACzC,GAAayC,GAAYvF,GAAOJ,CAAK,CAAC,GACrCqG,IAA4BhD,EAAQ,MAAMrD,EAAM,MAAMA,EAAM,QAAQG,CAAE,CAAC,GAAG,CAACH,GAAOG,CAAE,CAAC,GACrF;AAAA,IACJ,MAAAE;AAAA,IACA,MAAAyE;AAAA,IACA,QAAAwB;AAAA,IACA,YAAYC;AAAA,EAChB,IAAMC,GAAa;AAAA,IACf,IAAArG;AAAA,IACA,MAAAiG;AAAA,IACA,UAAUxF,EAAS;AAAA,IACnB,sBAAsB;AAAA,MACpB,uBAAuByF;AAAA,MACvB,GAAGP;AAAA,IACT;AAAA,EACA,CAAG,GACK;AAAA,IACJ,QAAAlD;AAAA,IACA,gBAAA6D;AAAA,IACA,gBAAArF;AAAA,IACA,YAAAsF;AAAA,IACA,YAAYC;AAAA,IACZ,WAAAC;AAAA,IACA,YAAArD;AAAA,IACA,MAAAR;AAAA,IACA,qBAAA8D;AAAA,IACA,WAAAC;AAAA,EACJ,IAAMC,GAAa;AAAA,IACf,IAAA5G;AAAA,IACA,MAAAiG;AAAA,IACA,YAAY;AAAA,MAAE,GAAGxB;AAAA,MACf,GAAGa;AAAA,IACT;AAAA,IACI,UAAU7E,EAAS;AAAA,EACvB,CAAG,GACKoG,KAAaC,GAAgBV,GAAqBI,CAAmB,GACrEzC,IAAY,EAAQtB,GACpBsE,IAAehD,KAAa,CAACP,KAAqBrD,EAAaY,CAAW,KAAKZ,EAAaa,CAAS,GACrGgG,IAA2B,CAAC/D,KAAkBG,GAC9C6D,IAAyBD,KAA4BD,IAAeJ,KAAY,MAEhFO,KAAiBH,IAAeE,MADrBvB,KAAwCI,GACgD;AAAA,IACvG,OAAOD;AAAA,IACP,gBAAA5E;AAAA,IACA,aAAAF;AAAA,IACA,WAAAC;AAAA,IACA,OAAAf;AAAA,EACJ,CAAG,IAAI,MACCgE,IAAW9D,EAAaY,CAAW,KAAKZ,EAAaa,CAAS,IAAIyE,EAAY;AAAA,IAClF,IAAAzF;AAAA,IACA,OAAAH;AAAA,IACA,aAAAkB;AAAA,IACA,WAAAC;AAAA,EACJ,CAAG,IAAIf,GACCkH,IAAW1E,KAAU,OAAO,SAASA,EAAO,IAC5C2E,IAAW9D,EAAO;AAAA,IACtB,UAAA6D;AAAA,IACA,OAAAtH;AAAA,IACA,UAAAoE;AAAA,IACA,aAAAlB;AAAA,EACJ,CAAG,GACKQ,KAAmB1D,MAAUuH,EAAS,QAAQ,OAC9CC,IAA6BhC,EAAqB;AAAA,IACtD,QAAA5C;AAAA,IACA,aAAAM;AAAA,IACA,YAAAK;AAAA,IACA,WAAAW;AAAA,IACA,IAAA/D;AAAA,IACA,OAAAC;AAAA,IACA,OAAAJ;AAAA,IACA,UAAUuH,EAAS,QAAQ;AAAA,IAC3B,eAAeA,EAAS,QAAQ;AAAA,IAChC,qBAAqBA,EAAS,QAAQ;AAAA,IACtC,YAAAhD;AAAA,IACA,aAAagD,EAAS,QAAQ,YAAY;AAAA,EAC9C,CAAG,GACKxC,IAAmBF,GAAoB;AAAA,IAC3C,UAAU,CAAC2C;AAAA,IACX,OAAApH;AAAA,IACA,MAAA0E;AAAA,IACA,MAAAzE;AAAA,EACJ,CAAG;AACD,SAAAwD,EAAU,MAAM;AACd,IAAIK,KAAaqD,EAAS,QAAQ,aAAanD,MAC7CmD,EAAS,QAAQ,WAAWnD,IAG1BlB,MAAgBqE,EAAS,QAAQ,gBACnCA,EAAS,QAAQ,cAAcrE,IAG7BlD,MAAUuH,EAAS,QAAQ,UAC7BA,EAAS,QAAQ,QAAQvH;AAAA,EAE7B,GAAG,CAACkE,GAAWE,GAAUlB,GAAalD,CAAK,CAAC,GAC5C6D,EAAU,MAAM;AACd,QAAIyD,MAAaC,EAAS,QAAQ;AAChC;AAGF,QAAID,KAAY,QAAQC,EAAS,QAAQ,YAAY,MAAM;AACzD,MAAAA,EAAS,QAAQ,WAAWD;AAC5B;AAAA,IACF;AAEA,UAAMG,KAAY,WAAW,MAAM;AACjC,MAAAF,EAAS,QAAQ,WAAWD;AAAA,IAC9B,GAAG,EAAE;AACL,WAAO,MAAM,aAAaG,EAAS;AAAA,EACrC,GAAG,CAACH,CAAQ,CAAC,GACN;AAAA,IACL,QAAA1E;AAAA,IACA,aAAA1B;AAAA,IACA,YAAAwF;AAAA,IACA,MAAAN;AAAA,IACA,MAAA/F;AAAA,IACA,OAAAD;AAAA,IACA,UAAAgE;AAAA,IACA,OAAApE;AAAA,IACA,QAAAsG;AAAA,IACA,WAAApC;AAAA,IACA,YAAAX;AAAA,IACA,WAAAqD;AAAA,IACA,MAAA9B;AAAA,IACA,WAAA3D;AAAA,IACA,MAAA4B;AAAA,IACA,YAAAiE;AAAA,IACA,qBAAAH;AAAA,IACA,qBAAAN;AAAA,IACA,qBAAAI;AAAA,IACA,WAAW5B,KAA8CsC;AAAA,IACzD,YAAYK,GAAa;AAAA,EAC7B;AAEE,WAASA,KAAgB;AACvB;AAAA;AAAA,MACA3C;AAAA,MACArB,MAAoB6D,EAAS,QAAQ,aAAanH;AAAA;AAChD,aAAOsE;AAGT,QAAI,EAAAyC,KAA4B,CAACQ,GAAgBlB,EAAc,KAAK,CAAClC,OAIjEL,KAAasD;AACf,aAAO7C,EAAI,WAAW,SAAS;AAAA,QAAE,GAAGJ;AAAA,QAClC,UAAUE;AAAA,MAClB,CAAO;AAAA,EAIL;AACF;AAEA,SAAS0B,GAAuBT,GAAeK,GAAgB;AAC7D,MAAI6B,GAAuBC;AAE3B,SAAI,OAAOnC,KAAkB,YACpB;AAAA,IACL,WAAWA;AAAA;AAAA,IAEX,WAAW;AAAA,EACjB,IAGS;AAAA,IACL,YAAYkC,IAAwBlC,KAAiB,OAAO,SAASA,EAAc,cAAc,OAAOkC,IAAwB7B,EAAe;AAAA,IAC/I,YAAY8B,IAAwBnC,KAAiB,OAAO,SAASA,EAAc,cAAc,OAAOmC,IAAwB9B,EAAe;AAAA,EACnJ;AACA;AAEA,SAAS+B,EAAgBC,GAAO;AAC9B,MAAI,CAACA;AACH,WAAO;AAGT,QAAM3B,IAAO2B,EAAM,KAAK;AAExB,SAAI,GAAA3B,KAAQ,cAAcA,KAAQ,OAAOA,EAAK,YAAa,YAAY,iBAAiBA,EAAK,YAAY,WAAWA,EAAK,YAAY,WAAWA,EAAK;AAKvJ;AAEA,MAAM4B,KAAa,CAACC,EAAa,MAAMA,EAAa,OAAOA,EAAa,IAAIA,EAAa,IAAI,GACvFC,KAA8B,CAACC,GAAOpH,MAAS;AACnD,MAAI;AAAA,IACF,SAAS;AAAA,MACP,QAAA6B;AAAA,MACA,eAAAwF;AAAA,MACA,gBAAAtF;AAAA,MACA,qBAAAuF;AAAA,MACA,MAAAtF;AAAA,MACA,qBAAAuF;AAAA,IACN;AAAA,EACA,IAAMvH;AAEJ,MAAIiH,GAAW,SAASG,EAAM,IAAI,GAAG;AAGnC,QAFAA,EAAM,eAAc,GAEhB,CAACvF,KAAU,CAACwF;AACd;AAGF,UAAMG,IAAqB,CAAA;AAC3B,IAAAF,EAAoB,WAAU,EAAG,QAAQ,CAAAN,MAAS;AAChD,UAAI,CAACA,KAASA,KAAS,QAAQA,EAAM;AACnC;AAGF,YAAM1H,IAAOyC,EAAe,IAAIiF,EAAM,EAAE;AAExC,UAAK1H;AAIL,gBAAQ8H,EAAM,MAAI;AAAA,UAChB,KAAKF,EAAa;AAChB,YAAIG,EAAc,MAAM/H,EAAK,OAC3BkI,EAAmB,KAAKR,CAAK;AAG/B;AAAA,UAEF,KAAKE,EAAa;AAChB,YAAIG,EAAc,MAAM/H,EAAK,OAC3BkI,EAAmB,KAAKR,CAAK;AAG/B;AAAA,UAEF,KAAKE,EAAa;AAChB,YAAIG,EAAc,OAAO/H,EAAK,QAC5BkI,EAAmB,KAAKR,CAAK;AAG/B;AAAA,UAEF,KAAKE,EAAa;AAChB,YAAIG,EAAc,OAAO/H,EAAK,QAC5BkI,EAAmB,KAAKR,CAAK;AAG/B;AAAA,QACV;AAAA,IACI,CAAC;AACD,UAAMS,IAAaC,GAAe;AAAA,MAEhC,eAAeL;AAAA,MACf,gBAAAtF;AAAA,MACA,qBAAqByF;AAAA,IAEvB,CAAC;AACD,QAAIG,IAAYC,GAAkBH,GAAY,IAAI;AAMlD,QAJIE,OAAe3F,KAAQ,OAAO,SAASA,EAAK,OAAOyF,EAAW,SAAS,MACzEE,IAAYF,EAAW,CAAC,EAAE,KAGxBE,KAAa,MAAM;AACrB,YAAME,IAAkBP,EAAoB,IAAIzF,EAAO,EAAE,GACnDiG,IAAeR,EAAoB,IAAIK,CAAS,GAChD5G,IAAU+G,IAAe/F,EAAe,IAAI+F,EAAa,EAAE,IAAI,MAC/DC,IAAUD,KAAgB,OAAO,SAASA,EAAa,KAAK;AAElE,UAAIC,KAAWhH,KAAW8G,KAAmBC,GAAc;AAEzD,cAAME,IADqBC,GAAuBF,CAAO,EACF,KAAK,CAACG,GAAS7I,MAAUkI,EAAoBlI,CAAK,MAAM6I,CAAO,GAChHC,IAAmBC,GAAgBP,GAAiBC,CAAY,GAChEO,IAAgBC,GAAQT,GAAiBC,CAAY,GACrDS,IAASP,KAA+B,CAACG,IAAmB;AAAA,UAChE,GAAG;AAAA,UACH,GAAG;AAAA,QACb,IAAY;AAAA,UACF,GAAGE,IAAgBhB,EAAc,QAAQtG,EAAQ,QAAQ;AAAA,UACzD,GAAGsH,IAAgBhB,EAAc,SAAStG,EAAQ,SAAS;AAAA,QACrE,GACcyH,IAAkB;AAAA,UACtB,GAAGzH,EAAQ;AAAA,UACX,GAAGA,EAAQ;AAAA,QACrB;AAEQ,eADuBwH,EAAO,KAAKA,EAAO,IAAIC,IAAkBC,GAASD,GAAiBD,CAAM;AAAA,MAElG;AAAA,IACF;AAAA,EACF;AAGF;AAEA,SAASH,GAAgB3I,GAAGC,GAAG;AAC7B,SAAI,CAACqH,EAAgBtH,CAAC,KAAK,CAACsH,EAAgBrH,CAAC,IACpC,KAGFD,EAAE,KAAK,QAAQ,SAAS,gBAAgBC,EAAE,KAAK,QAAQ,SAAS;AACzE;AAEA,SAAS4I,GAAQ7I,GAAGC,GAAG;AAKrB,SAJI,CAACqH,EAAgBtH,CAAC,KAAK,CAACsH,EAAgBrH,CAAC,KAIzC,CAAC0I,GAAgB3I,GAAGC,CAAC,IAChB,KAGFD,EAAE,KAAK,QAAQ,SAAS,QAAQC,EAAE,KAAK,QAAQ,SAAS;AACjE;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { useRef as o, useMemo as l, useLayoutEffect as R, useEffect as g, useCallback as i } from "react";
1
+ import { useMemo as l, useLayoutEffect as R, useEffect as g, useRef as o, useCallback as i } from "react";
2
2
  function Y() {
3
3
  for (var n = arguments.length, t = new Array(n), e = 0; e < n; e++)
4
4
  t[e] = arguments[e];
@@ -0,0 +1,36 @@
1
+ import * as r from "react";
2
+ import { flushSync as c } from "react-dom";
3
+ import { Virtualizer as f, elementScroll as i, observeElementOffset as m, observeElementRect as d } from "../../../../../../@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js";
4
+ import { defaultKeyExtractor as R, defaultRangeExtractor as g, measureElement as z } from "../../../../../../@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js";
5
+ const a = typeof document < "u" ? r.useLayoutEffect : r.useEffect;
6
+ function p(e) {
7
+ const n = r.useReducer(() => ({}), {})[1], o = {
8
+ ...e,
9
+ onChange: (l, u) => {
10
+ var s;
11
+ u ? c(n) : n(), (s = e.onChange) == null || s.call(e, l, u);
12
+ }
13
+ }, [t] = r.useState(
14
+ () => new f(o)
15
+ );
16
+ return t.setOptions(o), a(() => t._didMount(), []), a(() => t._willUpdate()), t;
17
+ }
18
+ function h(e) {
19
+ return p({
20
+ observeElementRect: d,
21
+ observeElementOffset: m,
22
+ scrollToFn: i,
23
+ ...e
24
+ });
25
+ }
26
+ export {
27
+ f as Virtualizer,
28
+ R as defaultKeyExtractor,
29
+ g as defaultRangeExtractor,
30
+ i as elementScroll,
31
+ z as measureElement,
32
+ m as observeElementOffset,
33
+ d as observeElementRect,
34
+ h as useVirtualizer
35
+ };
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../../../../node_modules/.bun/@tanstack+react-virtual@3.11.2+6f4b9a1cfb20c0ae/node_modules/@tanstack/react-virtual/dist/esm/index.js"],"sourcesContent":["import * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { observeElementRect, observeElementOffset, elementScroll, observeWindowRect, observeWindowOffset, windowScroll, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nconst useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction useVirtualizerBase(options) {\n const rerender = React.useReducer(() => ({}), {})[1];\n const resolvedOptions = {\n ...options,\n onChange: (instance2, sync) => {\n var _a;\n if (sync) {\n flushSync(rerender);\n } else {\n rerender();\n }\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance2, sync);\n }\n };\n const [instance] = React.useState(\n () => new Virtualizer(resolvedOptions)\n );\n instance.setOptions(resolvedOptions);\n useIsomorphicLayoutEffect(() => {\n return instance._didMount();\n }, []);\n useIsomorphicLayoutEffect(() => {\n return instance._willUpdate();\n });\n return instance;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n"],"names":["useIsomorphicLayoutEffect","React","useVirtualizerBase","options","rerender","resolvedOptions","instance2","sync","_a","flushSync","instance","Virtualizer","useVirtualizer","observeElementRect","observeElementOffset","elementScroll"],"mappings":";;;;AAIA,MAAMA,IAA4B,OAAO,WAAa,MAAcC,EAAM,kBAAkBA,EAAM;AAClG,SAASC,EAAmBC,GAAS;AACnC,QAAMC,IAAWH,EAAM,WAAW,OAAO,CAAA,IAAK,CAAA,CAAE,EAAE,CAAC,GAC7CI,IAAkB;AAAA,IACtB,GAAGF;AAAA,IACH,UAAU,CAACG,GAAWC,MAAS;AAC7B,UAAIC;AACJ,MAAID,IACFE,EAAUL,CAAQ,IAElBA,EAAQ,IAETI,IAAKL,EAAQ,aAAa,QAAgBK,EAAG,KAAKL,GAASG,GAAWC,CAAI;AAAA,IAC7E;AAAA,EACJ,GACQ,CAACG,CAAQ,IAAIT,EAAM;AAAA,IACvB,MAAM,IAAIU,EAAYN,CAAe;AAAA,EACzC;AACE,SAAAK,EAAS,WAAWL,CAAe,GACnCL,EAA0B,MACjBU,EAAS,UAAS,GACxB,CAAA,CAAE,GACLV,EAA0B,MACjBU,EAAS,YAAW,CAC5B,GACMA;AACT;AACA,SAASE,EAAeT,GAAS;AAC/B,SAAOD,EAAmB;AAAA,IACxB,oBAAAW;AAAA,IACA,sBAAAC;AAAA,IACA,YAAYC;AAAA,IACZ,GAAGZ;AAAA,EACP,CAAG;AACH;","x_google_ignoreList":[0]}