diff --git a/common/http/config.ts b/common/http/config.ts index 60dd20c..8306e16 100644 --- a/common/http/config.ts +++ b/common/http/config.ts @@ -4,6 +4,7 @@ export default { base_scm:'http://192.168.1.222:7002', base_auth:'https://cloud.goodsilk.cn/auth',//登录 base_mes:'https://cloud.goodsilk.cn/mes',//面料 + base_process:'http://120.26.196.222:8981',//工艺 //本地服务 diff --git a/common/http/interface.ts b/common/http/interface.ts index 2b06829..7abe20b 100644 --- a/common/http/interface.ts +++ b/common/http/interface.ts @@ -24,6 +24,8 @@ function httpRequest(url : string, method : any, data = {}, headerCustom = {}) { base_url=myconfig.base_auth }else if(url==='/fabric/info/all'){ base_url=myconfig.base_mes + }else if(url.includes('fabric/craft')){ + base_url=myconfig.base_process }else{ base_url=myconfig.base_scm } diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 7dab3f9..ecf15bd 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -65,6 +65,11 @@ "resolved": "https://registry.npmmirror.com/@types/emscripten/-/emscripten-1.39.13.tgz", "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" }, + "node_modules/@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==" + }, "node_modules/@vant/area-data": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/@vant/area-data/-/area-data-2.0.0.tgz", @@ -324,6 +329,22 @@ } } }, + "node_modules/vue-draggable-plus": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.6.0.tgz", + "integrity": "sha512-G5TSfHrt9tX9EjdG49InoFJbt2NYk0h3kgjgKxkFWr3ulIUays0oFObr5KZ8qzD4+QnhtALiRwIqY6qul4egqw==", + "dependencies": { + "@types/sortablejs": "^1.15.8" + }, + "peerDependencies": { + "@types/sortablejs": "^1.15.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vue-qrcode-reader": { "version": "5.6.0", "resolved": "https://registry.npmmirror.com/vue-qrcode-reader/-/vue-qrcode-reader-5.6.0.tgz", diff --git a/node_modules/@types/sortablejs/LICENSE b/node_modules/@types/sortablejs/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/sortablejs/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/sortablejs/README.md b/node_modules/@types/sortablejs/README.md new file mode 100644 index 0000000..cd28464 --- /dev/null +++ b/node_modules/@types/sortablejs/README.md @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/sortablejs` + +# Summary +This package contains type definitions for sortablejs (https://github.com/RubaXa/Sortable). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sortablejs. + +### Additional Details + * Last updated: Sat, 17 Feb 2024 02:11:20 GMT + * Dependencies: none + +# Credits +These definitions were written by [Maw-Fox](https://github.com/Maw-Fox), [Maarten Staa](https://github.com/maartenstaa), and [Wayne Van Son](https://github.com/waynevanson). diff --git a/node_modules/@types/sortablejs/index.d.ts b/node_modules/@types/sortablejs/index.d.ts new file mode 100644 index 0000000..9953e03 --- /dev/null +++ b/node_modules/@types/sortablejs/index.d.ts @@ -0,0 +1,528 @@ +import { + AutoScrollOptions, + AutoScrollPlugin, + MultiDragOptions, + MultiDragPlugin, + OnSpillOptions, + OnSpillPlugin, + SortablePlugin, + SwapOptions, + SwapPlugin, +} from "./plugins"; + +export = Sortable; + +declare class Sortable { + public options: Sortable.Options; + public el: HTMLElement; + + /** + * Sortable's main constructor. + * @param element Any variety of HTMLElement. + * @param options Sortable options object. + */ + constructor(element: HTMLElement, options: Sortable.Options); + + static active: Sortable | null; + static utils: Sortable.Utils; + + /** + * Mounts a plugin to Sortable + * @param sortablePlugin a sortable plugin. + * + * @example + * + * Sortable.mount(new MultiDrag(), new AutoScroll()) + */ + static mount(...sortablePlugins: SortablePlugin[]): void; + + /** + * Creation of new instances. + * @param element Any variety of HTMLElement. + * @param options Sortable options object. + */ + static create(element: HTMLElement, options?: Sortable.Options): Sortable; + + /** The element being dragged. */ + static dragged: HTMLElement | null; + + /** The ghost element.*/ + static ghost: HTMLElement | null; + + /** The clone element. */ + static clone: HTMLElement | null; + + /** Get the Sortable instance on an element. */ + static get(element: HTMLElement): Sortable | undefined; + + /** Get the Sortable version */ + static readonly version: string; + + /** + * Options getter/setter + * @param name a Sortable.Options property. + * @param value a value. + */ + option(name: K, value: Sortable.Options[K]): void; + option(name: K): Sortable.Options[K]; + + /** + * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. + * @param element an HTMLElement or selector string. + * @param selector default: `options.draggable` + */ + closest(element: HTMLElement, selector?: string): HTMLElement | null; + + /** + * Sorts the elements according to the array. + * @param order an array of strings to sort. + * @param useAnimation default: false. + */ + sort(order: readonly string[], useAnimation?: boolean): void; + + /** + * Saving and restoring of the sort. + */ + save(): void; + + /** + * Removes the sortable functionality completely. + */ + destroy(): void; + + /** + * Serializes the sortable's item data-id's (dataIdAttr option) into an array of string. + */ + toArray(): string[]; +} + +declare namespace Sortable { + export interface Options + extends SortableOptions, AutoScrollOptions, MultiDragOptions, OnSpillOptions, SwapOptions + {} + + /** + * A class that all plugins inherit from for the sake of type inference. + */ + export class Plugin extends SortablePlugin {} + export class MultiDrag extends MultiDragPlugin {} + export class AutoScroll extends AutoScrollPlugin {} + export class Swap extends SwapPlugin {} + export class OnSpill extends OnSpillPlugin {} + + export interface SortableEvent extends Event { + clone: HTMLElement; + /** + * previous list + */ + from: HTMLElement; + /** + * dragged element + */ + item: HTMLElement; + /** + * dragged elements + */ + items: HTMLElement[]; + /** + * new index within parent + */ + newIndex: number | undefined; + /** + * old index within parent + */ + oldIndex: number | undefined; + target: HTMLElement; + /** + * list, in which moved element. + */ + to: HTMLElement; + /** + * Old index within parent, only counting draggable elements + */ + oldDraggableIndex: number | undefined; + /** + * New index within parent, only counting draggable elements + */ + newDraggableIndex: number | undefined; + /** + * Pull mode if dragging into another sortable + */ + pullMode: "clone" | boolean | undefined; + /** + * When MultiDrag is used to sort, this holds a HTMLElement and oldIndex for each item selected. + * + * `oldIndicies[number]` is directly related to `newIndicies[number]` + * + * If MultiDrag is not used to sort, this array will be empty. + */ + oldIndicies: Array<{ multiDragElement: HTMLElement; index: number }>; + /** + * When MultiDrag is used to sort, this holds a HTMLElement and newIndex for each item. + * + * `oldIndicies[number]` is directly related to `newIndicies[number]` + * + * If MultiDrag is not used to sort, this array will be empty. + */ + newIndicies: Array<{ multiDragElement: HTMLElement; index: number }>; + /** When Swap is used to sort, this will contain the dragging item that was dropped on.*/ + swapItem: HTMLElement | null; + } + + export interface MoveEvent extends Event { + dragged: HTMLElement; + draggedRect: DOMRect; + from: HTMLElement; + /** + * element on which have guided + */ + related: HTMLElement; + relatedRect: DOMRect; + to: HTMLElement; + willInsertAfter?: boolean | undefined; + } + + type PullResult = readonly string[] | boolean | "clone"; + type PutResult = readonly string[] | boolean; + export interface GroupOptions { + /** + * group name + */ + name: string; + /** + * ability to move from the list. clone — copy the item, rather than move. + */ + pull?: + | PullResult + | ((to: Sortable, from: Sortable, dragEl: HTMLElement, event: SortableEvent) => PullResult) + | undefined; + /** + * whether elements can be added from other lists, or an array of group names from which elements can be taken. + */ + put?: + | PutResult + | ((to: Sortable, from: Sortable, dragEl: HTMLElement, event: SortableEvent) => PutResult) + | undefined; + /** + * a canonical version of pull, created by Sortable + */ + checkPull?: + | (( + sortable: Sortable, + activeSortable: Sortable, + dragEl: HTMLElement, + event: SortableEvent, + ) => boolean | string | string[]) + | undefined; + /** + * a canonical version of put, created by Sortable + */ + checkPut?: + | (( + sortable: Sortable, + activeSortable: Sortable, + dragEl: HTMLElement, + event: SortableEvent, + ) => boolean | string | "clone" | string[]) + | undefined; + /** + * revert cloned element to initial position after moving to a another list. + */ + revertClone?: boolean | undefined; + } + type Direction = "vertical" | "horizontal"; + export interface SortableOptions { + /** + * ms, animation speed moving items when sorting, `0` — without animation + */ + animation?: number | undefined; + /** + * Class name for the chosen item + */ + chosenClass?: string | undefined; + dataIdAttr?: string | undefined; + /** + * time in milliseconds to define when the sorting should start + */ + delay?: number | undefined; + /** + * Only delay if user is using touch + */ + delayOnTouchOnly?: boolean | undefined; + /** + * Direction of Sortable + * (will be detected automatically if not given) + */ + direction?: + | ((evt: SortableEvent, target: HTMLElement, dragEl: HTMLElement) => Direction) + | Direction + | undefined; + /** + * Disables the sortable if set to true. + */ + disabled?: boolean | undefined; + /** + * Class name for the dragging item + */ + dragClass?: string | undefined; + /** + * Specifies which items inside the element should be draggable + */ + draggable?: string | undefined; + dragoverBubble?: boolean | undefined; + dropBubble?: boolean | undefined; + /** + * distance mouse must be from empty sortable + * to insert drag element into it + */ + emptyInsertThreshold?: number | undefined; + + /** + * Easing for animation. Defaults to null. + * + * See https://easings.net/ for examples. + * + * For other possible values, see + * https://www.w3schools.com/cssref/css3_pr_animation-timing-function.asp + * + * @example + * + * // CSS functions + * | 'steps(int, start | end)' + * | 'cubic-bezier(n, n, n, n)' + * + * // CSS values + * | 'linear' + * | 'ease' + * | 'ease-in' + * | 'ease-out' + * | 'ease-in-out' + * | 'step-start' + * | 'step-end' + * | 'initial' + * | 'inherit' + */ + easing?: string | undefined; + /** + * Class name for the cloned DOM Element when using forceFallback + */ + fallbackClass?: string | undefined; + /** + * Appends the cloned DOM Element into the Document's Body + */ + fallbackOnBody?: boolean | undefined; + /** + * Specify in pixels how far the mouse should move before it's considered as a drag. + */ + fallbackTolerance?: number | undefined; + fallbackOffset?: { x: number; y: number } | undefined; + /** + * Selectors that do not lead to dragging (String or Function) + */ + filter?: + | string + | ((this: Sortable, event: Event | TouchEvent, target: HTMLElement, sortable: Sortable) => boolean) + | undefined; + /** + * ignore the HTML5 DnD behaviour and force the fallback to kick in + */ + forceFallback?: boolean | undefined; + /** + * Class name for the drop placeholder + */ + ghostClass?: string | undefined; + /** + * To drag elements from one list into another, both lists must have the same group value. + * You can also define whether lists can give away, give and keep a copy (clone), and receive elements. + */ + group?: string | GroupOptions | undefined; + /** + * Drag handle selector within list items + */ + handle?: string | undefined; + ignore?: string | undefined; + /** + * Will always use inverted swap zone if set to true + */ + invertSwap?: boolean | undefined; + /** + * Threshold of the inverted swap zone + * (will be set to `swapThreshold` value by default) + */ + invertedSwapThreshold?: number | undefined; + /** + * Call `event.preventDefault()` when triggered `filter` + */ + preventOnFilter?: boolean | undefined; + /** + * Remove the clone element when it is not showing, + * rather than just hiding it + */ + removeCloneOnHide?: boolean | undefined; + /** + * sorting inside list + */ + sort?: boolean | undefined; + store?: { + get: (sortable: Sortable) => string[]; + set: (sortable: Sortable) => void; + } | undefined; + /** + * Threshold of the swap zone. + * Defaults to `1` + */ + swapThreshold?: number | undefined; + /** + * How many *pixels* the point should move before cancelling a delayed drag event + */ + touchStartThreshold?: number | undefined; + + setData?: ((dataTransfer: DataTransfer, draggedElement: HTMLElement) => void) | undefined; + /** + * Element dragging started + */ + onStart?: ((event: SortableEvent) => void) | undefined; + /** + * Element dragging ended + */ + onEnd?: ((event: SortableEvent) => void) | undefined; + /** + * Element is dropped into the list from another list + */ + onAdd?: ((event: SortableEvent) => void) | undefined; + /** + * Created a clone of an element + */ + onClone?: ((event: SortableEvent) => void) | undefined; + /** + * Element is chosen + */ + onChoose?: ((event: SortableEvent) => void) | undefined; + /** + * Element is unchosen + */ + onUnchoose?: ((event: SortableEvent) => void) | undefined; + /** + * Changed sorting within list + */ + onUpdate?: ((event: SortableEvent) => void) | undefined; + /** + * Called by any change to the list (add / update / remove) + */ + onSort?: ((event: SortableEvent) => void) | undefined; + /** + * Element is removed from the list into another list + */ + onRemove?: ((event: SortableEvent) => void) | undefined; + /** + * Attempt to drag a filtered element + */ + onFilter?: ((event: SortableEvent) => void) | undefined; + /** + * Event when you move an item in the list or between lists + */ + // eslint-disable-next-line @typescript-eslint/no-invalid-void-type + onMove?: ((evt: MoveEvent, originalEvent: Event) => boolean | -1 | 1 | void) | undefined; + /** + * Called when dragging element changes position + */ + onChange?: ((evt: SortableEvent) => void) | undefined; + } + + interface Utils { + /** + * Attach an event handler function + * @param element an HTMLElement. + * @param event an Event context. + * @param fn + */ + on(element: HTMLElement, event: string, fn: EventListenerOrEventListenerObject): void; + + /** + * Remove an event handler function + * @param element an HTMLElement. + * @param event an Event context. + * @param fn a callback. + */ + off(element: HTMLElement, event: string, fn: EventListenerOrEventListenerObject): void; + + /** + * Get the values of all the CSS properties. + * @param element an HTMLElement. + */ + css(element: HTMLElement): CSSStyleDeclaration; + + /** + * Get the value of style properties. + * @param element an HTMLElement. + * @param prop a property key. + */ + css(element: HTMLElement, prop: K): CSSStyleDeclaration[K]; + + /** + * Set one CSS property. + * @param element an HTMLElement. + * @param prop a property key. + * @param value a property value. + */ + css(element: HTMLElement, prop: K, value: CSSStyleDeclaration[K]): void; + + /** + * Get elements by tag name. + * @param context an HTMLElement. + * @param tagName A tag name. + * @param iterator An iterator. + */ + find( + context: HTMLElement, + tagName: string, + iterator?: (value: HTMLElement, index: number) => void, + ): NodeListOf; + + /** + * Check the current matched set of elements against a selector. + * @param element an HTMLElement. + * @param selector an element selector. + */ + is(element: HTMLElement, selector: string): boolean; + + /** + * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. + * @param element an HTMLElement. + * @param selector an element seletor. + * @param context a specific element's context. + */ + closest(element: HTMLElement, selector: string, context?: HTMLElement): HTMLElement | null; + + /** + * Add or remove one classes from each element + * @param element an HTMLElement. + * @param name a class name. + * @param state a class's state. + */ + toggleClass(element: HTMLElement, name: string, state: boolean): void; + + /** + * Selects the provided multi-drag item + * @param element The element to be selected + */ + select(element: HTMLElement): void; + + /** + * Deselects the provided multi-drag item + * @param element The element to be deselected + */ + deselect(element: HTMLElement): void; + } + + interface DOMRect { + bottom: number; + height: number; + left: number; + right: number; + top: number; + width: number; + x: number; + y: number; + } +} diff --git a/node_modules/@types/sortablejs/package.json b/node_modules/@types/sortablejs/package.json new file mode 100644 index 0000000..b9ff972 --- /dev/null +++ b/node_modules/@types/sortablejs/package.json @@ -0,0 +1,35 @@ +{ + "name": "@types/sortablejs", + "version": "1.15.8", + "description": "TypeScript definitions for sortablejs", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sortablejs", + "license": "MIT", + "contributors": [ + { + "name": "Maw-Fox", + "githubUsername": "Maw-Fox", + "url": "https://github.com/Maw-Fox" + }, + { + "name": "Maarten Staa", + "githubUsername": "maartenstaa", + "url": "https://github.com/maartenstaa" + }, + { + "name": "Wayne Van Son", + "githubUsername": "waynevanson", + "url": "https://github.com/waynevanson" + } + ], + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/sortablejs" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "9f337276197ef6915450f3a537e3c8444bd9f93ed0bcb6256725d73cbfa34bbb", + "typeScriptVersion": "4.6" +} \ No newline at end of file diff --git a/node_modules/@types/sortablejs/plugins.d.ts b/node_modules/@types/sortablejs/plugins.d.ts new file mode 100644 index 0000000..b8920ca --- /dev/null +++ b/node_modules/@types/sortablejs/plugins.d.ts @@ -0,0 +1,105 @@ +import * as Sortable from "./index"; +import { SortableEvent } from "./index"; + +declare class SortablePlugin {} +declare class AutoScrollPlugin {} +declare class OnSpillPlugin {} +declare class MultiDragPlugin {} +declare class SwapPlugin {} + +export interface AutoScrollOptions { + /** + * Enable the plugin. Can be `HTMLElement`. + */ + scroll?: boolean | HTMLElement | undefined; + /** + * force the autoscroll fallback to kick in + */ + forceAutoScrollFallback?: boolean | undefined; + /** + * if you have custom scrollbar scrollFn may be used for autoscrolling. + */ + scrollFn?: + | (( + this: Sortable, + offsetX: number, + offsetY: number, + originalEvent: Event, + touchEvt: TouchEvent, + hoverTargetEl: HTMLElement, + // eslint-disable-next-line @typescript-eslint/no-invalid-void-type + ) => "continue" | void) + | undefined; + /** + * `px`, how near the mouse must be to an edge to start scrolling. + */ + scrollSensitivity?: number | undefined; + /** + * `px`, speed of the scrolling.` + */ + scrollSpeed?: number | undefined; + /** + * apply autoscroll to all parent elements, allowing for easier movement. + */ + bubbleScroll?: boolean | undefined; +} +export interface OnSpillOptions { + /** + * This plugin, when enabled, + * will cause the dragged item to be reverted to it's original position if it is *spilled* + * (ie. it is dropped outside of a valid Sortable drop target) + */ + revertOnSpill?: boolean | undefined; + /** + * This plugin, when enabled, + * will cause the dragged item to be removed from the DOM if it is *spilled* + * (ie. it is dropped outside of a valid Sortable drop target) + */ + removeOnSpill?: boolean | undefined; + /** + * Called when either `revertOnSpill` or `RemoveOnSpill` plugins are enabled. + */ + onSpill?: ((evt: SortableEvent) => void) | undefined; +} +export interface MultiDragOptions { + /** + * Enable the plugin + */ + multiDrag?: boolean | undefined; + /** + * Class name for selected item + */ + selectedClass?: string | undefined; + /** + * The key that must be down for multiple items to be selected. + * The default is null, meaning no key must be down. + * For special keys, such as the CTRL key, + * simply specify the option as 'CTRL' (casing does not matter). + */ + multiDragKey?: null | undefined | string; + + /** + * If you don't want to deselect items on outside click + */ + avoidImplicitDeselect?: boolean | undefined; + + /** + * Called when an item is selected + */ + onSelect?: ((event: SortableEvent) => void) | undefined; + + /** + * Called when an item is deselected + */ + onDeselect?: ((event: SortableEvent) => void) | undefined; +} +export interface SwapOptions { + /** + * Enable swap mode + */ + swap?: boolean | undefined; + /** + * Class name for swap item (if swap mode is enabled) + */ + swapClass?: string | undefined; +} diff --git a/node_modules/vue-draggable-plus/LICENSE b/node_modules/vue-draggable-plus/LICENSE new file mode 100644 index 0000000..fc7e52e --- /dev/null +++ b/node_modules/vue-draggable-plus/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 丶远方 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/vue-draggable-plus/README.md b/node_modules/vue-draggable-plus/README.md new file mode 100644 index 0000000..113f5c7 --- /dev/null +++ b/node_modules/vue-draggable-plus/README.md @@ -0,0 +1,321 @@ +

+ +

+NPM version +NPM Downloads +Docs & Demos +
+GitHub stars +

+ +# vue-draggable-plus + +[中文文档](https://vue-draggable-plus.pages.dev/) + + +Drag and drop sorting module, support Vue>=v3 or Vue>=2.7 + +[Example of use](https://stackblitz.com/edit/github-b2xatc-qe8qxj?file=src%2FApp.vue) + +## Describe + +Since the `vue3` component of `Sortablejs` has not been updated, it has been seriously out of touch with `vue3`, so this project was born. This component is based on `Sortablejs`, so if you want to know more about `Sortablejs`, you can check it out [`Sortablejs` official website](https://github.com/SortableJS/Sortable) + +We have encapsulated a variety of usages for this, you can use components, function, or instructions, there is always one that suits you + +## Solve pain points + +In `Sortablejs` official `Vue` components in the past, the drag-and-drop list is implemented by using the component as a direct child element of the list. When we use some component libraries, if there is no slot for the root element of the list in the component library , it is difficult for us to implement a drag list, vue-draggable-plus perfectly solves this problem, it allows you to use a drag list on any element, we can use the selector of the specified element to get the root element of the list, and then Use the root element of the list as `container` of `Sortablejs`, for details, refer to [specify target container](/src/__docs__/target-container/). + + +## Install + +```bash + +npm install vue-draggable-plus + +``` + +## Usage + +### Component usage + +```vue + + + +``` + +### Function Usage + +```vue + + + +``` + +### Directive Usage + +```vue + + + +``` + + + +## Explanation + +All event functions starting with `on` can be passed to components using `v-on`. For example: + +```vue + + + + +``` + +> For information on using Hooks and directives, please refer to the documentation. + +## Options + +`Options` inherits all configuration items from `Sortablejs`. For details, please see the [`Sortablejs` official documentation](https://github.com/SortableJS/Sortable). + +### Types +```ts +type Easing = + | 'steps(int, start | end)' + | 'cubic-bezier(n, n, n, n)' + | 'linear' + | 'ease' + | 'ease-in' + | 'ease-out' + | 'ease-in-out' + | 'step-start' + | 'step-end' + | 'initial' + | 'inherit' + +type PullResult = ReadonlyArray | boolean | 'clone'; +type PutResult = ReadonlyArray | boolean; + +interface GroupOptions { + /** + * Group name. + */ + name: string; + /** + * The ability to move from the list. Clone - copy the item instead of moving it. + */ + pull?: PullResult | ((to: Sortable, from: Sortable, dragEl: HTMLElement, event: SortableEvent) => PullResult) | undefined; + /** + * Whether elements can be added from other lists, or an array of group names from which elements can be obtained. + */ + put?: PutResult | ((to: Sortable, from: Sortable, dragEl: HTMLElement, event: SortableEvent) => PutResult) | undefined; + /** + * After moving to another list, the cloned element is restored to its initial position. + */ + revertClone?: boolean | undefined; +} + +type Group = string | GroupOptions | undefined; + +type ScrollFn = (( + this: Sortable, + offsetX: number, + offsetY: number, + originalEvent: Event, + touchEvt: TouchEvent, + hoverTargetEl: HTMLElement, + ) => 'continue' | void) | undefined; +``` + +## API + +| Parameter | Description | Type | Default | +|-------------------------|---------------------------------------------------------------------------------------------|-------------------------------------------------------|----------------------| +| animation | Show animation while dragging | `Number` | 0 | +| chosenClass | CSS class name for chosen item | `String` | 'sortable-chosen' | +| delay | Delay in milliseconds before drag starts | `Number` | 0 | +| delayOnTouchOnly | Delay on touch event | `Number` | 0 | +| direction | Dragging direction, 'vertical' or 'horizontal' (default auto detect) | `String` | - | +| disabled | Disable dragging | `Boolean` | false | +| dragClass | CSS class name for dragged item | `String` | 'sortable-drag' | +| draggable | Selector for draggable items within element | `String` | - | +| emptyInsertThreshold | Distance (in pixels) from empty sortable items where dragging element should be inserted. Set to `0` to disable this feature. | `Number` | 5 | +| easing | Animation easing | `Easing` | - | +| fallbackClass | CSS class name for cloned DOM elements when using forceFallback | `String` | `sortable-fallback` | +| fallbackOnBody | Append cloned DOM element to body element | `Boolean` | `false` | +| fallbackTolerance | Pixels mouse must move before drag start when using forceFallback | `Number` | 0 | +| filter | Selector for items that should not be draggable | `String` | - | +| forceFallback | Ignore HTML5 drag and drop behavior and force fallback | `Boolean` | `false` | +| ghostClass | CSS class name for drop placeholder | `String` | 'sortable-ghost' | +| group | Group items to drag between sortable lists. Both lists must have the same `group` value. Also define whether lists can be dragged out of, cloned, or receive elements from other lists. See TypeScript type definition above for details. | `Group` | - | +| handle | Selector for handle to initiate drag. If not set, the target element's children are used | `String` | - | +| invertSwap | Always use inverted swap zone if set to true | `Boolean` | `false` | +| invertedSwapThreshold | Inverted swap zone threshold, defaults to `swapThreshold` value | `Number` | - | +| preventOnFilter | Call `event.preventDefault()` on filter event | `Boolean` | `true` | +| removeCloneOnHide | Remove instead of hiding cloned element when not displayed | `Boolean` | `true` | +| sort | Allow list items to be sorted within container | `Boolean` | `true` | +| swapThreshold | Swap zone threshold | `Number` | 1 | +| touchStartThreshold | Pixels before cancelling delay touch event | `Number` | 1 | +| setData | Pass a function where the first argument is of type `DataTransfer` and the second argument is of type `HTMLElement` | `Function` | - | +| scroll | Enable scrolling | `Boolean` | `HTMLElement` | `true` | +| scrollFn | Custom scroll function | `ScrollFn` | - | +| scrollSensitivity | The distance in pixels the mouse must be to the edge to start scrolling | `Number` | - | +| scrollSpeed | The scrolling speed in ms/px | `number` | - | +| bubbleScroll | Enables automatic scrolling for all parent elements to make it easier to move items | `Boolean` | `true` | +| onChoose | Triggered when an item is selected | `((event: SortableEvent) => void)` | - | +| onUnchoose | Triggered when an item is deselected | `((event: SortableEvent) => void)` | - | +| onStart | Triggered when an item is picked up for drag and drop | `((event: SortableEvent) => void)` | - | +| onEnd | Triggered when an item is no longer being dragged | `((event: SortableEvent) => void)` | - | +| onAdd | Triggered when an item is moved from one list to another | `((event: SortableEvent) => void)` | - | +| onUpdate | Triggered when the order of the items is updated | `((event: SortableEvent) => void)` | - | +| onSort | Triggered whenever any changes are made to the list | `((event: SortableEvent) => void)` | - | +| onRemove | Triggered when an item is removed from the list and moved to another | `((event: SortableEvent) => void)` | - | +| onFilter | Triggered when trying to drag a filtered item | `((event: SortableEvent) => void)` | - | +| onMove | Triggered while an item is being dragged | `((event: MoveEvent,originalEvent: Event) => void)` | - | +| onClone | Triggered when an item is cloned | `((event: SortableEvent) => void)` | - | +| onChange | Triggered when an item is dragged and changes position | `((event: SortableEvent) => void)` | - | diff --git a/node_modules/vue-draggable-plus/dist/component.d.ts b/node_modules/vue-draggable-plus/dist/component.d.ts new file mode 100644 index 0000000..108aec0 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/component.d.ts @@ -0,0 +1,8 @@ +import { UseDraggableOptions } from './useDraggable'; +interface IProps extends UseDraggableOptions { + modelValue: any[]; + tag?: string; + target?: string; +} +export declare const VueDraggable: import("vue").DefineComponent, {}, {}>; +export {}; diff --git a/node_modules/vue-draggable-plus/dist/directive.d.ts b/node_modules/vue-draggable-plus/dist/directive.d.ts new file mode 100644 index 0000000..e567d11 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/directive.d.ts @@ -0,0 +1,9 @@ +import type { ObjectDirective } from 'vue'; +import type { MaybeRef } from './types'; +import { UseDraggableOptions } from './useDraggable'; +type VDraggableBinding = [ + list: MaybeRef, + options?: MaybeRef> +]; +export declare const vDraggable: ObjectDirective>; +export {}; diff --git a/node_modules/vue-draggable-plus/dist/index.d.ts b/node_modules/vue-draggable-plus/dist/index.d.ts new file mode 100644 index 0000000..6ac63c7 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/index.d.ts @@ -0,0 +1,4 @@ +export * from './component'; +export * from './directive'; +export * from './useDraggable'; +export * from './types'; diff --git a/node_modules/vue-draggable-plus/dist/types/index.d.ts b/node_modules/vue-draggable-plus/dist/types/index.d.ts new file mode 100644 index 0000000..663af47 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/types/index.d.ts @@ -0,0 +1,13 @@ +import type { Ref, ShallowRef, WritableComputedRef } from 'vue'; +export { type Options, type SortableEvent } from 'sortablejs'; +/** + * @deprecated Use MaybeRef instead + */ +export type RefOrValue = T | Ref; +/** + * copied from vueuse: https://github.com/vueuse/vueuse/blob/main/packages/shared/tryOnUnmounted/index.ts + * Maybe it's a ref, or a plain value. + */ +export type MaybeRef = T | Ref | ShallowRef | WritableComputedRef; +export type RefOrElement = T | Ref | string; +export type Fn = (...args: any[]) => any; diff --git a/node_modules/vue-draggable-plus/dist/useDraggable.d.ts b/node_modules/vue-draggable-plus/dist/useDraggable.d.ts new file mode 100644 index 0000000..6c86270 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/useDraggable.d.ts @@ -0,0 +1,38 @@ +import Sortable, { type Options, type SortableEvent } from 'sortablejs'; +import { type Ref } from 'vue'; +import type { RefOrElement, MaybeRef } from './types'; +declare const CLONE_ELEMENT_KEY: unique symbol; +export interface DraggableEvent extends SortableEvent { + item: HTMLElement & { + [CLONE_ELEMENT_KEY]: any; + }; + data: T; + clonedData: T; +} +type SortableMethod = 'closest' | 'save' | 'toArray' | 'destroy' | 'option'; +export interface UseDraggableReturn extends Pick { + /** + * Start the sortable. + * @param {HTMLElement} target - The target element to be sorted. + * @default By default the root element of the VueDraggablePlus instance is used + */ + start: (target?: HTMLElement) => void; + pause: () => void; + resume: () => void; +} +export interface UseDraggableOptions extends Options { + clone?: (element: T) => T; + immediate?: boolean; + customUpdate?: (event: SortableEvent) => void; +} +/** + * A custom compositionApi utils that allows you to drag and drop elements in lists. + * @param el + * @param {Array} list - The list to be dragged + * @param {Object} options - The options of the sortable + * @returns {Object} - The return of the sortable + */ +export declare function useDraggable(el: RefOrElement, list?: Ref, options?: MaybeRef>): UseDraggableReturn; +export declare function useDraggable(el: null | undefined, list?: Ref, options?: MaybeRef>): UseDraggableReturn; +export declare function useDraggable(el: RefOrElement, options?: MaybeRef>): UseDraggableReturn; +export {}; diff --git a/node_modules/vue-draggable-plus/dist/utils/index.d.ts b/node_modules/vue-draggable-plus/dist/utils/index.d.ts new file mode 100644 index 0000000..694b10e --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/utils/index.d.ts @@ -0,0 +1,100 @@ +/** + * Moves an element in an array from one position to another. + * @param {T[]} array + * @param {number} from + * @param {number} to + * @returns {T[]} + */ +export declare function moveArrayElement(array: T[], from: number, to: number): T[]; +/** + * Convert a hyphen-delimited string to camelCase. + * @param {string} str + * @returns {string} + */ +export declare function camelize(str: string): string; +/** + * Convert an object's keys from hyphen-delimited to camelCase. + * @param {Record} object + * @returns {Record} + */ +export declare function objectMap(object: Record): Record; +/** + * Removes an element from an array. + * @param {T[]} array + * @param {number} index + * @returns {T[]} + */ +export declare function removeElement(array: T[], index: number): T[]; +/** + * Inserts an element into an array. + * @param {T[]} array + * @param {number} index + * @param element + * @returns {T[]} + */ +export declare function insertElement(array: T[], index: number, element: any): T[]; +/** + * If the value is undefined, return true, otherwise return false. + * @param {any} value - any + * @returns {value is undefined} + */ +export declare function isUndefined(value: any): value is undefined; +/** + * If the value is string, return true, otherwise return false. + * @param value + * @returns {value is string} + */ +export declare function isString(value: any): value is string; +/** + * Inserts a element into the DOM at a given index. + * @param parentElement + * @param element + * @param {number} index + */ +export declare function insertNodeAt(parentElement: Element, element: Element, index: number): void; +/** + * Removes a node from the DOM. + * @param {Node} node + */ +export declare function removeNode(node: Node): void; +/** + * Get an element by selector. + * @param {string} selector + * @param parentElement + * @returns {Element} + */ +export declare function getElementBySelector(selector: string, parentElement?: Document | Element): HTMLElement; +/** + * It takes a function and returns a function that executes the original function and then executes the second function. + * @param {Function} fn - The function to be executed + * @param {Function} afterFn - The function to be executed after the original function. + * @param {any} [ctx=null] - The context of the function. + * @returns {Function} + */ +export declare function mergeExecuted any>(fn: T, afterFn: T, ctx?: any): (...args: any[]) => any; +/** + * Merge the options and events. + * @param {Record} options + * @param {Record} events + * @returns {Record} + */ +export declare function mergeOptionsEvents(options: Record, events: Record): { + [x: string]: any; +}; +export declare function isHTMLElement(el: any): el is HTMLElement; +/** + * @param obj + * @param fn + */ +export declare function forEachObject>(obj: T, fn: (key: keyof T, value: T[keyof T]) => void): void; +/** + * + * @param key + */ +export declare function isOn(key: any): boolean; +export declare const extend: { + (target: T, source: U): T & U; + (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; + (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; + (target: object, ...sources: any[]): any; +}; diff --git a/node_modules/vue-draggable-plus/dist/utils/log.d.ts b/node_modules/vue-draggable-plus/dist/utils/log.d.ts new file mode 100644 index 0000000..df1aabf --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/utils/log.d.ts @@ -0,0 +1,10 @@ +/** + * Logs a warning message. + * @param {string} msg + */ +export declare function warn(msg: string): void; +/** + * Logs an error message. + * @param {string} msg + */ +export declare function error(msg: string): void; diff --git a/node_modules/vue-draggable-plus/dist/vue-draggable-plus.cjs b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.cjs new file mode 100644 index 0000000..e64a738 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.cjs @@ -0,0 +1,6 @@ +"use strict";var en=Object.defineProperty;var Ne=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable;var gt=(t,e,n)=>e in t?en(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ce=(t,e)=>{for(var n in e||(e={}))mt.call(e,n)&>(t,n,e[n]);if(Ne)for(var n of Ne(e))vt.call(e,n)&>(t,n,e[n]);return t};var Ve=(t,e)=>{var n={};for(var o in t)mt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&Ne)for(var o of Ne(t))e.indexOf(o)<0&&vt.call(t,o)&&(n[o]=t[o]);return n};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("vue"),Rt="[vue-draggable-plus]: ";function tn(t){console.warn(Rt+t)}function nn(t){console.error(Rt+t)}function bt(t,e,n){return n>=0&&nn?n.toUpperCase():"")}function rn(t){return Object.keys(t).reduce((e,n)=>(typeof t[n]!="undefined"&&(e[on(n)]=t[n]),e),{})}function yt(t,e){return Array.isArray(t)&&t.splice(e,1),t}function wt(t,e,n){return Array.isArray(t)&&t.splice(e,0,n),t}function an(t){return typeof t=="undefined"}function ln(t){return typeof t=="string"}function Et(t,e,n){const o=t.children[n];t.insertBefore(e,o)}function $e(t){t.parentNode&&t.parentNode.removeChild(t)}function sn(t,e=document){var o;let n=null;return typeof(e==null?void 0:e.querySelector)=="function"?n=(o=e==null?void 0:e.querySelector)==null?void 0:o.call(e,t):n=document.querySelector(t),n||tn(`Element not found: ${t}`),n}function un(t,e,n=null){return function(...o){return t.apply(n,o),e.apply(n,o)}}function fn(t,e){const n=ce({},t);return Object.keys(e).forEach(o=>{n[o]?n[o]=un(t[o],e[o]):n[o]=e[o]}),n}function cn(t){return t instanceof HTMLElement}function St(t,e){Object.keys(t).forEach(n=>{e(n,t[n])})}function dn(t){return t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97)}const hn=Object.assign;/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function te(t){for(var e=1;e=0)&&(n[r]=t[r]);return n}function mn(t,e){if(t==null)return{};var n=gn(t,e),o,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var vn="1.15.2";function oe(t){if(typeof window!="undefined"&&window.navigator)return!!navigator.userAgent.match(t)}var ie=oe(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ae=oe(/Edge/i),_t=oe(/firefox/i),_e=oe(/safari/i)&&!oe(/chrome/i)&&!oe(/android/i),Xt=oe(/iP(ad|od|hone)/i),Yt=oe(/chrome/i)&&oe(/android/i),Bt={capture:!1,passive:!1};function _(t,e,n){t.addEventListener(e,n,!ie&&Bt)}function S(t,e,n){t.removeEventListener(e,n,!ie&&Bt)}function Le(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function bn(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function Z(t,e,n,o){if(t){n=n||document;do{if(e!=null&&(e[0]===">"?t.parentNode===n&&Le(t,e):Le(t,e))||o&&t===n)return t;if(t===n)break}while(t=bn(t))}return null}var Tt=/\s+/g;function V(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(Tt," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(Tt," ")}}function h(t,e,n){var o=t&&t.style;if(o){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),e===void 0?n:n[e];!(e in o)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),o[e]=n+(typeof n=="string"?"":"px")}}function ye(t,e){var n="";if(typeof t=="string")n=t;else do{var o=h(t,"transform");o&&o!=="none"&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function kt(t,e,n){if(t){var o=t.getElementsByTagName(e),r=0,i=o.length;if(n)for(;r=i,!a)return o;if(o===ee())break;o=ue(o,!1)}return!1}function we(t,e,n,o){for(var r=0,i=0,a=t.children;i2&&arguments[2]!==void 0?arguments[2]:{},r=o.evt,i=mn(o,Cn);xe.pluginEvent.bind(p)(e,n,te({dragEl:f,parentEl:A,ghostEl:g,rootEl:O,nextEl:pe,lastDownEl:Ye,cloneEl:I,cloneHidden:se,dragStarted:Ee,putSortable:Y,activeSortable:p.active,originalEvent:r,oldIndex:be,oldDraggableIndex:Ce,newIndex:$,newDraggableIndex:le,hideGhostForTarget:Vt,unhideGhostForTarget:$t,cloneNowHidden:function(){se=!0},cloneNowShown:function(){se=!1},dispatchSortableEvent:function(l){G({sortable:n,name:l,originalEvent:r})}},i))};function G(t){Tn(te({putSortable:Y,cloneEl:I,targetEl:f,rootEl:O,oldIndex:be,oldDraggableIndex:Ce,newIndex:$,newDraggableIndex:le},t))}var f,A,g,O,pe,Ye,I,se,be,$,Ce,le,Pe,Y,ve=!1,We=!1,Ge=[],de,J,Je,Ze,It,At,Ee,me,Oe,Ie=!1,Me=!1,Be,k,Qe=[],it=!1,je=[],Ue=typeof document!="undefined",Fe=Xt,xt=Ae||ie?"cssFloat":"float",On=Ue&&!Yt&&!Xt&&"draggable"in document.createElement("div"),jt=function(){if(Ue){if(ie)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}}(),zt=function(e,n){var o=h(e),r=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),i=we(e,0,n),a=we(e,1,n),l=i&&h(i),s=a&&h(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+F(i).width,d=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+F(a).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===c)?"vertical":"horizontal"}return i&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=r&&o[xt]==="none"||a&&o[xt]==="none"&&u+d>r)?"vertical":"horizontal"},In=function(e,n,o){var r=o?e.left:e.top,i=o?e.right:e.bottom,a=o?e.width:e.height,l=o?n.left:n.top,s=o?n.right:n.bottom,u=o?n.width:n.height;return r===l||i===s||r+a/2===l+u/2},An=function(e,n){var o;return Ge.some(function(r){var i=r[q].options.emptyInsertThreshold;if(!(!i||ft(r))){var a=F(r),l=e>=a.left-i&&e<=a.right+i,s=n>=a.top-i&&n<=a.bottom+i;if(l&&s)return o=r}}),o},Ut=function(e){function n(i,a){return function(l,s,u,d){var c=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(i==null&&(a||c))return!0;if(i==null||i===!1)return!1;if(a&&i==="clone")return i;if(typeof i=="function")return n(i(l,s,u,d),a)(l,s,u,d);var m=(a?l:s).options.group.name;return i===!0||typeof i=="string"&&i===m||i.join&&i.indexOf(m)>-1}}var o={},r=e.group;(!r||Xe(r)!="object")&&(r={name:r}),o.name=r.name,o.checkPull=n(r.pull,!0),o.checkPut=n(r.put),o.revertClone=r.revertClone,e.group=o},Vt=function(){!jt&&g&&h(g,"display","none")},$t=function(){!jt&&g&&h(g,"display","")};Ue&&!Yt&&document.addEventListener("click",function(t){if(We)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),We=!1,!1},!0);var he=function(e){if(f){e=e.touches?e.touches[0]:e;var n=An(e.clientX,e.clientY);if(n){var o={};for(var r in e)e.hasOwnProperty(r)&&(o[r]=e[r]);o.target=o.rootEl=n,o.preventDefault=void 0,o.stopPropagation=void 0,n[q]._onDragOver(o)}}},xn=function(e){f&&f.parentNode[q]._isOutsideThisEl(e.target)};function p(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=re({},e),t[q]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return zt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&!_e,emptyInsertThreshold:5};xe.initializePlugins(this,t,n);for(var o in n)!(o in e)&&(e[o]=n[o]);Ut(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:On,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?_(t,"pointerdown",this._onTapStart):(_(t,"mousedown",this._onTapStart),_(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(_(t,"dragover",this),_(t,"dragenter",this)),Ge.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),re(this,Sn())}p.prototype={constructor:p,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(me=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,f):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,r=this.options,i=r.preventOnFilter,a=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(l||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,d=r.filter;if(Bn(o),!f&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&_e&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=Z(s,r.draggable,o,!1),!(s&&s.animated)&&Ye!==s)){if(be=K(s),Ce=K(s,r.draggable),typeof d=="function"){if(d.call(this,e,s,this)){G({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:o,fromEl:o}),j("filter",n,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=Z(u,c.trim(),o,!1),c)return G({sortable:n,rootEl:c,name:"filter",targetEl:s,fromEl:o,toEl:o}),j("filter",n,{evt:e}),!0}),d)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!Z(u,r.handle,o,!1)||this._prepareDragStart(e,l,s)}}},_prepareDragStart:function(e,n,o){var r=this,i=r.el,a=r.options,l=i.ownerDocument,s;if(o&&!f&&o.parentNode===i){var u=F(o);if(O=i,f=o,A=f.parentNode,pe=f.nextSibling,Ye=o,Pe=a.group,p.dragged=f,de={target:f,clientX:(n||e).clientX,clientY:(n||e).clientY},It=de.clientX-u.left,At=de.clientY-u.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,f.style["will-change"]="all",s=function(){if(j("delayEnded",r,{evt:e}),p.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!_t&&r.nativeDraggable&&(f.draggable=!0),r._triggerDragStart(e,n),G({sortable:r,name:"choose",originalEvent:e}),V(f,a.chosenClass,!0)},a.ignore.split(",").forEach(function(d){kt(f,d.trim(),et)}),_(l,"dragover",he),_(l,"mousemove",he),_(l,"touchmove",he),_(l,"mouseup",r._onDrop),_(l,"touchend",r._onDrop),_(l,"touchcancel",r._onDrop),_t&&this.nativeDraggable&&(this.options.touchStartThreshold=4,f.draggable=!0),j("delayStart",this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Ae||ie))){if(p.eventCanceled){this._onDrop();return}_(l,"mouseup",r._disableDelayedDrag),_(l,"touchend",r._disableDelayedDrag),_(l,"touchcancel",r._disableDelayedDrag),_(l,"mousemove",r._delayedDragTouchMoveHandler),_(l,"touchmove",r._delayedDragTouchMoveHandler),a.supportPointer&&_(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){f&&et(f),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;S(e,"mouseup",this._disableDelayedDrag),S(e,"touchend",this._disableDelayedDrag),S(e,"touchcancel",this._disableDelayedDrag),S(e,"mousemove",this._delayedDragTouchMoveHandler),S(e,"touchmove",this._delayedDragTouchMoveHandler),S(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?_(document,"pointermove",this._onTouchMove):n?_(document,"touchmove",this._onTouchMove):_(document,"mousemove",this._onTouchMove):(_(f,"dragend",this),_(O,"dragstart",this._onDragStart));try{document.selection?ke(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(o){}},_dragStarted:function(e,n){if(ve=!1,O&&f){j("dragStarted",this,{evt:n}),this.nativeDraggable&&_(document,"dragover",xn);var o=this.options;!e&&V(f,o.dragClass,!1),V(f,o.ghostClass,!0),p.active=this,e&&this._appendGhost(),G({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(J){this._lastX=J.clientX,this._lastY=J.clientY,Vt();for(var e=document.elementFromPoint(J.clientX,J.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(J.clientX,J.clientY),e!==n);)n=e;if(f.parentNode[q]._isOutsideThisEl(e),n)do{if(n[q]){var o=void 0;if(o=n[q]._onDragOver({clientX:J.clientX,clientY:J.clientY,target:e,rootEl:n}),o&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);$t()}},_onTouchMove:function(e){if(de){var n=this.options,o=n.fallbackTolerance,r=n.fallbackOffset,i=e.touches?e.touches[0]:e,a=g&&ye(g,!0),l=g&&a&&a.a,s=g&&a&&a.d,u=Fe&&k&&Ot(k),d=(i.clientX-de.clientX+r.x)/(l||1)+(u?u[0]-Qe[0]:0)/(l||1),c=(i.clientY-de.clientY+r.y)/(s||1)+(u?u[1]-Qe[1]:0)/(s||1);if(!p.active&&!ve){if(o&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(G({rootEl:A,name:"add",toEl:A,fromEl:O,originalEvent:e}),G({sortable:this,name:"remove",toEl:A,originalEvent:e}),G({rootEl:A,name:"sort",toEl:A,fromEl:O,originalEvent:e}),G({sortable:this,name:"sort",toEl:A,originalEvent:e})),Y&&Y.save()):$!==be&&$>=0&&(G({sortable:this,name:"update",toEl:A,originalEvent:e}),G({sortable:this,name:"sort",toEl:A,originalEvent:e})),p.active&&(($==null||$===-1)&&($=be,le=Ce),G({sortable:this,name:"end",toEl:A,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){j("nulling",this),O=f=A=g=pe=I=Ye=se=de=J=Ee=$=le=be=Ce=me=Oe=Y=Pe=p.dragged=p.ghost=p.clone=p.active=null,je.forEach(function(e){e.checked=!0}),je.length=Je=Ze=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":f&&(this._onDragOver(e),Nn(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,o=this.el.children,r=0,i=o.length,a=this.options;rr.right+i||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>r.bottom+i||t.clientX>o.right&&t.clientY>o.top}function Rn(t,e,n,o,r,i,a,l){var s=o?t.clientY:t.clientX,u=o?n.height:n.width,d=o?n.top:n.left,c=o?n.bottom:n.right,m=!1;if(!a){if(l&&Bed+u*i/2:sc-Be)return-Oe}else if(s>d+u*(1-r)/2&&sc-u*i/2)?s>d+u/2?1:-1:0}function Xn(t){return K(f){if(B&&(n==null?void 0:n.length)!==T.childNodes.length)return P.insertBefore(B,U.nextSibling),!0;const fe=T.childNodes[ae];B=T==null?void 0:T.replaceChild(U,fe)})}}catch(B){C=B}finally{n=null}D.nextTick(()=>{if(Pt(),C)throw C})}const E={onUpdate:y,onStart:d,onAdd:c,onRemove:m,onEnd:b};function H(v){const w=D.unref(o);return v||(v=ln(w)?sn(w,e==null?void 0:e.$el):w),v&&!cn(v)&&(v=v.$el),v||nn("Root element not found"),v}function L(){var P;const T=(P=D.unref(i))!=null?P:{},{immediate:v,clone:w}=T,N=Ve(T,["immediate","clone"]);return St(N,(C,X)=>{dn(C)&&(N[C]=(B,...U)=>{const ae=Gn();return hn(B,ae),X(B,...U)})}),fn(r===null?{}:E,N)}const R=v=>{v=H(v),a&&x.destroy(),a=new p(v,L())};D.watch(()=>i,()=>{a&&St(L(),(v,w)=>{a==null||a.option(v,w)})},{deep:!0});const x={option:(v,w)=>a==null?void 0:a.option(v,w),destroy:()=>{a==null||a.destroy(),a=null},save:()=>a==null?void 0:a.save(),toArray:()=>a==null?void 0:a.toArray(),closest:(...v)=>a==null?void 0:a.closest(...v)},W=()=>x==null?void 0:x.option("disabled",!0),ne=()=>x==null?void 0:x.option("disabled",!1);return Wn(()=>{l&&R()}),Ln(x.destroy),ce({start:R,pause:W,resume:ne},x)}const ut=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],jn=["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...ut.map(t=>`on${t.replace(/^\S/,e=>e.toUpperCase())}`)],zn=D.defineComponent({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:jn,emits:["update:modelValue",...ut],setup(t,{slots:e,emit:n,expose:o,attrs:r}){const i=ut.reduce((d,c)=>{const m=`on${c.replace(/^\S/,y=>y.toUpperCase())}`;return d[m]=(...y)=>n(c,...y),d},{}),a=D.computed(()=>{const y=D.toRefs(t),{modelValue:d}=y,c=Ve(y,["modelValue"]),m=Object.entries(c).reduce((b,[E,H])=>{const L=D.unref(H);return L!==void 0&&(b[E]=L),b},{});return ce(ce({},i),rn(ce(ce({},r),m)))}),l=D.computed({get:()=>t.modelValue,set:d=>n("update:modelValue",d)}),s=D.ref(),u=D.reactive(ht(t.target||s,l,a));return o(u),()=>{var d;return D.h(t.tag||"div",{ref:s},(d=e==null?void 0:e.default)==null?void 0:d.call(e,u))}}}),Ft={mounted:"mounted",unmounted:"unmounted"},rt=new WeakMap,Un={[Ft.mounted](t,e){const n=D.isProxy(e.value)?[e.value]:e.value,[o,r]=n,i=ht(t,o,r);rt.set(t,i.destroy)},[Ft.unmounted](t){var e;(e=rt.get(t))==null||e(),rt.delete(t)}};exports.VueDraggable=zn;exports.useDraggable=ht;exports.vDraggable=Un; diff --git a/node_modules/vue-draggable-plus/dist/vue-draggable-plus.iife.js b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.iife.js new file mode 100644 index 0000000..24ab0ec --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.iife.js @@ -0,0 +1,6 @@ +var VueDraggablePlus=function(x,g){"use strict";var Un=Object.defineProperty;var qe=Object.getOwnPropertySymbols;var Zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable;var Jt=(x,g,B)=>g in x?Un(x,g,{enumerable:!0,configurable:!0,writable:!0,value:B}):x[g]=B,ve=(x,g)=>{for(var B in g||(g={}))Zt.call(g,B)&&Jt(x,B,g[B]);if(qe)for(var B of qe(g))Qt.call(g,B)&&Jt(x,B,g[B]);return x};var mt=(x,g)=>{var B={};for(var Q in x)Zt.call(x,Q)&&g.indexOf(Q)<0&&(B[Q]=x[Q]);if(x!=null&&qe)for(var Q of qe(x))g.indexOf(Q)<0&&Qt.call(x,Q)&&(B[Q]=x[Q]);return B};const B="[vue-draggable-plus]: ";function Q(t){console.warn(B+t)}function en(t){console.error(B+t)}function vt(t,e,n){return n>=0&&nn?n.toUpperCase():"")}function nn(t){return Object.keys(t).reduce((e,n)=>(typeof t[n]!="undefined"&&(e[tn(n)]=t[n]),e),{})}function bt(t,e){return Array.isArray(t)&&t.splice(e,1),t}function yt(t,e,n){return Array.isArray(t)&&t.splice(e,0,n),t}function on(t){return typeof t=="undefined"}function rn(t){return typeof t=="string"}function wt(t,e,n){const o=t.children[n];t.insertBefore(e,o)}function Ke(t){t.parentNode&&t.parentNode.removeChild(t)}function an(t,e=document){var o;let n=null;return typeof(e==null?void 0:e.querySelector)=="function"?n=(o=e==null?void 0:e.querySelector)==null?void 0:o.call(e,t):n=document.querySelector(t),n||Q(`Element not found: ${t}`),n}function ln(t,e,n=null){return function(...o){return t.apply(n,o),e.apply(n,o)}}function sn(t,e){const n=ve({},t);return Object.keys(e).forEach(o=>{n[o]?n[o]=ln(t[o],e[o]):n[o]=e[o]}),n}function un(t){return t instanceof HTMLElement}function Et(t,e){Object.keys(t).forEach(n=>{e(n,t[n])})}function fn(t){return t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97)}const cn=Object.assign;/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */function St(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function ne(t){for(var e=1;e=0)&&(n[r]=t[r]);return n}function pn(t,e){if(t==null)return{};var n=hn(t,e),o,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var gn="1.15.2";function ae(t){if(typeof window!="undefined"&&window.navigator)return!!navigator.userAgent.match(t)}var le=ae(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),_e=ae(/Edge/i),Dt=ae(/firefox/i),Te=ae(/safari/i)&&!ae(/chrome/i)&&!ae(/android/i),_t=ae(/iP(ad|od|hone)/i),Tt=ae(/chrome/i)&&ae(/android/i),Ct={capture:!1,passive:!1};function _(t,e,n){t.addEventListener(e,n,!le&&Ct)}function S(t,e,n){t.removeEventListener(e,n,!le&&Ct)}function Re(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function mn(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ee(t,e,n,o){if(t){n=n||document;do{if(e!=null&&(e[0]===">"?t.parentNode===n&&Re(t,e):Re(t,e))||o&&t===n)return t;if(t===n)break}while(t=mn(t))}return null}var Ot=/\s+/g;function U(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(Ot," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(Ot," ")}}function h(t,e,n){var o=t&&t.style;if(o){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),e===void 0?n:n[e];!(e in o)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),o[e]=n+(typeof n=="string"?"":"px")}}function be(t,e){var n="";if(typeof t=="string")n=t;else do{var o=h(t,"transform");o&&o!=="none"&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function It(t,e,n){if(t){var o=t.getElementsByTagName(e),r=0,i=o.length;if(n)for(;r=i,!a)return o;if(o===oe())break;o=ue(o,!1)}return!1}function ye(t,e,n,o){for(var r=0,i=0,a=t.children;i2&&arguments[2]!==void 0?arguments[2]:{},r=o.evt,i=pn(o,_n);Oe.pluginEvent.bind(p)(e,n,ne({dragEl:f,parentEl:A,ghostEl:m,rootEl:T,nextEl:he,lastDownEl:Xe,cloneEl:I,cloneHidden:fe,dragStarted:Ae,putSortable:k,activeSortable:p.active,originalEvent:r,oldIndex:Ee,oldDraggableIndex:Ie,newIndex:q,newDraggableIndex:ce,hideGhostForTarget:Lt,unhideGhostForTarget:Wt,cloneNowHidden:function(){fe=!0},cloneNowShown:function(){fe=!1},dispatchSortableEvent:function(l){W({sortable:n,name:l,originalEvent:r})}},i))};function W(t){Dn(ne({putSortable:k,cloneEl:I,targetEl:f,rootEl:T,oldIndex:Ee,oldDraggableIndex:Ie,newIndex:q,newDraggableIndex:ce},t))}var f,A,m,T,he,Xe,I,fe,Ee,q,Ie,ce,Ye,k,Se=!1,Be=!1,ke=[],pe,te,et,tt,Rt,Xt,Ae,De,xe,Pe=!1,He=!1,Le,H,nt=[],ot=!1,We=[],Ge=typeof document!="undefined",je=_t,Yt=_e||le?"cssFloat":"float",Tn=Ge&&!Tt&&!_t&&"draggable"in document.createElement("div"),Bt=function(){if(Ge){if(le)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}}(),kt=function(e,n){var o=h(e),r=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),i=ye(e,0,n),a=ye(e,1,n),l=i&&h(i),s=a&&h(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+N(i).width,d=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+N(a).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===c)?"vertical":"horizontal"}return i&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=r&&o[Yt]==="none"||a&&o[Yt]==="none"&&u+d>r)?"vertical":"horizontal"},Cn=function(e,n,o){var r=o?e.left:e.top,i=o?e.right:e.bottom,a=o?e.width:e.height,l=o?n.left:n.top,s=o?n.right:n.bottom,u=o?n.width:n.height;return r===l||i===s||r+a/2===l+u/2},On=function(e,n){var o;return ke.some(function(r){var i=r[$].options.emptyInsertThreshold;if(!(!i||Je(r))){var a=N(r),l=e>=a.left-i&&e<=a.right+i,s=n>=a.top-i&&n<=a.bottom+i;if(l&&s)return o=r}}),o},Ht=function(e){function n(i,a){return function(l,s,u,d){var c=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(i==null&&(a||c))return!0;if(i==null||i===!1)return!1;if(a&&i==="clone")return i;if(typeof i=="function")return n(i(l,s,u,d),a)(l,s,u,d);var v=(a?l:s).options.group.name;return i===!0||typeof i=="string"&&i===v||i.join&&i.indexOf(v)>-1}}var o={},r=e.group;(!r||Fe(r)!="object")&&(r={name:r}),o.name=r.name,o.checkPull=n(r.pull,!0),o.checkPut=n(r.put),o.revertClone=r.revertClone,e.group=o},Lt=function(){!Bt&&m&&h(m,"display","none")},Wt=function(){!Bt&&m&&h(m,"display","")};Ge&&!Tt&&document.addEventListener("click",function(t){if(Be)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Be=!1,!1},!0);var ge=function(e){if(f){e=e.touches?e.touches[0]:e;var n=On(e.clientX,e.clientY);if(n){var o={};for(var r in e)e.hasOwnProperty(r)&&(o[r]=e[r]);o.target=o.rootEl=n,o.preventDefault=void 0,o.stopPropagation=void 0,n[$]._onDragOver(o)}}},In=function(e){f&&f.parentNode[$]._isOutsideThisEl(e.target)};function p(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=ie({},e),t[$]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return kt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&!Te,emptyInsertThreshold:5};Oe.initializePlugins(this,t,n);for(var o in n)!(o in e)&&(e[o]=n[o]);Ht(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:Tn,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?_(t,"pointerdown",this._onTapStart):(_(t,"mousedown",this._onTapStart),_(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(_(t,"dragover",this),_(t,"dragenter",this)),ke.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),ie(this,wn())}p.prototype={constructor:p,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(De=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,f):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,r=this.options,i=r.preventOnFilter,a=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(l||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,d=r.filter;if(Xn(o),!f&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Te&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=ee(s,r.draggable,o,!1),!(s&&s.animated)&&Xe!==s)){if(Ee=Z(s),Ie=Z(s,r.draggable),typeof d=="function"){if(d.call(this,e,s,this)){W({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:o,fromEl:o}),V("filter",n,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=ee(u,c.trim(),o,!1),c)return W({sortable:n,rootEl:c,name:"filter",targetEl:s,fromEl:o,toEl:o}),V("filter",n,{evt:e}),!0}),d)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!ee(u,r.handle,o,!1)||this._prepareDragStart(e,l,s)}}},_prepareDragStart:function(e,n,o){var r=this,i=r.el,a=r.options,l=i.ownerDocument,s;if(o&&!f&&o.parentNode===i){var u=N(o);if(T=i,f=o,A=f.parentNode,he=f.nextSibling,Xe=o,Ye=a.group,p.dragged=f,pe={target:f,clientX:(n||e).clientX,clientY:(n||e).clientY},Rt=pe.clientX-u.left,Xt=pe.clientY-u.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,f.style["will-change"]="all",s=function(){if(V("delayEnded",r,{evt:e}),p.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!Dt&&r.nativeDraggable&&(f.draggable=!0),r._triggerDragStart(e,n),W({sortable:r,name:"choose",originalEvent:e}),U(f,a.chosenClass,!0)},a.ignore.split(",").forEach(function(d){It(f,d.trim(),rt)}),_(l,"dragover",ge),_(l,"mousemove",ge),_(l,"touchmove",ge),_(l,"mouseup",r._onDrop),_(l,"touchend",r._onDrop),_(l,"touchcancel",r._onDrop),Dt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,f.draggable=!0),V("delayStart",this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(_e||le))){if(p.eventCanceled){this._onDrop();return}_(l,"mouseup",r._disableDelayedDrag),_(l,"touchend",r._disableDelayedDrag),_(l,"touchcancel",r._disableDelayedDrag),_(l,"mousemove",r._delayedDragTouchMoveHandler),_(l,"touchmove",r._delayedDragTouchMoveHandler),a.supportPointer&&_(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){f&&rt(f),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;S(e,"mouseup",this._disableDelayedDrag),S(e,"touchend",this._disableDelayedDrag),S(e,"touchcancel",this._disableDelayedDrag),S(e,"mousemove",this._delayedDragTouchMoveHandler),S(e,"touchmove",this._delayedDragTouchMoveHandler),S(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?_(document,"pointermove",this._onTouchMove):n?_(document,"touchmove",this._onTouchMove):_(document,"mousemove",this._onTouchMove):(_(f,"dragend",this),_(T,"dragstart",this._onDragStart));try{document.selection?Ve(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(o){}},_dragStarted:function(e,n){if(Se=!1,T&&f){V("dragStarted",this,{evt:n}),this.nativeDraggable&&_(document,"dragover",In);var o=this.options;!e&&U(f,o.dragClass,!1),U(f,o.ghostClass,!0),p.active=this,e&&this._appendGhost(),W({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(te){this._lastX=te.clientX,this._lastY=te.clientY,Lt();for(var e=document.elementFromPoint(te.clientX,te.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(te.clientX,te.clientY),e!==n);)n=e;if(f.parentNode[$]._isOutsideThisEl(e),n)do{if(n[$]){var o=void 0;if(o=n[$]._onDragOver({clientX:te.clientX,clientY:te.clientY,target:e,rootEl:n}),o&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);Wt()}},_onTouchMove:function(e){if(pe){var n=this.options,o=n.fallbackTolerance,r=n.fallbackOffset,i=e.touches?e.touches[0]:e,a=m&&be(m,!0),l=m&&a&&a.a,s=m&&a&&a.d,u=je&&H&&xt(H),d=(i.clientX-pe.clientX+r.x)/(l||1)+(u?u[0]-nt[0]:0)/(l||1),c=(i.clientY-pe.clientY+r.y)/(s||1)+(u?u[1]-nt[1]:0)/(s||1);if(!p.active&&!Se){if(o&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(W({rootEl:A,name:"add",toEl:A,fromEl:T,originalEvent:e}),W({sortable:this,name:"remove",toEl:A,originalEvent:e}),W({rootEl:A,name:"sort",toEl:A,fromEl:T,originalEvent:e}),W({sortable:this,name:"sort",toEl:A,originalEvent:e})),k&&k.save()):q!==Ee&&q>=0&&(W({sortable:this,name:"update",toEl:A,originalEvent:e}),W({sortable:this,name:"sort",toEl:A,originalEvent:e})),p.active&&((q==null||q===-1)&&(q=Ee,ce=Ie),W({sortable:this,name:"end",toEl:A,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){V("nulling",this),T=f=A=m=he=I=Xe=fe=pe=te=Ae=q=ce=Ee=Ie=De=xe=k=Ye=p.dragged=p.ghost=p.clone=p.active=null,We.forEach(function(e){e.checked=!0}),We.length=et=tt=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":f&&(this._onDragOver(e),An(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,o=this.el.children,r=0,i=o.length,a=this.options;rr.right+i||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>r.bottom+i||t.clientX>o.right&&t.clientY>o.top}function Mn(t,e,n,o,r,i,a,l){var s=o?t.clientY:t.clientX,u=o?n.height:n.width,d=o?n.top:n.left,c=o?n.bottom:n.right,v=!1;if(!a){if(l&&Led+u*i/2:sc-Le)return-xe}else if(s>d+u*(1-r)/2&&sc-u*i/2)?s>d+u/2?1:-1:0}function Fn(t){return Z(f){if(L&&(n==null?void 0:n.length)!==C.childNodes.length)return R.insertBefore(L,J.nextSibling),!0;const me=C.childNodes[de];L=C==null?void 0:C.replaceChild(J,me)})}}catch(L){O=L}finally{n=null}g.nextTick(()=>{if(Ut(),O)throw O})}const D={onUpdate:w,onStart:d,onAdd:c,onRemove:v,onEnd:y};function G(b){const E=g.unref(o);return b||(b=rn(E)?an(E,e==null?void 0:e.$el):E),b&&!un(b)&&(b=b.$el),b||en("Root element not found"),b}function j(){var R;const C=(R=g.unref(i))!=null?R:{},{immediate:b,clone:E}=C,F=mt(C,["immediate","clone"]);return Et(F,(O,Y)=>{fn(O)&&(F[O]=(L,...J)=>{const de=Ln();return cn(L,de),Y(L,...J)})}),sn(r===null?{}:D,F)}const X=b=>{b=G(b),a&&P.destroy(),a=new p(b,j())};g.watch(()=>i,()=>{a&&Et(j(),(b,E)=>{a==null||a.option(b,E)})},{deep:!0});const P={option:(b,E)=>a==null?void 0:a.option(b,E),destroy:()=>{a==null||a.destroy(),a=null},save:()=>a==null?void 0:a.save(),toArray:()=>a==null?void 0:a.toArray(),closest:(...b)=>a==null?void 0:a.closest(...b)},z=()=>P==null?void 0:P.option("disabled",!0),se=()=>P==null?void 0:P.option("disabled",!1);return Hn(()=>{l&&X()}),kn(P.destroy),ve({start:X,pause:z,resume:se},P)}const pt=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],Wn=["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...pt.map(t=>`on${t.replace(/^\S/,e=>e.toUpperCase())}`)],Gn=g.defineComponent({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:Wn,emits:["update:modelValue",...pt],setup(t,{slots:e,emit:n,expose:o,attrs:r}){const i=pt.reduce((d,c)=>{const v=`on${c.replace(/^\S/,w=>w.toUpperCase())}`;return d[v]=(...w)=>n(c,...w),d},{}),a=g.computed(()=>{const w=g.toRefs(t),{modelValue:d}=w,c=mt(w,["modelValue"]),v=Object.entries(c).reduce((y,[D,G])=>{const j=g.unref(G);return j!==void 0&&(y[D]=j),y},{});return ve(ve({},i),nn(ve(ve({},r),v)))}),l=g.computed({get:()=>t.modelValue,set:d=>n("update:modelValue",d)}),s=g.ref(),u=g.reactive(ht(t.target||s,l,a));return o(u),()=>{var d;return g.h(t.tag||"div",{ref:s},(d=e==null?void 0:e.default)==null?void 0:d.call(e,u))}}}),qt={mounted:"mounted",unmounted:"unmounted"},gt=new WeakMap,jn={[qt.mounted](t,e){const n=g.isProxy(e.value)?[e.value]:e.value,[o,r]=n,i=ht(t,o,r);gt.set(t,i.destroy)},[qt.unmounted](t){var e;(e=gt.get(t))==null||e(),gt.delete(t)}};return x.VueDraggable=Gn,x.useDraggable=ht,x.vDraggable=jn,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),x}({},Vue); diff --git a/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js new file mode 100644 index 0000000..d2751c4 --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js @@ -0,0 +1,1613 @@ +var rn = Object.defineProperty; +var Ne = Object.getOwnPropertySymbols; +var vt = Object.prototype.hasOwnProperty, bt = Object.prototype.propertyIsEnumerable; +var mt = (t, e, n) => e in t ? rn(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, fe = (t, e) => { + for (var n in e || (e = {})) + vt.call(e, n) && mt(t, n, e[n]); + if (Ne) + for (var n of Ne(e)) + bt.call(e, n) && mt(t, n, e[n]); + return t; +}; +var Ve = (t, e) => { + var n = {}; + for (var o in t) + vt.call(t, o) && e.indexOf(o) < 0 && (n[o] = t[o]); + if (t != null && Ne) + for (var o of Ne(t)) + e.indexOf(o) < 0 && bt.call(t, o) && (n[o] = t[o]); + return n; +}; +import { getCurrentInstance as ft, unref as U, watch as an, onUnmounted as ln, onMounted as sn, nextTick as Yt, isRef as $e, defineComponent as un, computed as yt, toRefs as cn, ref as fn, reactive as dn, h as hn, isProxy as pn } from "vue"; +const Bt = "[vue-draggable-plus]: "; +function gn(t) { + console.warn(Bt + t); +} +function mn(t) { + console.error(Bt + t); +} +function wt(t, e, n) { + return n >= 0 && n < t.length && t.splice(n, 0, t.splice(e, 1)[0]), t; +} +function vn(t) { + return t.replace(/-(\w)/g, (e, n) => n ? n.toUpperCase() : ""); +} +function bn(t) { + return Object.keys(t).reduce((e, n) => (typeof t[n] != "undefined" && (e[vn(n)] = t[n]), e), {}); +} +function Et(t, e) { + return Array.isArray(t) && t.splice(e, 1), t; +} +function St(t, e, n) { + return Array.isArray(t) && t.splice(e, 0, n), t; +} +function yn(t) { + return typeof t == "undefined"; +} +function wn(t) { + return typeof t == "string"; +} +function Dt(t, e, n) { + const o = t.children[n]; + t.insertBefore(e, o); +} +function qe(t) { + t.parentNode && t.parentNode.removeChild(t); +} +function En(t, e = document) { + var o; + let n = null; + return typeof (e == null ? void 0 : e.querySelector) == "function" ? n = (o = e == null ? void 0 : e.querySelector) == null ? void 0 : o.call(e, t) : n = document.querySelector(t), n || gn(`Element not found: ${t}`), n; +} +function Sn(t, e, n = null) { + return function(...o) { + return t.apply(n, o), e.apply(n, o); + }; +} +function Dn(t, e) { + const n = fe({}, t); + return Object.keys(e).forEach((o) => { + n[o] ? n[o] = Sn(t[o], e[o]) : n[o] = e[o]; + }), n; +} +function _n(t) { + return t instanceof HTMLElement; +} +function _t(t, e) { + Object.keys(t).forEach((n) => { + e(n, t[n]); + }); +} +function Tn(t) { + return t.charCodeAt(0) === 111 && t.charCodeAt(1) === 110 && // uppercase letter + (t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97); +} +const Cn = Object.assign; +/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function Tt(t, e) { + var n = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(t); + e && (o = o.filter(function(r) { + return Object.getOwnPropertyDescriptor(t, r).enumerable; + })), n.push.apply(n, o); + } + return n; +} +function te(t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] != null ? arguments[e] : {}; + e % 2 ? Tt(Object(n), !0).forEach(function(o) { + On(t, o, n[o]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Tt(Object(n)).forEach(function(o) { + Object.defineProperty(t, o, Object.getOwnPropertyDescriptor(n, o)); + }); + } + return t; +} +function Xe(t) { + "@babel/helpers - typeof"; + return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Xe = function(e) { + return typeof e; + } : Xe = function(e) { + return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; + }, Xe(t); +} +function On(t, e, n) { + return e in t ? Object.defineProperty(t, e, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : t[e] = n, t; +} +function re() { + return re = Object.assign || function(t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e]; + for (var o in n) + Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]); + } + return t; + }, re.apply(this, arguments); +} +function In(t, e) { + if (t == null) + return {}; + var n = {}, o = Object.keys(t), r, i; + for (i = 0; i < o.length; i++) + r = o[i], !(e.indexOf(r) >= 0) && (n[r] = t[r]); + return n; +} +function An(t, e) { + if (t == null) + return {}; + var n = In(t, e), o, r; + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(t); + for (r = 0; r < i.length; r++) + o = i[r], !(e.indexOf(o) >= 0) && Object.prototype.propertyIsEnumerable.call(t, o) && (n[o] = t[o]); + } + return n; +} +var xn = "1.15.2"; +function oe(t) { + if (typeof window != "undefined" && window.navigator) + return !!/* @__PURE__ */ navigator.userAgent.match(t); +} +var ie = oe(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), Ae = oe(/Edge/i), Ct = oe(/firefox/i), _e = oe(/safari/i) && !oe(/chrome/i) && !oe(/android/i), kt = oe(/iP(ad|od|hone)/i), Ht = oe(/chrome/i) && oe(/android/i), Lt = { + capture: !1, + passive: !1 +}; +function D(t, e, n) { + t.addEventListener(e, n, !ie && Lt); +} +function S(t, e, n) { + t.removeEventListener(e, n, !ie && Lt); +} +function Le(t, e) { + if (e) { + if (e[0] === ">" && (e = e.substring(1)), t) + try { + if (t.matches) + return t.matches(e); + if (t.msMatchesSelector) + return t.msMatchesSelector(e); + if (t.webkitMatchesSelector) + return t.webkitMatchesSelector(e); + } catch (n) { + return !1; + } + return !1; + } +} +function Nn(t) { + return t.host && t !== document && t.host.nodeType ? t.host : t.parentNode; +} +function Z(t, e, n, o) { + if (t) { + n = n || document; + do { + if (e != null && (e[0] === ">" ? t.parentNode === n && Le(t, e) : Le(t, e)) || o && t === n) + return t; + if (t === n) + break; + } while (t = Nn(t)); + } + return null; +} +var Ot = /\s+/g; +function V(t, e, n) { + if (t && e) + if (t.classList) + t.classList[n ? "add" : "remove"](e); + else { + var o = (" " + t.className + " ").replace(Ot, " ").replace(" " + e + " ", " "); + t.className = (o + (n ? " " + e : "")).replace(Ot, " "); + } +} +function h(t, e, n) { + var o = t && t.style; + if (o) { + if (n === void 0) + return document.defaultView && document.defaultView.getComputedStyle ? n = document.defaultView.getComputedStyle(t, "") : t.currentStyle && (n = t.currentStyle), e === void 0 ? n : n[e]; + !(e in o) && e.indexOf("webkit") === -1 && (e = "-webkit-" + e), o[e] = n + (typeof n == "string" ? "" : "px"); + } +} +function ye(t, e) { + var n = ""; + if (typeof t == "string") + n = t; + else + do { + var o = h(t, "transform"); + o && o !== "none" && (n = o + " " + n); + } while (!e && (t = t.parentNode)); + var r = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; + return r && new r(n); +} +function Wt(t, e, n) { + if (t) { + var o = t.getElementsByTagName(e), r = 0, i = o.length; + if (n) + for (; r < i; r++) + n(o[r], r); + return o; + } + return []; +} +function ee() { + var t = document.scrollingElement; + return t || document.documentElement; +} +function M(t, e, n, o, r) { + if (!(!t.getBoundingClientRect && t !== window)) { + var i, a, l, s, u, d, f; + if (t !== window && t.parentNode && t !== ee() ? (i = t.getBoundingClientRect(), a = i.top, l = i.left, s = i.bottom, u = i.right, d = i.height, f = i.width) : (a = 0, l = 0, s = window.innerHeight, u = window.innerWidth, d = window.innerHeight, f = window.innerWidth), (e || n) && t !== window && (r = r || t.parentNode, !ie)) + do + if (r && r.getBoundingClientRect && (h(r, "transform") !== "none" || n && h(r, "position") !== "static")) { + var m = r.getBoundingClientRect(); + a -= m.top + parseInt(h(r, "border-top-width")), l -= m.left + parseInt(h(r, "border-left-width")), s = a + i.height, u = l + i.width; + break; + } + while (r = r.parentNode); + if (o && t !== window) { + var y = ye(r || t), b = y && y.a, E = y && y.d; + y && (a /= E, l /= b, f /= b, d /= E, s = a + d, u = l + f); + } + return { + top: a, + left: l, + bottom: s, + right: u, + width: f, + height: d + }; + } +} +function It(t, e, n) { + for (var o = ue(t, !0), r = M(t)[e]; o; ) { + var i = M(o)[n], a = void 0; + if (a = r >= i, !a) + return o; + if (o === ee()) + break; + o = ue(o, !1); + } + return !1; +} +function we(t, e, n, o) { + for (var r = 0, i = 0, a = t.children; i < a.length; ) { + if (a[i].style.display !== "none" && a[i] !== p.ghost && (o || a[i] !== p.dragged) && Z(a[i], n.draggable, t, !1)) { + if (r === e) + return a[i]; + r++; + } + i++; + } + return null; +} +function dt(t, e) { + for (var n = t.lastElementChild; n && (n === p.ghost || h(n, "display") === "none" || e && !Le(n, e)); ) + n = n.previousElementSibling; + return n || null; +} +function K(t, e) { + var n = 0; + if (!t || !t.parentNode) + return -1; + for (; t = t.previousElementSibling; ) + t.nodeName.toUpperCase() !== "TEMPLATE" && t !== p.clone && (!e || Le(t, e)) && n++; + return n; +} +function At(t) { + var e = 0, n = 0, o = ee(); + if (t) + do { + var r = ye(t), i = r.a, a = r.d; + e += t.scrollLeft * i, n += t.scrollTop * a; + } while (t !== o && (t = t.parentNode)); + return [e, n]; +} +function Pn(t, e) { + for (var n in t) + if (t.hasOwnProperty(n)) { + for (var o in e) + if (e.hasOwnProperty(o) && e[o] === t[n][o]) + return Number(n); + } + return -1; +} +function ue(t, e) { + if (!t || !t.getBoundingClientRect) + return ee(); + var n = t, o = !1; + do + if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) { + var r = h(n); + if (n.clientWidth < n.scrollWidth && (r.overflowX == "auto" || r.overflowX == "scroll") || n.clientHeight < n.scrollHeight && (r.overflowY == "auto" || r.overflowY == "scroll")) { + if (!n.getBoundingClientRect || n === document.body) + return ee(); + if (o || e) + return n; + o = !0; + } + } + while (n = n.parentNode); + return ee(); +} +function Mn(t, e) { + if (t && e) + for (var n in e) + e.hasOwnProperty(n) && (t[n] = e[n]); + return t; +} +function Ke(t, e) { + return Math.round(t.top) === Math.round(e.top) && Math.round(t.left) === Math.round(e.left) && Math.round(t.height) === Math.round(e.height) && Math.round(t.width) === Math.round(e.width); +} +var Te; +function Gt(t, e) { + return function() { + if (!Te) { + var n = arguments, o = this; + n.length === 1 ? t.call(o, n[0]) : t.apply(o, n), Te = setTimeout(function() { + Te = void 0; + }, e); + } + }; +} +function Fn() { + clearTimeout(Te), Te = void 0; +} +function jt(t, e, n) { + t.scrollLeft += e, t.scrollTop += n; +} +function zt(t) { + var e = window.Polymer, n = window.jQuery || window.Zepto; + return e && e.dom ? e.dom(t).cloneNode(!0) : n ? n(t).clone(!0)[0] : t.cloneNode(!0); +} +function Ut(t, e, n) { + var o = {}; + return Array.from(t.children).forEach(function(r) { + var i, a, l, s; + if (!(!Z(r, e.draggable, t, !1) || r.animated || r === n)) { + var u = M(r); + o.left = Math.min((i = o.left) !== null && i !== void 0 ? i : 1 / 0, u.left), o.top = Math.min((a = o.top) !== null && a !== void 0 ? a : 1 / 0, u.top), o.right = Math.max((l = o.right) !== null && l !== void 0 ? l : -1 / 0, u.right), o.bottom = Math.max((s = o.bottom) !== null && s !== void 0 ? s : -1 / 0, u.bottom); + } + }), o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o; +} +var q = "Sortable" + (/* @__PURE__ */ new Date()).getTime(); +function Rn() { + var t = [], e; + return { + captureAnimationState: function() { + if (t = [], !!this.options.animation) { + var o = [].slice.call(this.el.children); + o.forEach(function(r) { + if (!(h(r, "display") === "none" || r === p.ghost)) { + t.push({ + target: r, + rect: M(r) + }); + var i = te({}, t[t.length - 1].rect); + if (r.thisAnimationDuration) { + var a = ye(r, !0); + a && (i.top -= a.f, i.left -= a.e); + } + r.fromRect = i; + } + }); + } + }, + addAnimationState: function(o) { + t.push(o); + }, + removeAnimationState: function(o) { + t.splice(Pn(t, { + target: o + }), 1); + }, + animateAll: function(o) { + var r = this; + if (!this.options.animation) { + clearTimeout(e), typeof o == "function" && o(); + return; + } + var i = !1, a = 0; + t.forEach(function(l) { + var s = 0, u = l.target, d = u.fromRect, f = M(u), m = u.prevFromRect, y = u.prevToRect, b = l.rect, E = ye(u, !0); + E && (f.top -= E.f, f.left -= E.e), u.toRect = f, u.thisAnimationDuration && Ke(m, f) && !Ke(d, f) && // Make sure animatingRect is on line between toRect & fromRect + (b.top - f.top) / (b.left - f.left) === (d.top - f.top) / (d.left - f.left) && (s = Yn(b, m, y, r.options)), Ke(f, d) || (u.prevFromRect = d, u.prevToRect = f, s || (s = r.options.animation), r.animate(u, b, f, s)), s && (i = !0, a = Math.max(a, s), clearTimeout(u.animationResetTimer), u.animationResetTimer = setTimeout(function() { + u.animationTime = 0, u.prevFromRect = null, u.fromRect = null, u.prevToRect = null, u.thisAnimationDuration = null; + }, s), u.thisAnimationDuration = s); + }), clearTimeout(e), i ? e = setTimeout(function() { + typeof o == "function" && o(); + }, a) : typeof o == "function" && o(), t = []; + }, + animate: function(o, r, i, a) { + if (a) { + h(o, "transition", ""), h(o, "transform", ""); + var l = ye(this.el), s = l && l.a, u = l && l.d, d = (r.left - i.left) / (s || 1), f = (r.top - i.top) / (u || 1); + o.animatingX = !!d, o.animatingY = !!f, h(o, "transform", "translate3d(" + d + "px," + f + "px,0)"), this.forRepaintDummy = Xn(o), h(o, "transition", "transform " + a + "ms" + (this.options.easing ? " " + this.options.easing : "")), h(o, "transform", "translate3d(0,0,0)"), typeof o.animated == "number" && clearTimeout(o.animated), o.animated = setTimeout(function() { + h(o, "transition", ""), h(o, "transform", ""), o.animated = !1, o.animatingX = !1, o.animatingY = !1; + }, a); + } + } + }; +} +function Xn(t) { + return t.offsetWidth; +} +function Yn(t, e, n, o) { + return Math.sqrt(Math.pow(e.top - t.top, 2) + Math.pow(e.left - t.left, 2)) / Math.sqrt(Math.pow(e.top - n.top, 2) + Math.pow(e.left - n.left, 2)) * o.animation; +} +var ge = [], Je = { + initializeByDefault: !0 +}, xe = { + mount: function(e) { + for (var n in Je) + Je.hasOwnProperty(n) && !(n in e) && (e[n] = Je[n]); + ge.forEach(function(o) { + if (o.pluginName === e.pluginName) + throw "Sortable: Cannot mount plugin ".concat(e.pluginName, " more than once"); + }), ge.push(e); + }, + pluginEvent: function(e, n, o) { + var r = this; + this.eventCanceled = !1, o.cancel = function() { + r.eventCanceled = !0; + }; + var i = e + "Global"; + ge.forEach(function(a) { + n[a.pluginName] && (n[a.pluginName][i] && n[a.pluginName][i](te({ + sortable: n + }, o)), n.options[a.pluginName] && n[a.pluginName][e] && n[a.pluginName][e](te({ + sortable: n + }, o))); + }); + }, + initializePlugins: function(e, n, o, r) { + ge.forEach(function(l) { + var s = l.pluginName; + if (!(!e.options[s] && !l.initializeByDefault)) { + var u = new l(e, n, e.options); + u.sortable = e, u.options = e.options, e[s] = u, re(o, u.defaults); + } + }); + for (var i in e.options) + if (e.options.hasOwnProperty(i)) { + var a = this.modifyOption(e, i, e.options[i]); + typeof a != "undefined" && (e.options[i] = a); + } + }, + getEventProperties: function(e, n) { + var o = {}; + return ge.forEach(function(r) { + typeof r.eventProperties == "function" && re(o, r.eventProperties.call(n[r.pluginName], e)); + }), o; + }, + modifyOption: function(e, n, o) { + var r; + return ge.forEach(function(i) { + e[i.pluginName] && i.optionListeners && typeof i.optionListeners[n] == "function" && (r = i.optionListeners[n].call(e[i.pluginName], o)); + }), r; + } +}; +function Bn(t) { + var e = t.sortable, n = t.rootEl, o = t.name, r = t.targetEl, i = t.cloneEl, a = t.toEl, l = t.fromEl, s = t.oldIndex, u = t.newIndex, d = t.oldDraggableIndex, f = t.newDraggableIndex, m = t.originalEvent, y = t.putSortable, b = t.extraEventProperties; + if (e = e || n && n[q], !!e) { + var E, k = e.options, H = "on" + o.charAt(0).toUpperCase() + o.substr(1); + window.CustomEvent && !ie && !Ae ? E = new CustomEvent(o, { + bubbles: !0, + cancelable: !0 + }) : (E = document.createEvent("Event"), E.initEvent(o, !0, !0)), E.to = a || n, E.from = l || n, E.item = r || n, E.clone = i, E.oldIndex = s, E.newIndex = u, E.oldDraggableIndex = d, E.newDraggableIndex = f, E.originalEvent = m, E.pullMode = y ? y.lastPutMode : void 0; + var F = te(te({}, b), xe.getEventProperties(o, e)); + for (var A in F) + E[A] = F[A]; + n && n.dispatchEvent(E), k[H] && k[H].call(e, E); + } +} +var kn = ["evt"], G = function(e, n) { + var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = o.evt, i = An(o, kn); + xe.pluginEvent.bind(p)(e, n, te({ + dragEl: c, + parentEl: I, + ghostEl: g, + rootEl: C, + nextEl: pe, + lastDownEl: Ye, + cloneEl: O, + cloneHidden: se, + dragStarted: Ee, + putSortable: X, + activeSortable: p.active, + originalEvent: r, + oldIndex: be, + oldDraggableIndex: Ce, + newIndex: $, + newDraggableIndex: le, + hideGhostForTarget: Kt, + unhideGhostForTarget: Jt, + cloneNowHidden: function() { + se = !0; + }, + cloneNowShown: function() { + se = !1; + }, + dispatchSortableEvent: function(l) { + W({ + sortable: n, + name: l, + originalEvent: r + }); + } + }, i)); +}; +function W(t) { + Bn(te({ + putSortable: X, + cloneEl: O, + targetEl: c, + rootEl: C, + oldIndex: be, + oldDraggableIndex: Ce, + newIndex: $, + newDraggableIndex: le + }, t)); +} +var c, I, g, C, pe, Ye, O, se, be, $, Ce, le, Pe, X, ve = !1, We = !1, Ge = [], de, J, Ze, Qe, xt, Nt, Ee, me, Oe, Ie = !1, Me = !1, Be, B, et = [], at = !1, je = [], Ue = typeof document != "undefined", Fe = kt, Pt = Ae || ie ? "cssFloat" : "float", Hn = Ue && !Ht && !kt && "draggable" in document.createElement("div"), Vt = function() { + if (Ue) { + if (ie) + return !1; + var t = document.createElement("x"); + return t.style.cssText = "pointer-events:auto", t.style.pointerEvents === "auto"; + } +}(), $t = function(e, n) { + var o = h(e), r = parseInt(o.width) - parseInt(o.paddingLeft) - parseInt(o.paddingRight) - parseInt(o.borderLeftWidth) - parseInt(o.borderRightWidth), i = we(e, 0, n), a = we(e, 1, n), l = i && h(i), s = a && h(a), u = l && parseInt(l.marginLeft) + parseInt(l.marginRight) + M(i).width, d = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + M(a).width; + if (o.display === "flex") + return o.flexDirection === "column" || o.flexDirection === "column-reverse" ? "vertical" : "horizontal"; + if (o.display === "grid") + return o.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal"; + if (i && l.float && l.float !== "none") { + var f = l.float === "left" ? "left" : "right"; + return a && (s.clear === "both" || s.clear === f) ? "vertical" : "horizontal"; + } + return i && (l.display === "block" || l.display === "flex" || l.display === "table" || l.display === "grid" || u >= r && o[Pt] === "none" || a && o[Pt] === "none" && u + d > r) ? "vertical" : "horizontal"; +}, Ln = function(e, n, o) { + var r = o ? e.left : e.top, i = o ? e.right : e.bottom, a = o ? e.width : e.height, l = o ? n.left : n.top, s = o ? n.right : n.bottom, u = o ? n.width : n.height; + return r === l || i === s || r + a / 2 === l + u / 2; +}, Wn = function(e, n) { + var o; + return Ge.some(function(r) { + var i = r[q].options.emptyInsertThreshold; + if (!(!i || dt(r))) { + var a = M(r), l = e >= a.left - i && e <= a.right + i, s = n >= a.top - i && n <= a.bottom + i; + if (l && s) + return o = r; + } + }), o; +}, qt = function(e) { + function n(i, a) { + return function(l, s, u, d) { + var f = l.options.group.name && s.options.group.name && l.options.group.name === s.options.group.name; + if (i == null && (a || f)) + return !0; + if (i == null || i === !1) + return !1; + if (a && i === "clone") + return i; + if (typeof i == "function") + return n(i(l, s, u, d), a)(l, s, u, d); + var m = (a ? l : s).options.group.name; + return i === !0 || typeof i == "string" && i === m || i.join && i.indexOf(m) > -1; + }; + } + var o = {}, r = e.group; + (!r || Xe(r) != "object") && (r = { + name: r + }), o.name = r.name, o.checkPull = n(r.pull, !0), o.checkPut = n(r.put), o.revertClone = r.revertClone, e.group = o; +}, Kt = function() { + !Vt && g && h(g, "display", "none"); +}, Jt = function() { + !Vt && g && h(g, "display", ""); +}; +Ue && !Ht && document.addEventListener("click", function(t) { + if (We) + return t.preventDefault(), t.stopPropagation && t.stopPropagation(), t.stopImmediatePropagation && t.stopImmediatePropagation(), We = !1, !1; +}, !0); +var he = function(e) { + if (c) { + e = e.touches ? e.touches[0] : e; + var n = Wn(e.clientX, e.clientY); + if (n) { + var o = {}; + for (var r in e) + e.hasOwnProperty(r) && (o[r] = e[r]); + o.target = o.rootEl = n, o.preventDefault = void 0, o.stopPropagation = void 0, n[q]._onDragOver(o); + } + } +}, Gn = function(e) { + c && c.parentNode[q]._isOutsideThisEl(e.target); +}; +function p(t, e) { + if (!(t && t.nodeType && t.nodeType === 1)) + throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t)); + this.el = t, this.options = e = re({}, e), t[q] = this; + var n = { + group: null, + sort: !0, + disabled: !1, + store: null, + handle: null, + draggable: /^[uo]l$/i.test(t.nodeName) ? ">li" : ">*", + swapThreshold: 1, + // percentage; 0 <= x <= 1 + invertSwap: !1, + // invert always + invertedSwapThreshold: null, + // will be set to same as swapThreshold if default + removeCloneOnHide: !0, + direction: function() { + return $t(t, this.options); + }, + ghostClass: "sortable-ghost", + chosenClass: "sortable-chosen", + dragClass: "sortable-drag", + ignore: "a, img", + filter: null, + preventOnFilter: !0, + animation: 0, + easing: null, + setData: function(a, l) { + a.setData("Text", l.textContent); + }, + dropBubble: !1, + dragoverBubble: !1, + dataIdAttr: "data-id", + delay: 0, + delayOnTouchOnly: !1, + touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, + forceFallback: !1, + fallbackClass: "sortable-fallback", + fallbackOnBody: !1, + fallbackTolerance: 0, + fallbackOffset: { + x: 0, + y: 0 + }, + supportPointer: p.supportPointer !== !1 && "PointerEvent" in window && !_e, + emptyInsertThreshold: 5 + }; + xe.initializePlugins(this, t, n); + for (var o in n) + !(o in e) && (e[o] = n[o]); + qt(e); + for (var r in this) + r.charAt(0) === "_" && typeof this[r] == "function" && (this[r] = this[r].bind(this)); + this.nativeDraggable = e.forceFallback ? !1 : Hn, this.nativeDraggable && (this.options.touchStartThreshold = 1), e.supportPointer ? D(t, "pointerdown", this._onTapStart) : (D(t, "mousedown", this._onTapStart), D(t, "touchstart", this._onTapStart)), this.nativeDraggable && (D(t, "dragover", this), D(t, "dragenter", this)), Ge.push(this.el), e.store && e.store.get && this.sort(e.store.get(this) || []), re(this, Rn()); +} +p.prototype = /** @lends Sortable.prototype */ +{ + constructor: p, + _isOutsideThisEl: function(e) { + !this.el.contains(e) && e !== this.el && (me = null); + }, + _getDirection: function(e, n) { + return typeof this.options.direction == "function" ? this.options.direction.call(this, e, n, c) : this.options.direction; + }, + _onTapStart: function(e) { + if (e.cancelable) { + var n = this, o = this.el, r = this.options, i = r.preventOnFilter, a = e.type, l = e.touches && e.touches[0] || e.pointerType && e.pointerType === "touch" && e, s = (l || e).target, u = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || s, d = r.filter; + if (Jn(o), !c && !(/mousedown|pointerdown/.test(a) && e.button !== 0 || r.disabled) && !u.isContentEditable && !(!this.nativeDraggable && _e && s && s.tagName.toUpperCase() === "SELECT") && (s = Z(s, r.draggable, o, !1), !(s && s.animated) && Ye !== s)) { + if (be = K(s), Ce = K(s, r.draggable), typeof d == "function") { + if (d.call(this, e, s, this)) { + W({ + sortable: n, + rootEl: u, + name: "filter", + targetEl: s, + toEl: o, + fromEl: o + }), G("filter", n, { + evt: e + }), i && e.cancelable && e.preventDefault(); + return; + } + } else if (d && (d = d.split(",").some(function(f) { + if (f = Z(u, f.trim(), o, !1), f) + return W({ + sortable: n, + rootEl: f, + name: "filter", + targetEl: s, + fromEl: o, + toEl: o + }), G("filter", n, { + evt: e + }), !0; + }), d)) { + i && e.cancelable && e.preventDefault(); + return; + } + r.handle && !Z(u, r.handle, o, !1) || this._prepareDragStart(e, l, s); + } + } + }, + _prepareDragStart: function(e, n, o) { + var r = this, i = r.el, a = r.options, l = i.ownerDocument, s; + if (o && !c && o.parentNode === i) { + var u = M(o); + if (C = i, c = o, I = c.parentNode, pe = c.nextSibling, Ye = o, Pe = a.group, p.dragged = c, de = { + target: c, + clientX: (n || e).clientX, + clientY: (n || e).clientY + }, xt = de.clientX - u.left, Nt = de.clientY - u.top, this._lastX = (n || e).clientX, this._lastY = (n || e).clientY, c.style["will-change"] = "all", s = function() { + if (G("delayEnded", r, { + evt: e + }), p.eventCanceled) { + r._onDrop(); + return; + } + r._disableDelayedDragEvents(), !Ct && r.nativeDraggable && (c.draggable = !0), r._triggerDragStart(e, n), W({ + sortable: r, + name: "choose", + originalEvent: e + }), V(c, a.chosenClass, !0); + }, a.ignore.split(",").forEach(function(d) { + Wt(c, d.trim(), tt); + }), D(l, "dragover", he), D(l, "mousemove", he), D(l, "touchmove", he), D(l, "mouseup", r._onDrop), D(l, "touchend", r._onDrop), D(l, "touchcancel", r._onDrop), Ct && this.nativeDraggable && (this.options.touchStartThreshold = 4, c.draggable = !0), G("delayStart", this, { + evt: e + }), a.delay && (!a.delayOnTouchOnly || n) && (!this.nativeDraggable || !(Ae || ie))) { + if (p.eventCanceled) { + this._onDrop(); + return; + } + D(l, "mouseup", r._disableDelayedDrag), D(l, "touchend", r._disableDelayedDrag), D(l, "touchcancel", r._disableDelayedDrag), D(l, "mousemove", r._delayedDragTouchMoveHandler), D(l, "touchmove", r._delayedDragTouchMoveHandler), a.supportPointer && D(l, "pointermove", r._delayedDragTouchMoveHandler), r._dragStartTimer = setTimeout(s, a.delay); + } else + s(); + } + }, + _delayedDragTouchMoveHandler: function(e) { + var n = e.touches ? e.touches[0] : e; + Math.max(Math.abs(n.clientX - this._lastX), Math.abs(n.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag(); + }, + _disableDelayedDrag: function() { + c && tt(c), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents(); + }, + _disableDelayedDragEvents: function() { + var e = this.el.ownerDocument; + S(e, "mouseup", this._disableDelayedDrag), S(e, "touchend", this._disableDelayedDrag), S(e, "touchcancel", this._disableDelayedDrag), S(e, "mousemove", this._delayedDragTouchMoveHandler), S(e, "touchmove", this._delayedDragTouchMoveHandler), S(e, "pointermove", this._delayedDragTouchMoveHandler); + }, + _triggerDragStart: function(e, n) { + n = n || e.pointerType == "touch" && e, !this.nativeDraggable || n ? this.options.supportPointer ? D(document, "pointermove", this._onTouchMove) : n ? D(document, "touchmove", this._onTouchMove) : D(document, "mousemove", this._onTouchMove) : (D(c, "dragend", this), D(C, "dragstart", this._onDragStart)); + try { + document.selection ? ke(function() { + document.selection.empty(); + }) : window.getSelection().removeAllRanges(); + } catch (o) { + } + }, + _dragStarted: function(e, n) { + if (ve = !1, C && c) { + G("dragStarted", this, { + evt: n + }), this.nativeDraggable && D(document, "dragover", Gn); + var o = this.options; + !e && V(c, o.dragClass, !1), V(c, o.ghostClass, !0), p.active = this, e && this._appendGhost(), W({ + sortable: this, + name: "start", + originalEvent: n + }); + } else + this._nulling(); + }, + _emulateDragOver: function() { + if (J) { + this._lastX = J.clientX, this._lastY = J.clientY, Kt(); + for (var e = document.elementFromPoint(J.clientX, J.clientY), n = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(J.clientX, J.clientY), e !== n); ) + n = e; + if (c.parentNode[q]._isOutsideThisEl(e), n) + do { + if (n[q]) { + var o = void 0; + if (o = n[q]._onDragOver({ + clientX: J.clientX, + clientY: J.clientY, + target: e, + rootEl: n + }), o && !this.options.dragoverBubble) + break; + } + e = n; + } while (n = n.parentNode); + Jt(); + } + }, + _onTouchMove: function(e) { + if (de) { + var n = this.options, o = n.fallbackTolerance, r = n.fallbackOffset, i = e.touches ? e.touches[0] : e, a = g && ye(g, !0), l = g && a && a.a, s = g && a && a.d, u = Fe && B && At(B), d = (i.clientX - de.clientX + r.x) / (l || 1) + (u ? u[0] - et[0] : 0) / (l || 1), f = (i.clientY - de.clientY + r.y) / (s || 1) + (u ? u[1] - et[1] : 0) / (s || 1); + if (!p.active && !ve) { + if (o && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < o) + return; + this._onDragStart(e, !0); + } + if (g) { + a ? (a.e += d - (Ze || 0), a.f += f - (Qe || 0)) : a = { + a: 1, + b: 0, + c: 0, + d: 1, + e: d, + f + }; + var m = "matrix(".concat(a.a, ",").concat(a.b, ",").concat(a.c, ",").concat(a.d, ",").concat(a.e, ",").concat(a.f, ")"); + h(g, "webkitTransform", m), h(g, "mozTransform", m), h(g, "msTransform", m), h(g, "transform", m), Ze = d, Qe = f, J = i; + } + e.cancelable && e.preventDefault(); + } + }, + _appendGhost: function() { + if (!g) { + var e = this.options.fallbackOnBody ? document.body : C, n = M(c, !0, Fe, !0, e), o = this.options; + if (Fe) { + for (B = e; h(B, "position") === "static" && h(B, "transform") === "none" && B !== document; ) + B = B.parentNode; + B !== document.body && B !== document.documentElement ? (B === document && (B = ee()), n.top += B.scrollTop, n.left += B.scrollLeft) : B = ee(), et = At(B); + } + g = c.cloneNode(!0), V(g, o.ghostClass, !1), V(g, o.fallbackClass, !0), V(g, o.dragClass, !0), h(g, "transition", ""), h(g, "transform", ""), h(g, "box-sizing", "border-box"), h(g, "margin", 0), h(g, "top", n.top), h(g, "left", n.left), h(g, "width", n.width), h(g, "height", n.height), h(g, "opacity", "0.8"), h(g, "position", Fe ? "absolute" : "fixed"), h(g, "zIndex", "100000"), h(g, "pointerEvents", "none"), p.ghost = g, e.appendChild(g), h(g, "transform-origin", xt / parseInt(g.style.width) * 100 + "% " + Nt / parseInt(g.style.height) * 100 + "%"); + } + }, + _onDragStart: function(e, n) { + var o = this, r = e.dataTransfer, i = o.options; + if (G("dragStart", this, { + evt: e + }), p.eventCanceled) { + this._onDrop(); + return; + } + G("setupClone", this), p.eventCanceled || (O = zt(c), O.removeAttribute("id"), O.draggable = !1, O.style["will-change"] = "", this._hideClone(), V(O, this.options.chosenClass, !1), p.clone = O), o.cloneId = ke(function() { + G("clone", o), !p.eventCanceled && (o.options.removeCloneOnHide || C.insertBefore(O, c), o._hideClone(), W({ + sortable: o, + name: "clone" + })); + }), !n && V(c, i.dragClass, !0), n ? (We = !0, o._loopId = setInterval(o._emulateDragOver, 50)) : (S(document, "mouseup", o._onDrop), S(document, "touchend", o._onDrop), S(document, "touchcancel", o._onDrop), r && (r.effectAllowed = "move", i.setData && i.setData.call(o, r, c)), D(document, "drop", o), h(c, "transform", "translateZ(0)")), ve = !0, o._dragStartId = ke(o._dragStarted.bind(o, n, e)), D(document, "selectstart", o), Ee = !0, _e && h(document.body, "user-select", "none"); + }, + // Returns true - if no further action is needed (either inserted or another condition) + _onDragOver: function(e) { + var n = this.el, o = e.target, r, i, a, l = this.options, s = l.group, u = p.active, d = Pe === s, f = l.sort, m = X || u, y, b = this, E = !1; + if (at) + return; + function k(ce, nn) { + G(ce, b, te({ + evt: e, + isOwner: d, + axis: y ? "vertical" : "horizontal", + revert: a, + dragRect: r, + targetRect: i, + canSort: f, + fromSortable: m, + target: o, + completed: F, + onMove: function(gt, on) { + return Re(C, n, c, r, gt, M(gt), e, on); + }, + changed: A + }, nn)); + } + function H() { + k("dragOverAnimationCapture"), b.captureAnimationState(), b !== m && m.captureAnimationState(); + } + function F(ce) { + return k("dragOverCompleted", { + insertion: ce + }), ce && (d ? u._hideClone() : u._showClone(b), b !== m && (V(c, X ? X.options.ghostClass : u.options.ghostClass, !1), V(c, l.ghostClass, !0)), X !== b && b !== p.active ? X = b : b === p.active && X && (X = null), m === b && (b._ignoreWhileAnimating = o), b.animateAll(function() { + k("dragOverAnimationComplete"), b._ignoreWhileAnimating = null; + }), b !== m && (m.animateAll(), m._ignoreWhileAnimating = null)), (o === c && !c.animated || o === n && !o.animated) && (me = null), !l.dragoverBubble && !e.rootEl && o !== document && (c.parentNode[q]._isOutsideThisEl(e.target), !ce && he(e)), !l.dragoverBubble && e.stopPropagation && e.stopPropagation(), E = !0; + } + function A() { + $ = K(c), le = K(c, l.draggable), W({ + sortable: b, + name: "change", + toEl: n, + newIndex: $, + newDraggableIndex: le, + originalEvent: e + }); + } + if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), o = Z(o, l.draggable, n, !0), k("dragOver"), p.eventCanceled) + return E; + if (c.contains(e.target) || o.animated && o.animatingX && o.animatingY || b._ignoreWhileAnimating === o) + return F(!1); + if (We = !1, u && !l.disabled && (d ? f || (a = I !== C) : X === this || (this.lastPutMode = Pe.checkPull(this, u, c, e)) && s.checkPut(this, u, c, e))) { + if (y = this._getDirection(e, o) === "vertical", r = M(c), k("dragOverValid"), p.eventCanceled) + return E; + if (a) + return I = C, H(), this._hideClone(), k("revert"), p.eventCanceled || (pe ? C.insertBefore(c, pe) : C.appendChild(c)), F(!0); + var L = dt(n, l.draggable); + if (!L || Vn(e, y, this) && !L.animated) { + if (L === c) + return F(!1); + if (L && n === e.target && (o = L), o && (i = M(o)), Re(C, n, c, r, o, i, e, !!o) !== !1) + return H(), L && L.nextSibling ? n.insertBefore(c, L.nextSibling) : n.appendChild(c), I = n, A(), F(!0); + } else if (L && Un(e, y, this)) { + var ne = we(n, 0, l, !0); + if (ne === c) + return F(!1); + if (o = ne, i = M(o), Re(C, n, c, r, o, i, e, !1) !== !1) + return H(), n.insertBefore(c, ne), I = n, A(), F(!0); + } else if (o.parentNode === n) { + i = M(o); + var j = 0, Q, v = c.parentNode !== n, w = !Ln(c.animated && c.toRect || r, o.animated && o.toRect || i, y), x = y ? "top" : "left", N = It(o, "top", "top") || It(c, "top", "top"), _ = N ? N.scrollTop : void 0; + me !== o && (Q = i[x], Ie = !1, Me = !w && l.invertSwap || v), j = $n(e, o, i, y, w ? 1 : l.swapThreshold, l.invertedSwapThreshold == null ? l.swapThreshold : l.invertedSwapThreshold, Me, me === o); + var T; + if (j !== 0) { + var R = K(c); + do + R -= j, T = I.children[R]; + while (T && (h(T, "display") === "none" || T === g)); + } + if (j === 0 || T === o) + return F(!1); + me = o, Oe = j; + var Y = o.nextElementSibling, z = !1; + z = j === 1; + var ae = Re(C, n, c, r, o, i, e, z); + if (ae !== !1) + return (ae === 1 || ae === -1) && (z = ae === 1), at = !0, setTimeout(zn, 30), H(), z && !Y ? n.appendChild(c) : o.parentNode.insertBefore(c, z ? Y : o), N && jt(N, 0, _ - N.scrollTop), I = c.parentNode, Q !== void 0 && !Me && (Be = Math.abs(Q - M(o)[x])), A(), F(!0); + } + if (n.contains(c)) + return F(!1); + } + return !1; + }, + _ignoreWhileAnimating: null, + _offMoveEvents: function() { + S(document, "mousemove", this._onTouchMove), S(document, "touchmove", this._onTouchMove), S(document, "pointermove", this._onTouchMove), S(document, "dragover", he), S(document, "mousemove", he), S(document, "touchmove", he); + }, + _offUpEvents: function() { + var e = this.el.ownerDocument; + S(e, "mouseup", this._onDrop), S(e, "touchend", this._onDrop), S(e, "pointerup", this._onDrop), S(e, "touchcancel", this._onDrop), S(document, "selectstart", this); + }, + _onDrop: function(e) { + var n = this.el, o = this.options; + if ($ = K(c), le = K(c, o.draggable), G("drop", this, { + evt: e + }), I = c && c.parentNode, $ = K(c), le = K(c, o.draggable), p.eventCanceled) { + this._nulling(); + return; + } + ve = !1, Me = !1, Ie = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), lt(this.cloneId), lt(this._dragStartId), this.nativeDraggable && (S(document, "drop", this), S(n, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), _e && h(document.body, "user-select", ""), h(c, "transform", ""), e && (Ee && (e.cancelable && e.preventDefault(), !o.dropBubble && e.stopPropagation()), g && g.parentNode && g.parentNode.removeChild(g), (C === I || X && X.lastPutMode !== "clone") && O && O.parentNode && O.parentNode.removeChild(O), c && (this.nativeDraggable && S(c, "dragend", this), tt(c), c.style["will-change"] = "", Ee && !ve && V(c, X ? X.options.ghostClass : this.options.ghostClass, !1), V(c, this.options.chosenClass, !1), W({ + sortable: this, + name: "unchoose", + toEl: I, + newIndex: null, + newDraggableIndex: null, + originalEvent: e + }), C !== I ? ($ >= 0 && (W({ + rootEl: I, + name: "add", + toEl: I, + fromEl: C, + originalEvent: e + }), W({ + sortable: this, + name: "remove", + toEl: I, + originalEvent: e + }), W({ + rootEl: I, + name: "sort", + toEl: I, + fromEl: C, + originalEvent: e + }), W({ + sortable: this, + name: "sort", + toEl: I, + originalEvent: e + })), X && X.save()) : $ !== be && $ >= 0 && (W({ + sortable: this, + name: "update", + toEl: I, + originalEvent: e + }), W({ + sortable: this, + name: "sort", + toEl: I, + originalEvent: e + })), p.active && (($ == null || $ === -1) && ($ = be, le = Ce), W({ + sortable: this, + name: "end", + toEl: I, + originalEvent: e + }), this.save()))), this._nulling(); + }, + _nulling: function() { + G("nulling", this), C = c = I = g = pe = O = Ye = se = de = J = Ee = $ = le = be = Ce = me = Oe = X = Pe = p.dragged = p.ghost = p.clone = p.active = null, je.forEach(function(e) { + e.checked = !0; + }), je.length = Ze = Qe = 0; + }, + handleEvent: function(e) { + switch (e.type) { + case "drop": + case "dragend": + this._onDrop(e); + break; + case "dragenter": + case "dragover": + c && (this._onDragOver(e), jn(e)); + break; + case "selectstart": + e.preventDefault(); + break; + } + }, + /** + * Serializes the item into an array of string. + * @returns {String[]} + */ + toArray: function() { + for (var e = [], n, o = this.el.children, r = 0, i = o.length, a = this.options; r < i; r++) + n = o[r], Z(n, a.draggable, this.el, !1) && e.push(n.getAttribute(a.dataIdAttr) || Kn(n)); + return e; + }, + /** + * Sorts the elements according to the array. + * @param {String[]} order order of the items + */ + sort: function(e, n) { + var o = {}, r = this.el; + this.toArray().forEach(function(i, a) { + var l = r.children[a]; + Z(l, this.options.draggable, r, !1) && (o[i] = l); + }, this), n && this.captureAnimationState(), e.forEach(function(i) { + o[i] && (r.removeChild(o[i]), r.appendChild(o[i])); + }), n && this.animateAll(); + }, + /** + * Save the current sorting + */ + save: function() { + var e = this.options.store; + e && e.set && e.set(this); + }, + /** + * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. + * @param {HTMLElement} el + * @param {String} [selector] default: `options.draggable` + * @returns {HTMLElement|null} + */ + closest: function(e, n) { + return Z(e, n || this.options.draggable, this.el, !1); + }, + /** + * Set/get option + * @param {string} name + * @param {*} [value] + * @returns {*} + */ + option: function(e, n) { + var o = this.options; + if (n === void 0) + return o[e]; + var r = xe.modifyOption(this, e, n); + typeof r != "undefined" ? o[e] = r : o[e] = n, e === "group" && qt(o); + }, + /** + * Destroy + */ + destroy: function() { + G("destroy", this); + var e = this.el; + e[q] = null, S(e, "mousedown", this._onTapStart), S(e, "touchstart", this._onTapStart), S(e, "pointerdown", this._onTapStart), this.nativeDraggable && (S(e, "dragover", this), S(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), function(n) { + n.removeAttribute("draggable"); + }), this._onDrop(), this._disableDelayedDragEvents(), Ge.splice(Ge.indexOf(this.el), 1), this.el = e = null; + }, + _hideClone: function() { + if (!se) { + if (G("hideClone", this), p.eventCanceled) + return; + h(O, "display", "none"), this.options.removeCloneOnHide && O.parentNode && O.parentNode.removeChild(O), se = !0; + } + }, + _showClone: function(e) { + if (e.lastPutMode !== "clone") { + this._hideClone(); + return; + } + if (se) { + if (G("showClone", this), p.eventCanceled) + return; + c.parentNode == C && !this.options.group.revertClone ? C.insertBefore(O, c) : pe ? C.insertBefore(O, pe) : C.appendChild(O), this.options.group.revertClone && this.animate(c, O), h(O, "display", ""), se = !1; + } + } +}; +function jn(t) { + t.dataTransfer && (t.dataTransfer.dropEffect = "move"), t.cancelable && t.preventDefault(); +} +function Re(t, e, n, o, r, i, a, l) { + var s, u = t[q], d = u.options.onMove, f; + return window.CustomEvent && !ie && !Ae ? s = new CustomEvent("move", { + bubbles: !0, + cancelable: !0 + }) : (s = document.createEvent("Event"), s.initEvent("move", !0, !0)), s.to = e, s.from = t, s.dragged = n, s.draggedRect = o, s.related = r || e, s.relatedRect = i || M(e), s.willInsertAfter = l, s.originalEvent = a, t.dispatchEvent(s), d && (f = d.call(u, s, a)), f; +} +function tt(t) { + t.draggable = !1; +} +function zn() { + at = !1; +} +function Un(t, e, n) { + var o = M(we(n.el, 0, n.options, !0)), r = Ut(n.el, n.options, g), i = 10; + return e ? t.clientX < r.left - i || t.clientY < o.top && t.clientX < o.right : t.clientY < r.top - i || t.clientY < o.bottom && t.clientX < o.left; +} +function Vn(t, e, n) { + var o = M(dt(n.el, n.options.draggable)), r = Ut(n.el, n.options, g), i = 10; + return e ? t.clientX > r.right + i || t.clientY > o.bottom && t.clientX > o.left : t.clientY > r.bottom + i || t.clientX > o.right && t.clientY > o.top; +} +function $n(t, e, n, o, r, i, a, l) { + var s = o ? t.clientY : t.clientX, u = o ? n.height : n.width, d = o ? n.top : n.left, f = o ? n.bottom : n.right, m = !1; + if (!a) { + if (l && Be < u * r) { + if (!Ie && (Oe === 1 ? s > d + u * i / 2 : s < f - u * i / 2) && (Ie = !0), Ie) + m = !0; + else if (Oe === 1 ? s < d + Be : s > f - Be) + return -Oe; + } else if (s > d + u * (1 - r) / 2 && s < f - u * (1 - r) / 2) + return qn(e); + } + return m = m || a, m && (s < d + u * i / 2 || s > f - u * i / 2) ? s > d + u / 2 ? 1 : -1 : 0; +} +function qn(t) { + return K(c) < K(t) ? 1 : -1; +} +function Kn(t) { + for (var e = t.tagName + t.className + t.src + t.href + t.textContent, n = e.length, o = 0; n--; ) + o += e.charCodeAt(n); + return o.toString(36); +} +function Jn(t) { + je.length = 0; + for (var e = t.getElementsByTagName("input"), n = e.length; n--; ) { + var o = e[n]; + o.checked && je.push(o); + } +} +function ke(t) { + return setTimeout(t, 0); +} +function lt(t) { + return clearTimeout(t); +} +Ue && D(document, "touchmove", function(t) { + (p.active || ve) && t.cancelable && t.preventDefault(); +}); +p.utils = { + on: D, + off: S, + css: h, + find: Wt, + is: function(e, n) { + return !!Z(e, n, e, !1); + }, + extend: Mn, + throttle: Gt, + closest: Z, + toggleClass: V, + clone: zt, + index: K, + nextTick: ke, + cancelNextTick: lt, + detectDirection: $t, + getChild: we +}; +p.get = function(t) { + return t[q]; +}; +p.mount = function() { + for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) + e[n] = arguments[n]; + e[0].constructor === Array && (e = e[0]), e.forEach(function(o) { + if (!o.prototype || !o.prototype.constructor) + throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(o)); + o.utils && (p.utils = te(te({}, p.utils), o.utils)), xe.mount(o); + }); +}; +p.create = function(t, e) { + return new p(t, e); +}; +p.version = xn; +var P = [], Se, st, ut = !1, nt, ot, ze, De; +function Zn() { + function t() { + this.defaults = { + scroll: !0, + forceAutoScrollFallback: !1, + scrollSensitivity: 30, + scrollSpeed: 10, + bubbleScroll: !0 + }; + for (var e in this) + e.charAt(0) === "_" && typeof this[e] == "function" && (this[e] = this[e].bind(this)); + } + return t.prototype = { + dragStarted: function(n) { + var o = n.originalEvent; + this.sortable.nativeDraggable ? D(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? D(document, "pointermove", this._handleFallbackAutoScroll) : o.touches ? D(document, "touchmove", this._handleFallbackAutoScroll) : D(document, "mousemove", this._handleFallbackAutoScroll); + }, + dragOverCompleted: function(n) { + var o = n.originalEvent; + !this.options.dragOverBubble && !o.rootEl && this._handleAutoScroll(o); + }, + drop: function() { + this.sortable.nativeDraggable ? S(document, "dragover", this._handleAutoScroll) : (S(document, "pointermove", this._handleFallbackAutoScroll), S(document, "touchmove", this._handleFallbackAutoScroll), S(document, "mousemove", this._handleFallbackAutoScroll)), Mt(), He(), Fn(); + }, + nulling: function() { + ze = st = Se = ut = De = nt = ot = null, P.length = 0; + }, + _handleFallbackAutoScroll: function(n) { + this._handleAutoScroll(n, !0); + }, + _handleAutoScroll: function(n, o) { + var r = this, i = (n.touches ? n.touches[0] : n).clientX, a = (n.touches ? n.touches[0] : n).clientY, l = document.elementFromPoint(i, a); + if (ze = n, o || this.options.forceAutoScrollFallback || Ae || ie || _e) { + rt(n, this.options, l, o); + var s = ue(l, !0); + ut && (!De || i !== nt || a !== ot) && (De && Mt(), De = setInterval(function() { + var u = ue(document.elementFromPoint(i, a), !0); + u !== s && (s = u, He()), rt(n, r.options, u, o); + }, 10), nt = i, ot = a); + } else { + if (!this.options.bubbleScroll || ue(l, !0) === ee()) { + He(); + return; + } + rt(n, this.options, ue(l, !1), !1); + } + } + }, re(t, { + pluginName: "scroll", + initializeByDefault: !0 + }); +} +function He() { + P.forEach(function(t) { + clearInterval(t.pid); + }), P = []; +} +function Mt() { + clearInterval(De); +} +var rt = Gt(function(t, e, n, o) { + if (e.scroll) { + var r = (t.touches ? t.touches[0] : t).clientX, i = (t.touches ? t.touches[0] : t).clientY, a = e.scrollSensitivity, l = e.scrollSpeed, s = ee(), u = !1, d; + st !== n && (st = n, He(), Se = e.scroll, d = e.scrollFn, Se === !0 && (Se = ue(n, !0))); + var f = 0, m = Se; + do { + var y = m, b = M(y), E = b.top, k = b.bottom, H = b.left, F = b.right, A = b.width, L = b.height, ne = void 0, j = void 0, Q = y.scrollWidth, v = y.scrollHeight, w = h(y), x = y.scrollLeft, N = y.scrollTop; + y === s ? (ne = A < Q && (w.overflowX === "auto" || w.overflowX === "scroll" || w.overflowX === "visible"), j = L < v && (w.overflowY === "auto" || w.overflowY === "scroll" || w.overflowY === "visible")) : (ne = A < Q && (w.overflowX === "auto" || w.overflowX === "scroll"), j = L < v && (w.overflowY === "auto" || w.overflowY === "scroll")); + var _ = ne && (Math.abs(F - r) <= a && x + A < Q) - (Math.abs(H - r) <= a && !!x), T = j && (Math.abs(k - i) <= a && N + L < v) - (Math.abs(E - i) <= a && !!N); + if (!P[f]) + for (var R = 0; R <= f; R++) + P[R] || (P[R] = {}); + (P[f].vx != _ || P[f].vy != T || P[f].el !== y) && (P[f].el = y, P[f].vx = _, P[f].vy = T, clearInterval(P[f].pid), (_ != 0 || T != 0) && (u = !0, P[f].pid = setInterval(function() { + o && this.layer === 0 && p.active._onTouchMove(ze); + var Y = P[this.layer].vy ? P[this.layer].vy * l : 0, z = P[this.layer].vx ? P[this.layer].vx * l : 0; + typeof d == "function" && d.call(p.dragged.parentNode[q], z, Y, t, ze, P[this.layer].el) !== "continue" || jt(P[this.layer].el, z, Y); + }.bind({ + layer: f + }), 24))), f++; + } while (e.bubbleScroll && m !== s && (m = ue(m, !1))); + ut = u; + } +}, 30), Zt = function(e) { + var n = e.originalEvent, o = e.putSortable, r = e.dragEl, i = e.activeSortable, a = e.dispatchSortableEvent, l = e.hideGhostForTarget, s = e.unhideGhostForTarget; + if (n) { + var u = o || i; + l(); + var d = n.changedTouches && n.changedTouches.length ? n.changedTouches[0] : n, f = document.elementFromPoint(d.clientX, d.clientY); + s(), u && !u.el.contains(f) && (a("spill"), this.onSpill({ + dragEl: r, + putSortable: o + })); + } +}; +function ht() { +} +ht.prototype = { + startIndex: null, + dragStart: function(e) { + var n = e.oldDraggableIndex; + this.startIndex = n; + }, + onSpill: function(e) { + var n = e.dragEl, o = e.putSortable; + this.sortable.captureAnimationState(), o && o.captureAnimationState(); + var r = we(this.sortable.el, this.startIndex, this.options); + r ? this.sortable.el.insertBefore(n, r) : this.sortable.el.appendChild(n), this.sortable.animateAll(), o && o.animateAll(); + }, + drop: Zt +}; +re(ht, { + pluginName: "revertOnSpill" +}); +function pt() { +} +pt.prototype = { + onSpill: function(e) { + var n = e.dragEl, o = e.putSortable, r = o || this.sortable; + r.captureAnimationState(), n.parentNode && n.parentNode.removeChild(n), r.animateAll(); + }, + drop: Zt +}; +re(pt, { + pluginName: "removeOnSpill" +}); +p.mount(new Zn()); +p.mount(pt, ht); +function Qn(t) { + return t == null ? t : JSON.parse(JSON.stringify(t)); +} +function eo(t) { + ft() && ln(t); +} +function to(t) { + ft() ? sn(t) : Yt(t); +} +let Qt = null, en = null; +function Ft(t = null, e = null) { + Qt = t, en = e; +} +function no() { + return { + data: Qt, + clonedData: en + }; +} +const Rt = Symbol("cloneElement"); +function tn(...t) { + var j, Q; + const e = (j = ft()) == null ? void 0 : j.proxy; + let n = null; + const o = t[0]; + let [, r, i] = t; + Array.isArray(U(r)) || (i = r, r = null); + let a = null; + const { + immediate: l = !0, + clone: s = Qn, + customUpdate: u + } = (Q = U(i)) != null ? Q : {}; + function d(v) { + var R; + const { from: w, oldIndex: x, item: N } = v; + n = Array.from(w.childNodes); + const _ = U((R = U(r)) == null ? void 0 : R[x]), T = s(_); + Ft(_, T), N[Rt] = T; + } + function f(v) { + const w = v.item[Rt]; + if (!yn(w)) { + if (qe(v.item), $e(r)) { + const x = [...U(r)]; + r.value = St(x, v.newDraggableIndex, w); + return; + } + St(U(r), v.newDraggableIndex, w); + } + } + function m(v) { + const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, pullMode: T, clone: R } = v; + if (Dt(w, x, N), T === "clone") { + qe(R); + return; + } + if ($e(r)) { + const Y = [...U(r)]; + r.value = Et(Y, _); + return; + } + Et(U(r), _); + } + function y(v) { + if (u) { + u(v); + return; + } + const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, newDraggableIndex: T } = v; + if (qe(x), Dt(w, x, N), $e(r)) { + const R = [...U(r)]; + r.value = wt( + R, + _, + T + ); + return; + } + wt(U(r), _, T); + } + function b(v) { + const { newIndex: w, oldIndex: x, from: N, to: _ } = v; + let T = null; + const R = w === x && N === _; + try { + if (R) { + let Y = null; + n == null || n.some((z, ae) => { + if (Y && (n == null ? void 0 : n.length) !== _.childNodes.length) + return N.insertBefore(Y, z.nextSibling), !0; + const ce = _.childNodes[ae]; + Y = _ == null ? void 0 : _.replaceChild(z, ce); + }); + } + } catch (Y) { + T = Y; + } finally { + n = null; + } + Yt(() => { + if (Ft(), T) + throw T; + }); + } + const E = { + onUpdate: y, + onStart: d, + onAdd: f, + onRemove: m, + onEnd: b + }; + function k(v) { + const w = U(o); + return v || (v = wn(w) ? En(w, e == null ? void 0 : e.$el) : w), v && !_n(v) && (v = v.$el), v || mn("Root element not found"), v; + } + function H() { + var N; + const _ = (N = U(i)) != null ? N : {}, { immediate: v, clone: w } = _, x = Ve(_, ["immediate", "clone"]); + return _t(x, (T, R) => { + Tn(T) && (x[T] = (Y, ...z) => { + const ae = no(); + return Cn(Y, ae), R(Y, ...z); + }); + }), Dn( + r === null ? {} : E, + x + ); + } + const F = (v) => { + v = k(v), a && A.destroy(), a = new p(v, H()); + }; + an( + () => i, + () => { + a && _t(H(), (v, w) => { + a == null || a.option(v, w); + }); + }, + { deep: !0 } + ); + const A = { + option: (v, w) => a == null ? void 0 : a.option(v, w), + destroy: () => { + a == null || a.destroy(), a = null; + }, + save: () => a == null ? void 0 : a.save(), + toArray: () => a == null ? void 0 : a.toArray(), + closest: (...v) => a == null ? void 0 : a.closest(...v) + }, L = () => A == null ? void 0 : A.option("disabled", !0), ne = () => A == null ? void 0 : A.option("disabled", !1); + return to(() => { + l && F(); + }), eo(A.destroy), fe({ start: F, pause: L, resume: ne }, A); +} +const ct = [ + "update", + "start", + "add", + "remove", + "choose", + "unchoose", + "end", + "sort", + "filter", + "clone", + "move", + "change" +], oo = [ + "clone", + "animation", + "ghostClass", + "group", + "sort", + "disabled", + "store", + "handle", + "draggable", + "swapThreshold", + "invertSwap", + "invertedSwapThreshold", + "removeCloneOnHide", + "direction", + "chosenClass", + "dragClass", + "ignore", + "filter", + "preventOnFilter", + "easing", + "setData", + "dropBubble", + "dragoverBubble", + "dataIdAttr", + "delay", + "delayOnTouchOnly", + "touchStartThreshold", + "forceFallback", + "fallbackClass", + "fallbackOnBody", + "fallbackTolerance", + "fallbackOffset", + "supportPointer", + "emptyInsertThreshold", + "scroll", + "forceAutoScrollFallback", + "scrollSensitivity", + "scrollSpeed", + "bubbleScroll", + "modelValue", + "tag", + "target", + "customUpdate", + ...ct.map((t) => `on${t.replace(/^\S/, (e) => e.toUpperCase())}`) +], lo = un({ + name: "VueDraggable", + model: { + prop: "modelValue", + event: "update:modelValue" + }, + props: oo, + emits: ["update:modelValue", ...ct], + setup(t, { slots: e, emit: n, expose: o, attrs: r }) { + const i = ct.reduce((d, f) => { + const m = `on${f.replace(/^\S/, (y) => y.toUpperCase())}`; + return d[m] = (...y) => n(f, ...y), d; + }, {}), a = yt(() => { + const y = cn(t), { modelValue: d } = y, f = Ve(y, ["modelValue"]), m = Object.entries(f).reduce((b, [E, k]) => { + const H = U(k); + return H !== void 0 && (b[E] = H), b; + }, {}); + return fe(fe({}, i), bn(fe(fe({}, r), m))); + }), l = yt({ + get: () => t.modelValue, + set: (d) => n("update:modelValue", d) + }), s = fn(), u = dn( + tn(t.target || s, l, a) + ); + return o(u), () => { + var d; + return hn(t.tag || "div", { ref: s }, (d = e == null ? void 0 : e.default) == null ? void 0 : d.call(e, u)); + }; + } +}), Xt = { + mounted: "mounted", + unmounted: "unmounted" +}, it = /* @__PURE__ */ new WeakMap(), so = { + [Xt.mounted](t, e) { + const n = pn(e.value) ? [e.value] : e.value, [o, r] = n, i = tn(t, o, r); + it.set(t, i.destroy); + }, + [Xt.unmounted](t) { + var e; + (e = it.get(t)) == null || e(), it.delete(t); + } +}; +export { + lo as VueDraggable, + tn as useDraggable, + so as vDraggable +}; diff --git a/node_modules/vue-draggable-plus/dist/vue-draggable-plus.umd.cjs b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.umd.cjs new file mode 100644 index 0000000..9af28ca --- /dev/null +++ b/node_modules/vue-draggable-plus/dist/vue-draggable-plus.umd.cjs @@ -0,0 +1,6 @@ +(function(T,h){typeof exports=="object"&&typeof module!="undefined"?h(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],h):(T=typeof globalThis!="undefined"?globalThis:T||self,h(T.VueDraggablePlus={},T.Vue))})(this,function(T,h){"use strict";var Un=Object.defineProperty;var qe=Object.getOwnPropertySymbols;var Zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable;var Jt=(T,h,B)=>h in T?Un(T,h,{enumerable:!0,configurable:!0,writable:!0,value:B}):T[h]=B,ve=(T,h)=>{for(var B in h||(h={}))Zt.call(h,B)&&Jt(T,B,h[B]);if(qe)for(var B of qe(h))Qt.call(h,B)&&Jt(T,B,h[B]);return T};var mt=(T,h)=>{var B={};for(var Q in T)Zt.call(T,Q)&&h.indexOf(Q)<0&&(B[Q]=T[Q]);if(T!=null&&qe)for(var Q of qe(T))h.indexOf(Q)<0&&Qt.call(T,Q)&&(B[Q]=T[Q]);return B};const B="[vue-draggable-plus]: ";function Q(t){console.warn(B+t)}function en(t){console.error(B+t)}function vt(t,e,n){return n>=0&&nn?n.toUpperCase():"")}function nn(t){return Object.keys(t).reduce((e,n)=>(typeof t[n]!="undefined"&&(e[tn(n)]=t[n]),e),{})}function bt(t,e){return Array.isArray(t)&&t.splice(e,1),t}function yt(t,e,n){return Array.isArray(t)&&t.splice(e,0,n),t}function on(t){return typeof t=="undefined"}function rn(t){return typeof t=="string"}function wt(t,e,n){const o=t.children[n];t.insertBefore(e,o)}function Ke(t){t.parentNode&&t.parentNode.removeChild(t)}function an(t,e=document){var o;let n=null;return typeof(e==null?void 0:e.querySelector)=="function"?n=(o=e==null?void 0:e.querySelector)==null?void 0:o.call(e,t):n=document.querySelector(t),n||Q(`Element not found: ${t}`),n}function ln(t,e,n=null){return function(...o){return t.apply(n,o),e.apply(n,o)}}function sn(t,e){const n=ve({},t);return Object.keys(e).forEach(o=>{n[o]?n[o]=ln(t[o],e[o]):n[o]=e[o]}),n}function un(t){return t instanceof HTMLElement}function Et(t,e){Object.keys(t).forEach(n=>{e(n,t[n])})}function fn(t){return t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97)}const cn=Object.assign;/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */function St(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function ne(t){for(var e=1;e=0)&&(n[r]=t[r]);return n}function pn(t,e){if(t==null)return{};var n=hn(t,e),o,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var gn="1.15.2";function ae(t){if(typeof window!="undefined"&&window.navigator)return!!navigator.userAgent.match(t)}var le=ae(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),_e=ae(/Edge/i),Dt=ae(/firefox/i),Te=ae(/safari/i)&&!ae(/chrome/i)&&!ae(/android/i),_t=ae(/iP(ad|od|hone)/i),Tt=ae(/chrome/i)&&ae(/android/i),Ct={capture:!1,passive:!1};function _(t,e,n){t.addEventListener(e,n,!le&&Ct)}function S(t,e,n){t.removeEventListener(e,n,!le&&Ct)}function Re(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function mn(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ee(t,e,n,o){if(t){n=n||document;do{if(e!=null&&(e[0]===">"?t.parentNode===n&&Re(t,e):Re(t,e))||o&&t===n)return t;if(t===n)break}while(t=mn(t))}return null}var Ot=/\s+/g;function U(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(Ot," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(Ot," ")}}function p(t,e,n){var o=t&&t.style;if(o){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),e===void 0?n:n[e];!(e in o)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),o[e]=n+(typeof n=="string"?"":"px")}}function be(t,e){var n="";if(typeof t=="string")n=t;else do{var o=p(t,"transform");o&&o!=="none"&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function It(t,e,n){if(t){var o=t.getElementsByTagName(e),r=0,i=o.length;if(n)for(;r=i,!a)return o;if(o===oe())break;o=ue(o,!1)}return!1}function ye(t,e,n,o){for(var r=0,i=0,a=t.children;i2&&arguments[2]!==void 0?arguments[2]:{},r=o.evt,i=pn(o,_n);Oe.pluginEvent.bind(g)(e,n,ne({dragEl:f,parentEl:x,ghostEl:m,rootEl:C,nextEl:he,lastDownEl:Xe,cloneEl:A,cloneHidden:fe,dragStarted:Ae,putSortable:k,activeSortable:g.active,originalEvent:r,oldIndex:Ee,oldDraggableIndex:Ie,newIndex:q,newDraggableIndex:ce,hideGhostForTarget:Lt,unhideGhostForTarget:Wt,cloneNowHidden:function(){fe=!0},cloneNowShown:function(){fe=!1},dispatchSortableEvent:function(l){W({sortable:n,name:l,originalEvent:r})}},i))};function W(t){Dn(ne({putSortable:k,cloneEl:A,targetEl:f,rootEl:C,oldIndex:Ee,oldDraggableIndex:Ie,newIndex:q,newDraggableIndex:ce},t))}var f,x,m,C,he,Xe,A,fe,Ee,q,Ie,ce,Ye,k,Se=!1,Be=!1,ke=[],pe,te,et,tt,Rt,Xt,Ae,De,xe,Pe=!1,He=!1,Le,H,nt=[],ot=!1,We=[],je=typeof document!="undefined",Ge=_t,Yt=_e||le?"cssFloat":"float",Tn=je&&!Tt&&!_t&&"draggable"in document.createElement("div"),Bt=function(){if(je){if(le)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}}(),kt=function(e,n){var o=p(e),r=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),i=ye(e,0,n),a=ye(e,1,n),l=i&&p(i),s=a&&p(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+N(i).width,d=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+N(a).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===c)?"vertical":"horizontal"}return i&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=r&&o[Yt]==="none"||a&&o[Yt]==="none"&&u+d>r)?"vertical":"horizontal"},Cn=function(e,n,o){var r=o?e.left:e.top,i=o?e.right:e.bottom,a=o?e.width:e.height,l=o?n.left:n.top,s=o?n.right:n.bottom,u=o?n.width:n.height;return r===l||i===s||r+a/2===l+u/2},On=function(e,n){var o;return ke.some(function(r){var i=r[$].options.emptyInsertThreshold;if(!(!i||Je(r))){var a=N(r),l=e>=a.left-i&&e<=a.right+i,s=n>=a.top-i&&n<=a.bottom+i;if(l&&s)return o=r}}),o},Ht=function(e){function n(i,a){return function(l,s,u,d){var c=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(i==null&&(a||c))return!0;if(i==null||i===!1)return!1;if(a&&i==="clone")return i;if(typeof i=="function")return n(i(l,s,u,d),a)(l,s,u,d);var v=(a?l:s).options.group.name;return i===!0||typeof i=="string"&&i===v||i.join&&i.indexOf(v)>-1}}var o={},r=e.group;(!r||Fe(r)!="object")&&(r={name:r}),o.name=r.name,o.checkPull=n(r.pull,!0),o.checkPut=n(r.put),o.revertClone=r.revertClone,e.group=o},Lt=function(){!Bt&&m&&p(m,"display","none")},Wt=function(){!Bt&&m&&p(m,"display","")};je&&!Tt&&document.addEventListener("click",function(t){if(Be)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Be=!1,!1},!0);var ge=function(e){if(f){e=e.touches?e.touches[0]:e;var n=On(e.clientX,e.clientY);if(n){var o={};for(var r in e)e.hasOwnProperty(r)&&(o[r]=e[r]);o.target=o.rootEl=n,o.preventDefault=void 0,o.stopPropagation=void 0,n[$]._onDragOver(o)}}},In=function(e){f&&f.parentNode[$]._isOutsideThisEl(e.target)};function g(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=ie({},e),t[$]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return kt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:g.supportPointer!==!1&&"PointerEvent"in window&&!Te,emptyInsertThreshold:5};Oe.initializePlugins(this,t,n);for(var o in n)!(o in e)&&(e[o]=n[o]);Ht(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:Tn,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?_(t,"pointerdown",this._onTapStart):(_(t,"mousedown",this._onTapStart),_(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(_(t,"dragover",this),_(t,"dragenter",this)),ke.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),ie(this,wn())}g.prototype={constructor:g,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(De=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,f):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,r=this.options,i=r.preventOnFilter,a=e.type,l=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(l||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,d=r.filter;if(Xn(o),!f&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Te&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=ee(s,r.draggable,o,!1),!(s&&s.animated)&&Xe!==s)){if(Ee=Z(s),Ie=Z(s,r.draggable),typeof d=="function"){if(d.call(this,e,s,this)){W({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:o,fromEl:o}),V("filter",n,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=ee(u,c.trim(),o,!1),c)return W({sortable:n,rootEl:c,name:"filter",targetEl:s,fromEl:o,toEl:o}),V("filter",n,{evt:e}),!0}),d)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!ee(u,r.handle,o,!1)||this._prepareDragStart(e,l,s)}}},_prepareDragStart:function(e,n,o){var r=this,i=r.el,a=r.options,l=i.ownerDocument,s;if(o&&!f&&o.parentNode===i){var u=N(o);if(C=i,f=o,x=f.parentNode,he=f.nextSibling,Xe=o,Ye=a.group,g.dragged=f,pe={target:f,clientX:(n||e).clientX,clientY:(n||e).clientY},Rt=pe.clientX-u.left,Xt=pe.clientY-u.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,f.style["will-change"]="all",s=function(){if(V("delayEnded",r,{evt:e}),g.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!Dt&&r.nativeDraggable&&(f.draggable=!0),r._triggerDragStart(e,n),W({sortable:r,name:"choose",originalEvent:e}),U(f,a.chosenClass,!0)},a.ignore.split(",").forEach(function(d){It(f,d.trim(),rt)}),_(l,"dragover",ge),_(l,"mousemove",ge),_(l,"touchmove",ge),_(l,"mouseup",r._onDrop),_(l,"touchend",r._onDrop),_(l,"touchcancel",r._onDrop),Dt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,f.draggable=!0),V("delayStart",this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(_e||le))){if(g.eventCanceled){this._onDrop();return}_(l,"mouseup",r._disableDelayedDrag),_(l,"touchend",r._disableDelayedDrag),_(l,"touchcancel",r._disableDelayedDrag),_(l,"mousemove",r._delayedDragTouchMoveHandler),_(l,"touchmove",r._delayedDragTouchMoveHandler),a.supportPointer&&_(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){f&&rt(f),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;S(e,"mouseup",this._disableDelayedDrag),S(e,"touchend",this._disableDelayedDrag),S(e,"touchcancel",this._disableDelayedDrag),S(e,"mousemove",this._delayedDragTouchMoveHandler),S(e,"touchmove",this._delayedDragTouchMoveHandler),S(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?_(document,"pointermove",this._onTouchMove):n?_(document,"touchmove",this._onTouchMove):_(document,"mousemove",this._onTouchMove):(_(f,"dragend",this),_(C,"dragstart",this._onDragStart));try{document.selection?Ve(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(o){}},_dragStarted:function(e,n){if(Se=!1,C&&f){V("dragStarted",this,{evt:n}),this.nativeDraggable&&_(document,"dragover",In);var o=this.options;!e&&U(f,o.dragClass,!1),U(f,o.ghostClass,!0),g.active=this,e&&this._appendGhost(),W({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(te){this._lastX=te.clientX,this._lastY=te.clientY,Lt();for(var e=document.elementFromPoint(te.clientX,te.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(te.clientX,te.clientY),e!==n);)n=e;if(f.parentNode[$]._isOutsideThisEl(e),n)do{if(n[$]){var o=void 0;if(o=n[$]._onDragOver({clientX:te.clientX,clientY:te.clientY,target:e,rootEl:n}),o&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);Wt()}},_onTouchMove:function(e){if(pe){var n=this.options,o=n.fallbackTolerance,r=n.fallbackOffset,i=e.touches?e.touches[0]:e,a=m&&be(m,!0),l=m&&a&&a.a,s=m&&a&&a.d,u=Ge&&H&&xt(H),d=(i.clientX-pe.clientX+r.x)/(l||1)+(u?u[0]-nt[0]:0)/(l||1),c=(i.clientY-pe.clientY+r.y)/(s||1)+(u?u[1]-nt[1]:0)/(s||1);if(!g.active&&!Se){if(o&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(W({rootEl:x,name:"add",toEl:x,fromEl:C,originalEvent:e}),W({sortable:this,name:"remove",toEl:x,originalEvent:e}),W({rootEl:x,name:"sort",toEl:x,fromEl:C,originalEvent:e}),W({sortable:this,name:"sort",toEl:x,originalEvent:e})),k&&k.save()):q!==Ee&&q>=0&&(W({sortable:this,name:"update",toEl:x,originalEvent:e}),W({sortable:this,name:"sort",toEl:x,originalEvent:e})),g.active&&((q==null||q===-1)&&(q=Ee,ce=Ie),W({sortable:this,name:"end",toEl:x,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){V("nulling",this),C=f=x=m=he=A=Xe=fe=pe=te=Ae=q=ce=Ee=Ie=De=xe=k=Ye=g.dragged=g.ghost=g.clone=g.active=null,We.forEach(function(e){e.checked=!0}),We.length=et=tt=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":f&&(this._onDragOver(e),An(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,o=this.el.children,r=0,i=o.length,a=this.options;rr.right+i||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>r.bottom+i||t.clientX>o.right&&t.clientY>o.top}function Mn(t,e,n,o,r,i,a,l){var s=o?t.clientY:t.clientX,u=o?n.height:n.width,d=o?n.top:n.left,c=o?n.bottom:n.right,v=!1;if(!a){if(l&&Led+u*i/2:sc-Le)return-xe}else if(s>d+u*(1-r)/2&&sc-u*i/2)?s>d+u/2?1:-1:0}function Fn(t){return Z(f){if(L&&(n==null?void 0:n.length)!==O.childNodes.length)return R.insertBefore(L,J.nextSibling),!0;const me=O.childNodes[de];L=O==null?void 0:O.replaceChild(J,me)})}}catch(L){I=L}finally{n=null}h.nextTick(()=>{if(Ut(),I)throw I})}const D={onUpdate:w,onStart:d,onAdd:c,onRemove:v,onEnd:y};function j(b){const E=h.unref(o);return b||(b=rn(E)?an(E,e==null?void 0:e.$el):E),b&&!un(b)&&(b=b.$el),b||en("Root element not found"),b}function G(){var R;const O=(R=h.unref(i))!=null?R:{},{immediate:b,clone:E}=O,F=mt(O,["immediate","clone"]);return Et(F,(I,Y)=>{fn(I)&&(F[I]=(L,...J)=>{const de=Ln();return cn(L,de),Y(L,...J)})}),sn(r===null?{}:D,F)}const X=b=>{b=j(b),a&&P.destroy(),a=new g(b,G())};h.watch(()=>i,()=>{a&&Et(G(),(b,E)=>{a==null||a.option(b,E)})},{deep:!0});const P={option:(b,E)=>a==null?void 0:a.option(b,E),destroy:()=>{a==null||a.destroy(),a=null},save:()=>a==null?void 0:a.save(),toArray:()=>a==null?void 0:a.toArray(),closest:(...b)=>a==null?void 0:a.closest(...b)},z=()=>P==null?void 0:P.option("disabled",!0),se=()=>P==null?void 0:P.option("disabled",!1);return Hn(()=>{l&&X()}),kn(P.destroy),ve({start:X,pause:z,resume:se},P)}const pt=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],Wn=["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...pt.map(t=>`on${t.replace(/^\S/,e=>e.toUpperCase())}`)],jn=h.defineComponent({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:Wn,emits:["update:modelValue",...pt],setup(t,{slots:e,emit:n,expose:o,attrs:r}){const i=pt.reduce((d,c)=>{const v=`on${c.replace(/^\S/,w=>w.toUpperCase())}`;return d[v]=(...w)=>n(c,...w),d},{}),a=h.computed(()=>{const w=h.toRefs(t),{modelValue:d}=w,c=mt(w,["modelValue"]),v=Object.entries(c).reduce((y,[D,j])=>{const G=h.unref(j);return G!==void 0&&(y[D]=G),y},{});return ve(ve({},i),nn(ve(ve({},r),v)))}),l=h.computed({get:()=>t.modelValue,set:d=>n("update:modelValue",d)}),s=h.ref(),u=h.reactive(ht(t.target||s,l,a));return o(u),()=>{var d;return h.h(t.tag||"div",{ref:s},(d=e==null?void 0:e.default)==null?void 0:d.call(e,u))}}}),qt={mounted:"mounted",unmounted:"unmounted"},gt=new WeakMap,Gn={[qt.mounted](t,e){const n=h.isProxy(e.value)?[e.value]:e.value,[o,r]=n,i=ht(t,o,r);gt.set(t,i.destroy)},[qt.unmounted](t){var e;(e=gt.get(t))==null||e(),gt.delete(t)}};T.VueDraggable=jn,T.useDraggable=ht,T.vDraggable=Gn,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}); diff --git a/node_modules/vue-draggable-plus/package.json b/node_modules/vue-draggable-plus/package.json new file mode 100644 index 0000000..74a5a34 --- /dev/null +++ b/node_modules/vue-draggable-plus/package.json @@ -0,0 +1,105 @@ +{ + "name": "vue-draggable-plus", + "version": "0.6.0", + "author": { + "name": "yangpanteng", + "email": "yangpanteng@gmail.com" + }, + "description": "Universal Drag-and-Drop Component Supporting both Vue 3 and Vue 2", + "homepage": "https://vue-draggable-plus.pages.dev/en/", + "repository": { + "type": "git", + "url": "https://github.com/Alfred-Skyblue/vue-draggable-plus" + }, + "type": "module", + "types": "./dist/index.d.ts", + "main": "./dist/vue-draggable-plus.umd.cjs", + "module": "./dist/vue-draggable-plus.js", + "unpkg": "./dist/vue-draggable-plus.iife.js", + "jsdelivr": "./dist/vue-draggable-plus.iife.js", + "sideEffects": false, + "license": "MIT", + "keywords": [ + "vue", + "vue2.x", + "vue3.x", + "Sortable", + "sortablejs", + "drag", + "dragging", + "vue-draggable", + "vue-draggable-plus" + ], + "files": [ + "dist", + "LICENSE", + "README.md" + ], + "exports": { + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/vue-draggable-plus.js" + }, + "require": { + "types": "./dist/index.d.ts", + "default": "./dist/vue-draggable-plus.cjs" + }, + "default": "./dist/vue-draggable-plus.umd.cjs" + } + }, + "scripts": { + "dev": "initial-scan docs && vitepress dev .docs --host", + "build": "vite build", + "build:lib": "npm-run-all lint build", + "copy:docs": "node scripts/copy-docs.cjs", + "docs:build": "initial-scan docs && cross-env NODE_ENV=production && npm run copy:docs && vitepress build .docs", + "serve": "cross-env NODE_ENV=production vitepress serve .docs --host", + "lint": "eslint src/**/*.ts", + "lint-fix": "pnpm lint --fix", + "release": "np" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "devDependencies": { + "@algolia/client-search": "^4.23.3", + "@ruabick/md-demo-plugins": "latest", + "@ruabick/vite-plugin-gen-temp": "latest", + "@ruabick/vitepress-demo-block": "latest", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "@vitejs/plugin-vue": "^5.0.4", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "eslint-define-config": "^1.24.1", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-vue": "^9.26.0", + "fs-extra": "^11.2.0", + "np": "^7.7.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.8", + "sortablejs": "^1.15.2", + "typescript": "^5.4.5", + "unocss": "^0.60.3", + "vite": "^5.2.12", + "vite-plugin-dts": "^1.7.3", + "vitepress": "1.0.0-rc.44", + "vue": "^3.4.27", + "vue-demi": "^0.13.11", + "vue-eslint-parser": "^9.4.2" + }, + "dependencies": { + "@types/sortablejs": "^1.15.8" + }, + "peerDependencies": { + "@types/sortablejs": "^1.15.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } +} diff --git a/package-lock.json b/package-lock.json index 219571f..359402f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "dependencies": { "@vant/area-data": "^2.0.0", "vant": "^4.9.15", + "vue-draggable-plus": "^0.6.0", "vue-qrcode-reader": "^5.6.0" } }, @@ -72,6 +73,11 @@ "resolved": "https://registry.npmmirror.com/@types/emscripten/-/emscripten-1.39.13.tgz", "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" }, + "node_modules/@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==" + }, "node_modules/@vant/area-data": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/@vant/area-data/-/area-data-2.0.0.tgz", @@ -331,6 +337,22 @@ } } }, + "node_modules/vue-draggable-plus": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.6.0.tgz", + "integrity": "sha512-G5TSfHrt9tX9EjdG49InoFJbt2NYk0h3kgjgKxkFWr3ulIUays0oFObr5KZ8qzD4+QnhtALiRwIqY6qul4egqw==", + "dependencies": { + "@types/sortablejs": "^1.15.8" + }, + "peerDependencies": { + "@types/sortablejs": "^1.15.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vue-qrcode-reader": { "version": "5.6.0", "resolved": "https://registry.npmmirror.com/vue-qrcode-reader/-/vue-qrcode-reader-5.6.0.tgz", diff --git a/package.json b/package.json index c26bc43..4b04acd 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "dependencies": { "@vant/area-data": "^2.0.0", "vant": "^4.9.15", + "vue-draggable-plus": "^0.6.0", "vue-qrcode-reader": "^5.6.0" } } diff --git a/pages.json b/pages.json index 8cbce4a..152f069 100644 --- a/pages.json +++ b/pages.json @@ -171,6 +171,80 @@ "bounce": "none" } } + }, + { + "path" : "pages/maintenance/processOldzmd", + "style" : + { + "navigationStyle": "custom", + "enablePullDownRefresh": false, + "disableScroll": true, + "app-plus": { + "bounce": "none" + } + } + }, + { + "path" : "pages/spot/spot", + "style" : + { + "navigationStyle": "custom", + "enablePullDownRefresh": false, + "disableScroll": true, + "app-plus": { + "bounce": "none" + } + } + }, + { + "path" : "pages/spot/list", + "style" : + { + "navigationStyle": "custom", + "enablePullDownRefresh": false, + "disableScroll": true, + "app-plus": { + "bounce": "none" + } + } + }, + { + "path" : "pages/spot/audit", + "style" : + { + "navigationStyle": "custom", + "enablePullDownRefresh": false, + "disableScroll": true, + "app-plus": { + "bounce": "none" + } + } + }, + { + "path" : "pages/spot/pass", + "style" : + { + "navigationStyle": "custom", + "enablePullDownRefresh": false, + "disableScroll": true, + "app-plus": { + "bounce": "none" + } + } + }, + { + "path" : "pages/tailorMade/tailorMade", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/tailorMade/list", + "style" : + { + "navigationBarTitleText" : "" + } } ], "globalStyle": { diff --git a/pages/index/index.vue b/pages/index/index.vue index eda44d3..d8f95d3 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -10,21 +10,30 @@ import { onMounted, ref } from 'vue' const ListData =ref([ + { + path: '../maintenance/processOldzmd', + name: '工艺维护', + type:'', + }, { path: '../maintenance/m-process', name: '工序项维护', + type:'process', }, { path: '../maintenance/m-requirements', name: '工艺要求维护', + type:'craftRequire', }, { path: '../maintenance/m-factory', name: '工厂维护', + type:'factory', }, { path: '../maintenance/m-other', name: '其他要求项维护', + type:'extraOption', }, // { // path: '../lecher/l-quality', @@ -37,32 +46,43 @@ const ListData =ref([ { path: '../whiteEmbryo/w-warehousing', name: '白胚入库', + type:'rawFabric', }, { path: '../whiteEmbryo/w-level', name: '白胚等级维护', + type:'rawFabricLevels', }, { path: '../whiteEmbryo/w-suppliers', name: '供应商维护', + type:'suppliers', }, { path: '../whiteEmbryo/w-scanCode', name: '扫码放货架', + type:'rawFabric', }, { path: '../whiteEmbryo/w-warehouse', name: '仓库维护', + type:'warehouse', }, { path: '../whiteEmbryo/w-libraryLocation', name: '库位号维护', + type:'shelves', }, { path: '../whiteEmbryo/w-list', name: '白胚列表', + type:'rawFabric', + }, + { + path:'../spot/list', + name:'需求单列表', + type:'', }, - ] as any[]) diff --git a/pages/maintenance/m-other.vue b/pages/maintenance/m-other.vue index 9fd218e..476545a 100644 --- a/pages/maintenance/m-other.vue +++ b/pages/maintenance/m-other.vue @@ -1,13 +1,41 @@ @@ -35,13 +63,13 @@ const onClickRight=()=>{ label-width="6em" :rules="[{ required: true, message: '请填写' }]" /> - 新增选项 + 新增选项 @@ -52,17 +80,18 @@ const onClickRight=()=>{ 是否默认 操作 - + 选项 - {{itemSecond.name}} + - - + + - 删除 + 删除 + 提交 diff --git a/pages/maintenance/m-requirements.vue b/pages/maintenance/m-requirements.vue index 10c1967..a2c3b05 100644 --- a/pages/maintenance/m-requirements.vue +++ b/pages/maintenance/m-requirements.vue @@ -1,135 +1,170 @@ + .flex { + display: flex; + flex-direction: column; + height: 100vh; + width: 100vw; + + .van-nav-bar { + width: 100%; + } + + .content { + flex: 1; + padding: 0 20rpx; + + .grid-container { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + + .grid-item { + text-align: center; + display: flex; + align-items: center; + justify-content: center; + padding: 10rpx 0; + } + } + + .card { + margin: 20rpx 30rpx; + padding: 10rpx; + border: 1rpx solid #02a7f0; + border-radius: 20rpx; + } + } + } + + .a-b { + display: flex; + align-items: center; + } + + ::v-deep .van-field { + font-size: 16px; + } + + ::v-deep .van-field__body { + border-bottom: 1rpx solid #d7d7d7 !important; + } + + ::v-deep .van-field__label { + text-align: end !important; + } + + .a-c { + display: flex; + align-items: center; + justify-content: space-around; + margin: 30rpx; + + ::v-deep .van-button--normal { + padding: 10rpx !important; + height: 60rpx !important; + } + } + \ No newline at end of file diff --git a/pages/maintenance/processOldzmd.vue b/pages/maintenance/processOldzmd.vue new file mode 100644 index 0000000..f54a19e --- /dev/null +++ b/pages/maintenance/processOldzmd.vue @@ -0,0 +1,491 @@ + + + \ No newline at end of file diff --git a/pages/spot/audit.vue b/pages/spot/audit.vue new file mode 100644 index 0000000..4d010fd --- /dev/null +++ b/pages/spot/audit.vue @@ -0,0 +1,434 @@ + + + + + \ No newline at end of file diff --git a/pages/spot/list.vue b/pages/spot/list.vue new file mode 100644 index 0000000..8ffcdcc --- /dev/null +++ b/pages/spot/list.vue @@ -0,0 +1,405 @@ + + + + + \ No newline at end of file diff --git a/pages/spot/pass.vue b/pages/spot/pass.vue new file mode 100644 index 0000000..b6f80f3 --- /dev/null +++ b/pages/spot/pass.vue @@ -0,0 +1,447 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pages/spot/spot.vue b/pages/spot/spot.vue new file mode 100644 index 0000000..4d010fd --- /dev/null +++ b/pages/spot/spot.vue @@ -0,0 +1,434 @@ + + + + + \ No newline at end of file diff --git a/pages/tailorMade/list.vue b/pages/tailorMade/list.vue new file mode 100644 index 0000000..8ffcdcc --- /dev/null +++ b/pages/tailorMade/list.vue @@ -0,0 +1,405 @@ + + + + + \ No newline at end of file diff --git a/pages/tailorMade/tailorMade.vue b/pages/tailorMade/tailorMade.vue new file mode 100644 index 0000000..45eb4f6 --- /dev/null +++ b/pages/tailorMade/tailorMade.vue @@ -0,0 +1,434 @@ + + + + + \ No newline at end of file diff --git a/pages/whiteEmbryo/w-warehousing.vue b/pages/whiteEmbryo/w-warehousing.vue index 8ca8cf3..772743a 100644 --- a/pages/whiteEmbryo/w-warehousing.vue +++ b/pages/whiteEmbryo/w-warehousing.vue @@ -367,7 +367,7 @@ const totalMeter = computed(()=>{ -
+ { /> 暂存 -
+
diff --git a/unpackage/dist/cache/.vite/deps/_metadata.json b/unpackage/dist/cache/.vite/deps/_metadata.json index 88d274a..6c60087 100644 --- a/unpackage/dist/cache/.vite/deps/_metadata.json +++ b/unpackage/dist/cache/.vite/deps/_metadata.json @@ -1,25 +1,31 @@ { - "hash": "c82f332f", + "hash": "a91feb9d", "configHash": "407aa7e3", - "lockfileHash": "4503c80a", - "browserHash": "645abd60", + "lockfileHash": "8d977c95", + "browserHash": "f4794a5f", "optimized": { "vant": { "src": "../../../../../node_modules/vant/es/index.mjs", "file": "vant.js", - "fileHash": "7cf83e71", + "fileHash": "3621a2f7", "needsInterop": false }, "vue-qrcode-reader": { "src": "../../../../../node_modules/vue-qrcode-reader/dist/vue-qrcode-reader.js", "file": "vue-qrcode-reader.js", - "fileHash": "6dcfc47b", + "fileHash": "1e3483de", "needsInterop": false }, "@vant/area-data": { "src": "../../../../../node_modules/@vant/area-data/dist/index.esm.mjs", "file": "@vant_area-data.js", - "fileHash": "dc22cc2a", + "fileHash": "c13ab492", + "needsInterop": false + }, + "vue-draggable-plus": { + "src": "../../../../../node_modules/vue-draggable-plus/dist/vue-draggable-plus.js", + "file": "vue-draggable-plus.js", + "fileHash": "1010c612", "needsInterop": false } }, diff --git a/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js b/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js new file mode 100644 index 0000000..d9fa295 --- /dev/null +++ b/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js @@ -0,0 +1,1688 @@ +// ../../../../aliyunGit/ckgl/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js +import { getCurrentInstance as ft, unref as U, watch as an, onUnmounted as ln, onMounted as sn, nextTick as Yt, isRef as $e, defineComponent as un, computed as yt, toRefs as cn, ref as fn, reactive as dn, h as hn, isProxy as pn } from "vue"; +var rn = Object.defineProperty; +var Ne = Object.getOwnPropertySymbols; +var vt = Object.prototype.hasOwnProperty; +var bt = Object.prototype.propertyIsEnumerable; +var mt = (t, e, n) => e in t ? rn(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n; +var fe = (t, e) => { + for (var n in e || (e = {})) + vt.call(e, n) && mt(t, n, e[n]); + if (Ne) + for (var n of Ne(e)) + bt.call(e, n) && mt(t, n, e[n]); + return t; +}; +var Ve = (t, e) => { + var n = {}; + for (var o in t) + vt.call(t, o) && e.indexOf(o) < 0 && (n[o] = t[o]); + if (t != null && Ne) + for (var o of Ne(t)) + e.indexOf(o) < 0 && bt.call(t, o) && (n[o] = t[o]); + return n; +}; +var Bt = "[vue-draggable-plus]: "; +function gn(t) { + console.warn(Bt + t); +} +function mn(t) { + console.error(Bt + t); +} +function wt(t, e, n) { + return n >= 0 && n < t.length && t.splice(n, 0, t.splice(e, 1)[0]), t; +} +function vn(t) { + return t.replace(/-(\w)/g, (e, n) => n ? n.toUpperCase() : ""); +} +function bn(t) { + return Object.keys(t).reduce((e, n) => (typeof t[n] != "undefined" && (e[vn(n)] = t[n]), e), {}); +} +function Et(t, e) { + return Array.isArray(t) && t.splice(e, 1), t; +} +function St(t, e, n) { + return Array.isArray(t) && t.splice(e, 0, n), t; +} +function yn(t) { + return typeof t == "undefined"; +} +function wn(t) { + return typeof t == "string"; +} +function Dt(t, e, n) { + const o = t.children[n]; + t.insertBefore(e, o); +} +function qe(t) { + t.parentNode && t.parentNode.removeChild(t); +} +function En(t, e = document) { + var o; + let n = null; + return typeof (e == null ? void 0 : e.querySelector) == "function" ? n = (o = e == null ? void 0 : e.querySelector) == null ? void 0 : o.call(e, t) : n = document.querySelector(t), n || gn(`Element not found: ${t}`), n; +} +function Sn(t, e, n = null) { + return function(...o) { + return t.apply(n, o), e.apply(n, o); + }; +} +function Dn(t, e) { + const n = fe({}, t); + return Object.keys(e).forEach((o) => { + n[o] ? n[o] = Sn(t[o], e[o]) : n[o] = e[o]; + }), n; +} +function _n(t) { + return t instanceof HTMLElement; +} +function _t(t, e) { + Object.keys(t).forEach((n) => { + e(n, t[n]); + }); +} +function Tn(t) { + return t.charCodeAt(0) === 111 && t.charCodeAt(1) === 110 && // uppercase letter + (t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97); +} +var Cn = Object.assign; +function Tt(t, e) { + var n = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(t); + e && (o = o.filter(function(r) { + return Object.getOwnPropertyDescriptor(t, r).enumerable; + })), n.push.apply(n, o); + } + return n; +} +function te(t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] != null ? arguments[e] : {}; + e % 2 ? Tt(Object(n), true).forEach(function(o) { + On(t, o, n[o]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Tt(Object(n)).forEach(function(o) { + Object.defineProperty(t, o, Object.getOwnPropertyDescriptor(n, o)); + }); + } + return t; +} +function Xe(t) { + "@babel/helpers - typeof"; + return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Xe = function(e) { + return typeof e; + } : Xe = function(e) { + return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; + }, Xe(t); +} +function On(t, e, n) { + return e in t ? Object.defineProperty(t, e, { + value: n, + enumerable: true, + configurable: true, + writable: true + }) : t[e] = n, t; +} +function re() { + return re = Object.assign || function(t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e]; + for (var o in n) + Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]); + } + return t; + }, re.apply(this, arguments); +} +function In(t, e) { + if (t == null) + return {}; + var n = {}, o = Object.keys(t), r, i; + for (i = 0; i < o.length; i++) + r = o[i], !(e.indexOf(r) >= 0) && (n[r] = t[r]); + return n; +} +function An(t, e) { + if (t == null) + return {}; + var n = In(t, e), o, r; + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(t); + for (r = 0; r < i.length; r++) + o = i[r], !(e.indexOf(o) >= 0) && Object.prototype.propertyIsEnumerable.call(t, o) && (n[o] = t[o]); + } + return n; +} +var xn = "1.15.2"; +function oe(t) { + if (typeof window != "undefined" && window.navigator) + return !!navigator.userAgent.match(t); +} +var ie = oe(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i); +var Ae = oe(/Edge/i); +var Ct = oe(/firefox/i); +var _e = oe(/safari/i) && !oe(/chrome/i) && !oe(/android/i); +var kt = oe(/iP(ad|od|hone)/i); +var Ht = oe(/chrome/i) && oe(/android/i); +var Lt = { + capture: false, + passive: false +}; +function D(t, e, n) { + t.addEventListener(e, n, !ie && Lt); +} +function S(t, e, n) { + t.removeEventListener(e, n, !ie && Lt); +} +function Le(t, e) { + if (e) { + if (e[0] === ">" && (e = e.substring(1)), t) + try { + if (t.matches) + return t.matches(e); + if (t.msMatchesSelector) + return t.msMatchesSelector(e); + if (t.webkitMatchesSelector) + return t.webkitMatchesSelector(e); + } catch (n) { + return false; + } + return false; + } +} +function Nn(t) { + return t.host && t !== document && t.host.nodeType ? t.host : t.parentNode; +} +function Z(t, e, n, o) { + if (t) { + n = n || document; + do { + if (e != null && (e[0] === ">" ? t.parentNode === n && Le(t, e) : Le(t, e)) || o && t === n) + return t; + if (t === n) + break; + } while (t = Nn(t)); + } + return null; +} +var Ot = /\s+/g; +function V(t, e, n) { + if (t && e) + if (t.classList) + t.classList[n ? "add" : "remove"](e); + else { + var o = (" " + t.className + " ").replace(Ot, " ").replace(" " + e + " ", " "); + t.className = (o + (n ? " " + e : "")).replace(Ot, " "); + } +} +function h(t, e, n) { + var o = t && t.style; + if (o) { + if (n === void 0) + return document.defaultView && document.defaultView.getComputedStyle ? n = document.defaultView.getComputedStyle(t, "") : t.currentStyle && (n = t.currentStyle), e === void 0 ? n : n[e]; + !(e in o) && e.indexOf("webkit") === -1 && (e = "-webkit-" + e), o[e] = n + (typeof n == "string" ? "" : "px"); + } +} +function ye(t, e) { + var n = ""; + if (typeof t == "string") + n = t; + else + do { + var o = h(t, "transform"); + o && o !== "none" && (n = o + " " + n); + } while (!e && (t = t.parentNode)); + var r = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; + return r && new r(n); +} +function Wt(t, e, n) { + if (t) { + var o = t.getElementsByTagName(e), r = 0, i = o.length; + if (n) + for (; r < i; r++) + n(o[r], r); + return o; + } + return []; +} +function ee() { + var t = document.scrollingElement; + return t || document.documentElement; +} +function M(t, e, n, o, r) { + if (!(!t.getBoundingClientRect && t !== window)) { + var i, a, l, s, u, d, f; + if (t !== window && t.parentNode && t !== ee() ? (i = t.getBoundingClientRect(), a = i.top, l = i.left, s = i.bottom, u = i.right, d = i.height, f = i.width) : (a = 0, l = 0, s = window.innerHeight, u = window.innerWidth, d = window.innerHeight, f = window.innerWidth), (e || n) && t !== window && (r = r || t.parentNode, !ie)) + do + if (r && r.getBoundingClientRect && (h(r, "transform") !== "none" || n && h(r, "position") !== "static")) { + var m = r.getBoundingClientRect(); + a -= m.top + parseInt(h(r, "border-top-width")), l -= m.left + parseInt(h(r, "border-left-width")), s = a + i.height, u = l + i.width; + break; + } + while (r = r.parentNode); + if (o && t !== window) { + var y = ye(r || t), b = y && y.a, E = y && y.d; + y && (a /= E, l /= b, f /= b, d /= E, s = a + d, u = l + f); + } + return { + top: a, + left: l, + bottom: s, + right: u, + width: f, + height: d + }; + } +} +function It(t, e, n) { + for (var o = ue(t, true), r = M(t)[e]; o; ) { + var i = M(o)[n], a = void 0; + if (a = r >= i, !a) + return o; + if (o === ee()) + break; + o = ue(o, false); + } + return false; +} +function we(t, e, n, o) { + for (var r = 0, i = 0, a = t.children; i < a.length; ) { + if (a[i].style.display !== "none" && a[i] !== p.ghost && (o || a[i] !== p.dragged) && Z(a[i], n.draggable, t, false)) { + if (r === e) + return a[i]; + r++; + } + i++; + } + return null; +} +function dt(t, e) { + for (var n = t.lastElementChild; n && (n === p.ghost || h(n, "display") === "none" || e && !Le(n, e)); ) + n = n.previousElementSibling; + return n || null; +} +function K(t, e) { + var n = 0; + if (!t || !t.parentNode) + return -1; + for (; t = t.previousElementSibling; ) + t.nodeName.toUpperCase() !== "TEMPLATE" && t !== p.clone && (!e || Le(t, e)) && n++; + return n; +} +function At(t) { + var e = 0, n = 0, o = ee(); + if (t) + do { + var r = ye(t), i = r.a, a = r.d; + e += t.scrollLeft * i, n += t.scrollTop * a; + } while (t !== o && (t = t.parentNode)); + return [e, n]; +} +function Pn(t, e) { + for (var n in t) + if (t.hasOwnProperty(n)) { + for (var o in e) + if (e.hasOwnProperty(o) && e[o] === t[n][o]) + return Number(n); + } + return -1; +} +function ue(t, e) { + if (!t || !t.getBoundingClientRect) + return ee(); + var n = t, o = false; + do + if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) { + var r = h(n); + if (n.clientWidth < n.scrollWidth && (r.overflowX == "auto" || r.overflowX == "scroll") || n.clientHeight < n.scrollHeight && (r.overflowY == "auto" || r.overflowY == "scroll")) { + if (!n.getBoundingClientRect || n === document.body) + return ee(); + if (o || e) + return n; + o = true; + } + } + while (n = n.parentNode); + return ee(); +} +function Mn(t, e) { + if (t && e) + for (var n in e) + e.hasOwnProperty(n) && (t[n] = e[n]); + return t; +} +function Ke(t, e) { + return Math.round(t.top) === Math.round(e.top) && Math.round(t.left) === Math.round(e.left) && Math.round(t.height) === Math.round(e.height) && Math.round(t.width) === Math.round(e.width); +} +var Te; +function Gt(t, e) { + return function() { + if (!Te) { + var n = arguments, o = this; + n.length === 1 ? t.call(o, n[0]) : t.apply(o, n), Te = setTimeout(function() { + Te = void 0; + }, e); + } + }; +} +function Fn() { + clearTimeout(Te), Te = void 0; +} +function jt(t, e, n) { + t.scrollLeft += e, t.scrollTop += n; +} +function zt(t) { + var e = window.Polymer, n = window.jQuery || window.Zepto; + return e && e.dom ? e.dom(t).cloneNode(true) : n ? n(t).clone(true)[0] : t.cloneNode(true); +} +function Ut(t, e, n) { + var o = {}; + return Array.from(t.children).forEach(function(r) { + var i, a, l, s; + if (!(!Z(r, e.draggable, t, false) || r.animated || r === n)) { + var u = M(r); + o.left = Math.min((i = o.left) !== null && i !== void 0 ? i : 1 / 0, u.left), o.top = Math.min((a = o.top) !== null && a !== void 0 ? a : 1 / 0, u.top), o.right = Math.max((l = o.right) !== null && l !== void 0 ? l : -1 / 0, u.right), o.bottom = Math.max((s = o.bottom) !== null && s !== void 0 ? s : -1 / 0, u.bottom); + } + }), o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o; +} +var q = "Sortable" + (/* @__PURE__ */ new Date()).getTime(); +function Rn() { + var t = [], e; + return { + captureAnimationState: function() { + if (t = [], !!this.options.animation) { + var o = [].slice.call(this.el.children); + o.forEach(function(r) { + if (!(h(r, "display") === "none" || r === p.ghost)) { + t.push({ + target: r, + rect: M(r) + }); + var i = te({}, t[t.length - 1].rect); + if (r.thisAnimationDuration) { + var a = ye(r, true); + a && (i.top -= a.f, i.left -= a.e); + } + r.fromRect = i; + } + }); + } + }, + addAnimationState: function(o) { + t.push(o); + }, + removeAnimationState: function(o) { + t.splice(Pn(t, { + target: o + }), 1); + }, + animateAll: function(o) { + var r = this; + if (!this.options.animation) { + clearTimeout(e), typeof o == "function" && o(); + return; + } + var i = false, a = 0; + t.forEach(function(l) { + var s = 0, u = l.target, d = u.fromRect, f = M(u), m = u.prevFromRect, y = u.prevToRect, b = l.rect, E = ye(u, true); + E && (f.top -= E.f, f.left -= E.e), u.toRect = f, u.thisAnimationDuration && Ke(m, f) && !Ke(d, f) && // Make sure animatingRect is on line between toRect & fromRect + (b.top - f.top) / (b.left - f.left) === (d.top - f.top) / (d.left - f.left) && (s = Yn(b, m, y, r.options)), Ke(f, d) || (u.prevFromRect = d, u.prevToRect = f, s || (s = r.options.animation), r.animate(u, b, f, s)), s && (i = true, a = Math.max(a, s), clearTimeout(u.animationResetTimer), u.animationResetTimer = setTimeout(function() { + u.animationTime = 0, u.prevFromRect = null, u.fromRect = null, u.prevToRect = null, u.thisAnimationDuration = null; + }, s), u.thisAnimationDuration = s); + }), clearTimeout(e), i ? e = setTimeout(function() { + typeof o == "function" && o(); + }, a) : typeof o == "function" && o(), t = []; + }, + animate: function(o, r, i, a) { + if (a) { + h(o, "transition", ""), h(o, "transform", ""); + var l = ye(this.el), s = l && l.a, u = l && l.d, d = (r.left - i.left) / (s || 1), f = (r.top - i.top) / (u || 1); + o.animatingX = !!d, o.animatingY = !!f, h(o, "transform", "translate3d(" + d + "px," + f + "px,0)"), this.forRepaintDummy = Xn(o), h(o, "transition", "transform " + a + "ms" + (this.options.easing ? " " + this.options.easing : "")), h(o, "transform", "translate3d(0,0,0)"), typeof o.animated == "number" && clearTimeout(o.animated), o.animated = setTimeout(function() { + h(o, "transition", ""), h(o, "transform", ""), o.animated = false, o.animatingX = false, o.animatingY = false; + }, a); + } + } + }; +} +function Xn(t) { + return t.offsetWidth; +} +function Yn(t, e, n, o) { + return Math.sqrt(Math.pow(e.top - t.top, 2) + Math.pow(e.left - t.left, 2)) / Math.sqrt(Math.pow(e.top - n.top, 2) + Math.pow(e.left - n.left, 2)) * o.animation; +} +var ge = []; +var Je = { + initializeByDefault: true +}; +var xe = { + mount: function(e) { + for (var n in Je) + Je.hasOwnProperty(n) && !(n in e) && (e[n] = Je[n]); + ge.forEach(function(o) { + if (o.pluginName === e.pluginName) + throw "Sortable: Cannot mount plugin ".concat(e.pluginName, " more than once"); + }), ge.push(e); + }, + pluginEvent: function(e, n, o) { + var r = this; + this.eventCanceled = false, o.cancel = function() { + r.eventCanceled = true; + }; + var i = e + "Global"; + ge.forEach(function(a) { + n[a.pluginName] && (n[a.pluginName][i] && n[a.pluginName][i](te({ + sortable: n + }, o)), n.options[a.pluginName] && n[a.pluginName][e] && n[a.pluginName][e](te({ + sortable: n + }, o))); + }); + }, + initializePlugins: function(e, n, o, r) { + ge.forEach(function(l) { + var s = l.pluginName; + if (!(!e.options[s] && !l.initializeByDefault)) { + var u = new l(e, n, e.options); + u.sortable = e, u.options = e.options, e[s] = u, re(o, u.defaults); + } + }); + for (var i in e.options) + if (e.options.hasOwnProperty(i)) { + var a = this.modifyOption(e, i, e.options[i]); + typeof a != "undefined" && (e.options[i] = a); + } + }, + getEventProperties: function(e, n) { + var o = {}; + return ge.forEach(function(r) { + typeof r.eventProperties == "function" && re(o, r.eventProperties.call(n[r.pluginName], e)); + }), o; + }, + modifyOption: function(e, n, o) { + var r; + return ge.forEach(function(i) { + e[i.pluginName] && i.optionListeners && typeof i.optionListeners[n] == "function" && (r = i.optionListeners[n].call(e[i.pluginName], o)); + }), r; + } +}; +function Bn(t) { + var e = t.sortable, n = t.rootEl, o = t.name, r = t.targetEl, i = t.cloneEl, a = t.toEl, l = t.fromEl, s = t.oldIndex, u = t.newIndex, d = t.oldDraggableIndex, f = t.newDraggableIndex, m = t.originalEvent, y = t.putSortable, b = t.extraEventProperties; + if (e = e || n && n[q], !!e) { + var E, k = e.options, H = "on" + o.charAt(0).toUpperCase() + o.substr(1); + window.CustomEvent && !ie && !Ae ? E = new CustomEvent(o, { + bubbles: true, + cancelable: true + }) : (E = document.createEvent("Event"), E.initEvent(o, true, true)), E.to = a || n, E.from = l || n, E.item = r || n, E.clone = i, E.oldIndex = s, E.newIndex = u, E.oldDraggableIndex = d, E.newDraggableIndex = f, E.originalEvent = m, E.pullMode = y ? y.lastPutMode : void 0; + var F = te(te({}, b), xe.getEventProperties(o, e)); + for (var A in F) + E[A] = F[A]; + n && n.dispatchEvent(E), k[H] && k[H].call(e, E); + } +} +var kn = ["evt"]; +var G = function(e, n) { + var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = o.evt, i = An(o, kn); + xe.pluginEvent.bind(p)(e, n, te({ + dragEl: c, + parentEl: I, + ghostEl: g, + rootEl: C, + nextEl: pe, + lastDownEl: Ye, + cloneEl: O, + cloneHidden: se, + dragStarted: Ee, + putSortable: X, + activeSortable: p.active, + originalEvent: r, + oldIndex: be, + oldDraggableIndex: Ce, + newIndex: $, + newDraggableIndex: le, + hideGhostForTarget: Kt, + unhideGhostForTarget: Jt, + cloneNowHidden: function() { + se = true; + }, + cloneNowShown: function() { + se = false; + }, + dispatchSortableEvent: function(l) { + W({ + sortable: n, + name: l, + originalEvent: r + }); + } + }, i)); +}; +function W(t) { + Bn(te({ + putSortable: X, + cloneEl: O, + targetEl: c, + rootEl: C, + oldIndex: be, + oldDraggableIndex: Ce, + newIndex: $, + newDraggableIndex: le + }, t)); +} +var c; +var I; +var g; +var C; +var pe; +var Ye; +var O; +var se; +var be; +var $; +var Ce; +var le; +var Pe; +var X; +var ve = false; +var We = false; +var Ge = []; +var de; +var J; +var Ze; +var Qe; +var xt; +var Nt; +var Ee; +var me; +var Oe; +var Ie = false; +var Me = false; +var Be; +var B; +var et = []; +var at = false; +var je = []; +var Ue = typeof document != "undefined"; +var Fe = kt; +var Pt = Ae || ie ? "cssFloat" : "float"; +var Hn = Ue && !Ht && !kt && "draggable" in document.createElement("div"); +var Vt = function() { + if (Ue) { + if (ie) + return false; + var t = document.createElement("x"); + return t.style.cssText = "pointer-events:auto", t.style.pointerEvents === "auto"; + } +}(); +var $t = function(e, n) { + var o = h(e), r = parseInt(o.width) - parseInt(o.paddingLeft) - parseInt(o.paddingRight) - parseInt(o.borderLeftWidth) - parseInt(o.borderRightWidth), i = we(e, 0, n), a = we(e, 1, n), l = i && h(i), s = a && h(a), u = l && parseInt(l.marginLeft) + parseInt(l.marginRight) + M(i).width, d = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + M(a).width; + if (o.display === "flex") + return o.flexDirection === "column" || o.flexDirection === "column-reverse" ? "vertical" : "horizontal"; + if (o.display === "grid") + return o.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal"; + if (i && l.float && l.float !== "none") { + var f = l.float === "left" ? "left" : "right"; + return a && (s.clear === "both" || s.clear === f) ? "vertical" : "horizontal"; + } + return i && (l.display === "block" || l.display === "flex" || l.display === "table" || l.display === "grid" || u >= r && o[Pt] === "none" || a && o[Pt] === "none" && u + d > r) ? "vertical" : "horizontal"; +}; +var Ln = function(e, n, o) { + var r = o ? e.left : e.top, i = o ? e.right : e.bottom, a = o ? e.width : e.height, l = o ? n.left : n.top, s = o ? n.right : n.bottom, u = o ? n.width : n.height; + return r === l || i === s || r + a / 2 === l + u / 2; +}; +var Wn = function(e, n) { + var o; + return Ge.some(function(r) { + var i = r[q].options.emptyInsertThreshold; + if (!(!i || dt(r))) { + var a = M(r), l = e >= a.left - i && e <= a.right + i, s = n >= a.top - i && n <= a.bottom + i; + if (l && s) + return o = r; + } + }), o; +}; +var qt = function(e) { + function n(i, a) { + return function(l, s, u, d) { + var f = l.options.group.name && s.options.group.name && l.options.group.name === s.options.group.name; + if (i == null && (a || f)) + return true; + if (i == null || i === false) + return false; + if (a && i === "clone") + return i; + if (typeof i == "function") + return n(i(l, s, u, d), a)(l, s, u, d); + var m = (a ? l : s).options.group.name; + return i === true || typeof i == "string" && i === m || i.join && i.indexOf(m) > -1; + }; + } + var o = {}, r = e.group; + (!r || Xe(r) != "object") && (r = { + name: r + }), o.name = r.name, o.checkPull = n(r.pull, true), o.checkPut = n(r.put), o.revertClone = r.revertClone, e.group = o; +}; +var Kt = function() { + !Vt && g && h(g, "display", "none"); +}; +var Jt = function() { + !Vt && g && h(g, "display", ""); +}; +Ue && !Ht && document.addEventListener("click", function(t) { + if (We) + return t.preventDefault(), t.stopPropagation && t.stopPropagation(), t.stopImmediatePropagation && t.stopImmediatePropagation(), We = false, false; +}, true); +var he = function(e) { + if (c) { + e = e.touches ? e.touches[0] : e; + var n = Wn(e.clientX, e.clientY); + if (n) { + var o = {}; + for (var r in e) + e.hasOwnProperty(r) && (o[r] = e[r]); + o.target = o.rootEl = n, o.preventDefault = void 0, o.stopPropagation = void 0, n[q]._onDragOver(o); + } + } +}; +var Gn = function(e) { + c && c.parentNode[q]._isOutsideThisEl(e.target); +}; +function p(t, e) { + if (!(t && t.nodeType && t.nodeType === 1)) + throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t)); + this.el = t, this.options = e = re({}, e), t[q] = this; + var n = { + group: null, + sort: true, + disabled: false, + store: null, + handle: null, + draggable: /^[uo]l$/i.test(t.nodeName) ? ">li" : ">*", + swapThreshold: 1, + // percentage; 0 <= x <= 1 + invertSwap: false, + // invert always + invertedSwapThreshold: null, + // will be set to same as swapThreshold if default + removeCloneOnHide: true, + direction: function() { + return $t(t, this.options); + }, + ghostClass: "sortable-ghost", + chosenClass: "sortable-chosen", + dragClass: "sortable-drag", + ignore: "a, img", + filter: null, + preventOnFilter: true, + animation: 0, + easing: null, + setData: function(a, l) { + a.setData("Text", l.textContent); + }, + dropBubble: false, + dragoverBubble: false, + dataIdAttr: "data-id", + delay: 0, + delayOnTouchOnly: false, + touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, + forceFallback: false, + fallbackClass: "sortable-fallback", + fallbackOnBody: false, + fallbackTolerance: 0, + fallbackOffset: { + x: 0, + y: 0 + }, + supportPointer: p.supportPointer !== false && "PointerEvent" in window && !_e, + emptyInsertThreshold: 5 + }; + xe.initializePlugins(this, t, n); + for (var o in n) + !(o in e) && (e[o] = n[o]); + qt(e); + for (var r in this) + r.charAt(0) === "_" && typeof this[r] == "function" && (this[r] = this[r].bind(this)); + this.nativeDraggable = e.forceFallback ? false : Hn, this.nativeDraggable && (this.options.touchStartThreshold = 1), e.supportPointer ? D(t, "pointerdown", this._onTapStart) : (D(t, "mousedown", this._onTapStart), D(t, "touchstart", this._onTapStart)), this.nativeDraggable && (D(t, "dragover", this), D(t, "dragenter", this)), Ge.push(this.el), e.store && e.store.get && this.sort(e.store.get(this) || []), re(this, Rn()); +} +p.prototype = /** @lends Sortable.prototype */ +{ + constructor: p, + _isOutsideThisEl: function(e) { + !this.el.contains(e) && e !== this.el && (me = null); + }, + _getDirection: function(e, n) { + return typeof this.options.direction == "function" ? this.options.direction.call(this, e, n, c) : this.options.direction; + }, + _onTapStart: function(e) { + if (e.cancelable) { + var n = this, o = this.el, r = this.options, i = r.preventOnFilter, a = e.type, l = e.touches && e.touches[0] || e.pointerType && e.pointerType === "touch" && e, s = (l || e).target, u = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || s, d = r.filter; + if (Jn(o), !c && !(/mousedown|pointerdown/.test(a) && e.button !== 0 || r.disabled) && !u.isContentEditable && !(!this.nativeDraggable && _e && s && s.tagName.toUpperCase() === "SELECT") && (s = Z(s, r.draggable, o, false), !(s && s.animated) && Ye !== s)) { + if (be = K(s), Ce = K(s, r.draggable), typeof d == "function") { + if (d.call(this, e, s, this)) { + W({ + sortable: n, + rootEl: u, + name: "filter", + targetEl: s, + toEl: o, + fromEl: o + }), G("filter", n, { + evt: e + }), i && e.cancelable && e.preventDefault(); + return; + } + } else if (d && (d = d.split(",").some(function(f) { + if (f = Z(u, f.trim(), o, false), f) + return W({ + sortable: n, + rootEl: f, + name: "filter", + targetEl: s, + fromEl: o, + toEl: o + }), G("filter", n, { + evt: e + }), true; + }), d)) { + i && e.cancelable && e.preventDefault(); + return; + } + r.handle && !Z(u, r.handle, o, false) || this._prepareDragStart(e, l, s); + } + } + }, + _prepareDragStart: function(e, n, o) { + var r = this, i = r.el, a = r.options, l = i.ownerDocument, s; + if (o && !c && o.parentNode === i) { + var u = M(o); + if (C = i, c = o, I = c.parentNode, pe = c.nextSibling, Ye = o, Pe = a.group, p.dragged = c, de = { + target: c, + clientX: (n || e).clientX, + clientY: (n || e).clientY + }, xt = de.clientX - u.left, Nt = de.clientY - u.top, this._lastX = (n || e).clientX, this._lastY = (n || e).clientY, c.style["will-change"] = "all", s = function() { + if (G("delayEnded", r, { + evt: e + }), p.eventCanceled) { + r._onDrop(); + return; + } + r._disableDelayedDragEvents(), !Ct && r.nativeDraggable && (c.draggable = true), r._triggerDragStart(e, n), W({ + sortable: r, + name: "choose", + originalEvent: e + }), V(c, a.chosenClass, true); + }, a.ignore.split(",").forEach(function(d) { + Wt(c, d.trim(), tt); + }), D(l, "dragover", he), D(l, "mousemove", he), D(l, "touchmove", he), D(l, "mouseup", r._onDrop), D(l, "touchend", r._onDrop), D(l, "touchcancel", r._onDrop), Ct && this.nativeDraggable && (this.options.touchStartThreshold = 4, c.draggable = true), G("delayStart", this, { + evt: e + }), a.delay && (!a.delayOnTouchOnly || n) && (!this.nativeDraggable || !(Ae || ie))) { + if (p.eventCanceled) { + this._onDrop(); + return; + } + D(l, "mouseup", r._disableDelayedDrag), D(l, "touchend", r._disableDelayedDrag), D(l, "touchcancel", r._disableDelayedDrag), D(l, "mousemove", r._delayedDragTouchMoveHandler), D(l, "touchmove", r._delayedDragTouchMoveHandler), a.supportPointer && D(l, "pointermove", r._delayedDragTouchMoveHandler), r._dragStartTimer = setTimeout(s, a.delay); + } else + s(); + } + }, + _delayedDragTouchMoveHandler: function(e) { + var n = e.touches ? e.touches[0] : e; + Math.max(Math.abs(n.clientX - this._lastX), Math.abs(n.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag(); + }, + _disableDelayedDrag: function() { + c && tt(c), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents(); + }, + _disableDelayedDragEvents: function() { + var e = this.el.ownerDocument; + S(e, "mouseup", this._disableDelayedDrag), S(e, "touchend", this._disableDelayedDrag), S(e, "touchcancel", this._disableDelayedDrag), S(e, "mousemove", this._delayedDragTouchMoveHandler), S(e, "touchmove", this._delayedDragTouchMoveHandler), S(e, "pointermove", this._delayedDragTouchMoveHandler); + }, + _triggerDragStart: function(e, n) { + n = n || e.pointerType == "touch" && e, !this.nativeDraggable || n ? this.options.supportPointer ? D(document, "pointermove", this._onTouchMove) : n ? D(document, "touchmove", this._onTouchMove) : D(document, "mousemove", this._onTouchMove) : (D(c, "dragend", this), D(C, "dragstart", this._onDragStart)); + try { + document.selection ? ke(function() { + document.selection.empty(); + }) : window.getSelection().removeAllRanges(); + } catch (o) { + } + }, + _dragStarted: function(e, n) { + if (ve = false, C && c) { + G("dragStarted", this, { + evt: n + }), this.nativeDraggable && D(document, "dragover", Gn); + var o = this.options; + !e && V(c, o.dragClass, false), V(c, o.ghostClass, true), p.active = this, e && this._appendGhost(), W({ + sortable: this, + name: "start", + originalEvent: n + }); + } else + this._nulling(); + }, + _emulateDragOver: function() { + if (J) { + this._lastX = J.clientX, this._lastY = J.clientY, Kt(); + for (var e = document.elementFromPoint(J.clientX, J.clientY), n = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(J.clientX, J.clientY), e !== n); ) + n = e; + if (c.parentNode[q]._isOutsideThisEl(e), n) + do { + if (n[q]) { + var o = void 0; + if (o = n[q]._onDragOver({ + clientX: J.clientX, + clientY: J.clientY, + target: e, + rootEl: n + }), o && !this.options.dragoverBubble) + break; + } + e = n; + } while (n = n.parentNode); + Jt(); + } + }, + _onTouchMove: function(e) { + if (de) { + var n = this.options, o = n.fallbackTolerance, r = n.fallbackOffset, i = e.touches ? e.touches[0] : e, a = g && ye(g, true), l = g && a && a.a, s = g && a && a.d, u = Fe && B && At(B), d = (i.clientX - de.clientX + r.x) / (l || 1) + (u ? u[0] - et[0] : 0) / (l || 1), f = (i.clientY - de.clientY + r.y) / (s || 1) + (u ? u[1] - et[1] : 0) / (s || 1); + if (!p.active && !ve) { + if (o && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < o) + return; + this._onDragStart(e, true); + } + if (g) { + a ? (a.e += d - (Ze || 0), a.f += f - (Qe || 0)) : a = { + a: 1, + b: 0, + c: 0, + d: 1, + e: d, + f + }; + var m = "matrix(".concat(a.a, ",").concat(a.b, ",").concat(a.c, ",").concat(a.d, ",").concat(a.e, ",").concat(a.f, ")"); + h(g, "webkitTransform", m), h(g, "mozTransform", m), h(g, "msTransform", m), h(g, "transform", m), Ze = d, Qe = f, J = i; + } + e.cancelable && e.preventDefault(); + } + }, + _appendGhost: function() { + if (!g) { + var e = this.options.fallbackOnBody ? document.body : C, n = M(c, true, Fe, true, e), o = this.options; + if (Fe) { + for (B = e; h(B, "position") === "static" && h(B, "transform") === "none" && B !== document; ) + B = B.parentNode; + B !== document.body && B !== document.documentElement ? (B === document && (B = ee()), n.top += B.scrollTop, n.left += B.scrollLeft) : B = ee(), et = At(B); + } + g = c.cloneNode(true), V(g, o.ghostClass, false), V(g, o.fallbackClass, true), V(g, o.dragClass, true), h(g, "transition", ""), h(g, "transform", ""), h(g, "box-sizing", "border-box"), h(g, "margin", 0), h(g, "top", n.top), h(g, "left", n.left), h(g, "width", n.width), h(g, "height", n.height), h(g, "opacity", "0.8"), h(g, "position", Fe ? "absolute" : "fixed"), h(g, "zIndex", "100000"), h(g, "pointerEvents", "none"), p.ghost = g, e.appendChild(g), h(g, "transform-origin", xt / parseInt(g.style.width) * 100 + "% " + Nt / parseInt(g.style.height) * 100 + "%"); + } + }, + _onDragStart: function(e, n) { + var o = this, r = e.dataTransfer, i = o.options; + if (G("dragStart", this, { + evt: e + }), p.eventCanceled) { + this._onDrop(); + return; + } + G("setupClone", this), p.eventCanceled || (O = zt(c), O.removeAttribute("id"), O.draggable = false, O.style["will-change"] = "", this._hideClone(), V(O, this.options.chosenClass, false), p.clone = O), o.cloneId = ke(function() { + G("clone", o), !p.eventCanceled && (o.options.removeCloneOnHide || C.insertBefore(O, c), o._hideClone(), W({ + sortable: o, + name: "clone" + })); + }), !n && V(c, i.dragClass, true), n ? (We = true, o._loopId = setInterval(o._emulateDragOver, 50)) : (S(document, "mouseup", o._onDrop), S(document, "touchend", o._onDrop), S(document, "touchcancel", o._onDrop), r && (r.effectAllowed = "move", i.setData && i.setData.call(o, r, c)), D(document, "drop", o), h(c, "transform", "translateZ(0)")), ve = true, o._dragStartId = ke(o._dragStarted.bind(o, n, e)), D(document, "selectstart", o), Ee = true, _e && h(document.body, "user-select", "none"); + }, + // Returns true - if no further action is needed (either inserted or another condition) + _onDragOver: function(e) { + var n = this.el, o = e.target, r, i, a, l = this.options, s = l.group, u = p.active, d = Pe === s, f = l.sort, m = X || u, y, b = this, E = false; + if (at) + return; + function k(ce, nn) { + G(ce, b, te({ + evt: e, + isOwner: d, + axis: y ? "vertical" : "horizontal", + revert: a, + dragRect: r, + targetRect: i, + canSort: f, + fromSortable: m, + target: o, + completed: F, + onMove: function(gt, on) { + return Re(C, n, c, r, gt, M(gt), e, on); + }, + changed: A + }, nn)); + } + function H() { + k("dragOverAnimationCapture"), b.captureAnimationState(), b !== m && m.captureAnimationState(); + } + function F(ce) { + return k("dragOverCompleted", { + insertion: ce + }), ce && (d ? u._hideClone() : u._showClone(b), b !== m && (V(c, X ? X.options.ghostClass : u.options.ghostClass, false), V(c, l.ghostClass, true)), X !== b && b !== p.active ? X = b : b === p.active && X && (X = null), m === b && (b._ignoreWhileAnimating = o), b.animateAll(function() { + k("dragOverAnimationComplete"), b._ignoreWhileAnimating = null; + }), b !== m && (m.animateAll(), m._ignoreWhileAnimating = null)), (o === c && !c.animated || o === n && !o.animated) && (me = null), !l.dragoverBubble && !e.rootEl && o !== document && (c.parentNode[q]._isOutsideThisEl(e.target), !ce && he(e)), !l.dragoverBubble && e.stopPropagation && e.stopPropagation(), E = true; + } + function A() { + $ = K(c), le = K(c, l.draggable), W({ + sortable: b, + name: "change", + toEl: n, + newIndex: $, + newDraggableIndex: le, + originalEvent: e + }); + } + if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), o = Z(o, l.draggable, n, true), k("dragOver"), p.eventCanceled) + return E; + if (c.contains(e.target) || o.animated && o.animatingX && o.animatingY || b._ignoreWhileAnimating === o) + return F(false); + if (We = false, u && !l.disabled && (d ? f || (a = I !== C) : X === this || (this.lastPutMode = Pe.checkPull(this, u, c, e)) && s.checkPut(this, u, c, e))) { + if (y = this._getDirection(e, o) === "vertical", r = M(c), k("dragOverValid"), p.eventCanceled) + return E; + if (a) + return I = C, H(), this._hideClone(), k("revert"), p.eventCanceled || (pe ? C.insertBefore(c, pe) : C.appendChild(c)), F(true); + var L = dt(n, l.draggable); + if (!L || Vn(e, y, this) && !L.animated) { + if (L === c) + return F(false); + if (L && n === e.target && (o = L), o && (i = M(o)), Re(C, n, c, r, o, i, e, !!o) !== false) + return H(), L && L.nextSibling ? n.insertBefore(c, L.nextSibling) : n.appendChild(c), I = n, A(), F(true); + } else if (L && Un(e, y, this)) { + var ne = we(n, 0, l, true); + if (ne === c) + return F(false); + if (o = ne, i = M(o), Re(C, n, c, r, o, i, e, false) !== false) + return H(), n.insertBefore(c, ne), I = n, A(), F(true); + } else if (o.parentNode === n) { + i = M(o); + var j = 0, Q, v = c.parentNode !== n, w = !Ln(c.animated && c.toRect || r, o.animated && o.toRect || i, y), x = y ? "top" : "left", N = It(o, "top", "top") || It(c, "top", "top"), _ = N ? N.scrollTop : void 0; + me !== o && (Q = i[x], Ie = false, Me = !w && l.invertSwap || v), j = $n(e, o, i, y, w ? 1 : l.swapThreshold, l.invertedSwapThreshold == null ? l.swapThreshold : l.invertedSwapThreshold, Me, me === o); + var T; + if (j !== 0) { + var R = K(c); + do + R -= j, T = I.children[R]; + while (T && (h(T, "display") === "none" || T === g)); + } + if (j === 0 || T === o) + return F(false); + me = o, Oe = j; + var Y = o.nextElementSibling, z = false; + z = j === 1; + var ae = Re(C, n, c, r, o, i, e, z); + if (ae !== false) + return (ae === 1 || ae === -1) && (z = ae === 1), at = true, setTimeout(zn, 30), H(), z && !Y ? n.appendChild(c) : o.parentNode.insertBefore(c, z ? Y : o), N && jt(N, 0, _ - N.scrollTop), I = c.parentNode, Q !== void 0 && !Me && (Be = Math.abs(Q - M(o)[x])), A(), F(true); + } + if (n.contains(c)) + return F(false); + } + return false; + }, + _ignoreWhileAnimating: null, + _offMoveEvents: function() { + S(document, "mousemove", this._onTouchMove), S(document, "touchmove", this._onTouchMove), S(document, "pointermove", this._onTouchMove), S(document, "dragover", he), S(document, "mousemove", he), S(document, "touchmove", he); + }, + _offUpEvents: function() { + var e = this.el.ownerDocument; + S(e, "mouseup", this._onDrop), S(e, "touchend", this._onDrop), S(e, "pointerup", this._onDrop), S(e, "touchcancel", this._onDrop), S(document, "selectstart", this); + }, + _onDrop: function(e) { + var n = this.el, o = this.options; + if ($ = K(c), le = K(c, o.draggable), G("drop", this, { + evt: e + }), I = c && c.parentNode, $ = K(c), le = K(c, o.draggable), p.eventCanceled) { + this._nulling(); + return; + } + ve = false, Me = false, Ie = false, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), lt(this.cloneId), lt(this._dragStartId), this.nativeDraggable && (S(document, "drop", this), S(n, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), _e && h(document.body, "user-select", ""), h(c, "transform", ""), e && (Ee && (e.cancelable && e.preventDefault(), !o.dropBubble && e.stopPropagation()), g && g.parentNode && g.parentNode.removeChild(g), (C === I || X && X.lastPutMode !== "clone") && O && O.parentNode && O.parentNode.removeChild(O), c && (this.nativeDraggable && S(c, "dragend", this), tt(c), c.style["will-change"] = "", Ee && !ve && V(c, X ? X.options.ghostClass : this.options.ghostClass, false), V(c, this.options.chosenClass, false), W({ + sortable: this, + name: "unchoose", + toEl: I, + newIndex: null, + newDraggableIndex: null, + originalEvent: e + }), C !== I ? ($ >= 0 && (W({ + rootEl: I, + name: "add", + toEl: I, + fromEl: C, + originalEvent: e + }), W({ + sortable: this, + name: "remove", + toEl: I, + originalEvent: e + }), W({ + rootEl: I, + name: "sort", + toEl: I, + fromEl: C, + originalEvent: e + }), W({ + sortable: this, + name: "sort", + toEl: I, + originalEvent: e + })), X && X.save()) : $ !== be && $ >= 0 && (W({ + sortable: this, + name: "update", + toEl: I, + originalEvent: e + }), W({ + sortable: this, + name: "sort", + toEl: I, + originalEvent: e + })), p.active && (($ == null || $ === -1) && ($ = be, le = Ce), W({ + sortable: this, + name: "end", + toEl: I, + originalEvent: e + }), this.save()))), this._nulling(); + }, + _nulling: function() { + G("nulling", this), C = c = I = g = pe = O = Ye = se = de = J = Ee = $ = le = be = Ce = me = Oe = X = Pe = p.dragged = p.ghost = p.clone = p.active = null, je.forEach(function(e) { + e.checked = true; + }), je.length = Ze = Qe = 0; + }, + handleEvent: function(e) { + switch (e.type) { + case "drop": + case "dragend": + this._onDrop(e); + break; + case "dragenter": + case "dragover": + c && (this._onDragOver(e), jn(e)); + break; + case "selectstart": + e.preventDefault(); + break; + } + }, + /** + * Serializes the item into an array of string. + * @returns {String[]} + */ + toArray: function() { + for (var e = [], n, o = this.el.children, r = 0, i = o.length, a = this.options; r < i; r++) + n = o[r], Z(n, a.draggable, this.el, false) && e.push(n.getAttribute(a.dataIdAttr) || Kn(n)); + return e; + }, + /** + * Sorts the elements according to the array. + * @param {String[]} order order of the items + */ + sort: function(e, n) { + var o = {}, r = this.el; + this.toArray().forEach(function(i, a) { + var l = r.children[a]; + Z(l, this.options.draggable, r, false) && (o[i] = l); + }, this), n && this.captureAnimationState(), e.forEach(function(i) { + o[i] && (r.removeChild(o[i]), r.appendChild(o[i])); + }), n && this.animateAll(); + }, + /** + * Save the current sorting + */ + save: function() { + var e = this.options.store; + e && e.set && e.set(this); + }, + /** + * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. + * @param {HTMLElement} el + * @param {String} [selector] default: `options.draggable` + * @returns {HTMLElement|null} + */ + closest: function(e, n) { + return Z(e, n || this.options.draggable, this.el, false); + }, + /** + * Set/get option + * @param {string} name + * @param {*} [value] + * @returns {*} + */ + option: function(e, n) { + var o = this.options; + if (n === void 0) + return o[e]; + var r = xe.modifyOption(this, e, n); + typeof r != "undefined" ? o[e] = r : o[e] = n, e === "group" && qt(o); + }, + /** + * Destroy + */ + destroy: function() { + G("destroy", this); + var e = this.el; + e[q] = null, S(e, "mousedown", this._onTapStart), S(e, "touchstart", this._onTapStart), S(e, "pointerdown", this._onTapStart), this.nativeDraggable && (S(e, "dragover", this), S(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), function(n) { + n.removeAttribute("draggable"); + }), this._onDrop(), this._disableDelayedDragEvents(), Ge.splice(Ge.indexOf(this.el), 1), this.el = e = null; + }, + _hideClone: function() { + if (!se) { + if (G("hideClone", this), p.eventCanceled) + return; + h(O, "display", "none"), this.options.removeCloneOnHide && O.parentNode && O.parentNode.removeChild(O), se = true; + } + }, + _showClone: function(e) { + if (e.lastPutMode !== "clone") { + this._hideClone(); + return; + } + if (se) { + if (G("showClone", this), p.eventCanceled) + return; + c.parentNode == C && !this.options.group.revertClone ? C.insertBefore(O, c) : pe ? C.insertBefore(O, pe) : C.appendChild(O), this.options.group.revertClone && this.animate(c, O), h(O, "display", ""), se = false; + } + } +}; +function jn(t) { + t.dataTransfer && (t.dataTransfer.dropEffect = "move"), t.cancelable && t.preventDefault(); +} +function Re(t, e, n, o, r, i, a, l) { + var s, u = t[q], d = u.options.onMove, f; + return window.CustomEvent && !ie && !Ae ? s = new CustomEvent("move", { + bubbles: true, + cancelable: true + }) : (s = document.createEvent("Event"), s.initEvent("move", true, true)), s.to = e, s.from = t, s.dragged = n, s.draggedRect = o, s.related = r || e, s.relatedRect = i || M(e), s.willInsertAfter = l, s.originalEvent = a, t.dispatchEvent(s), d && (f = d.call(u, s, a)), f; +} +function tt(t) { + t.draggable = false; +} +function zn() { + at = false; +} +function Un(t, e, n) { + var o = M(we(n.el, 0, n.options, true)), r = Ut(n.el, n.options, g), i = 10; + return e ? t.clientX < r.left - i || t.clientY < o.top && t.clientX < o.right : t.clientY < r.top - i || t.clientY < o.bottom && t.clientX < o.left; +} +function Vn(t, e, n) { + var o = M(dt(n.el, n.options.draggable)), r = Ut(n.el, n.options, g), i = 10; + return e ? t.clientX > r.right + i || t.clientY > o.bottom && t.clientX > o.left : t.clientY > r.bottom + i || t.clientX > o.right && t.clientY > o.top; +} +function $n(t, e, n, o, r, i, a, l) { + var s = o ? t.clientY : t.clientX, u = o ? n.height : n.width, d = o ? n.top : n.left, f = o ? n.bottom : n.right, m = false; + if (!a) { + if (l && Be < u * r) { + if (!Ie && (Oe === 1 ? s > d + u * i / 2 : s < f - u * i / 2) && (Ie = true), Ie) + m = true; + else if (Oe === 1 ? s < d + Be : s > f - Be) + return -Oe; + } else if (s > d + u * (1 - r) / 2 && s < f - u * (1 - r) / 2) + return qn(e); + } + return m = m || a, m && (s < d + u * i / 2 || s > f - u * i / 2) ? s > d + u / 2 ? 1 : -1 : 0; +} +function qn(t) { + return K(c) < K(t) ? 1 : -1; +} +function Kn(t) { + for (var e = t.tagName + t.className + t.src + t.href + t.textContent, n = e.length, o = 0; n--; ) + o += e.charCodeAt(n); + return o.toString(36); +} +function Jn(t) { + je.length = 0; + for (var e = t.getElementsByTagName("input"), n = e.length; n--; ) { + var o = e[n]; + o.checked && je.push(o); + } +} +function ke(t) { + return setTimeout(t, 0); +} +function lt(t) { + return clearTimeout(t); +} +Ue && D(document, "touchmove", function(t) { + (p.active || ve) && t.cancelable && t.preventDefault(); +}); +p.utils = { + on: D, + off: S, + css: h, + find: Wt, + is: function(e, n) { + return !!Z(e, n, e, false); + }, + extend: Mn, + throttle: Gt, + closest: Z, + toggleClass: V, + clone: zt, + index: K, + nextTick: ke, + cancelNextTick: lt, + detectDirection: $t, + getChild: we +}; +p.get = function(t) { + return t[q]; +}; +p.mount = function() { + for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) + e[n] = arguments[n]; + e[0].constructor === Array && (e = e[0]), e.forEach(function(o) { + if (!o.prototype || !o.prototype.constructor) + throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(o)); + o.utils && (p.utils = te(te({}, p.utils), o.utils)), xe.mount(o); + }); +}; +p.create = function(t, e) { + return new p(t, e); +}; +p.version = xn; +var P = []; +var Se; +var st; +var ut = false; +var nt; +var ot; +var ze; +var De; +function Zn() { + function t() { + this.defaults = { + scroll: true, + forceAutoScrollFallback: false, + scrollSensitivity: 30, + scrollSpeed: 10, + bubbleScroll: true + }; + for (var e in this) + e.charAt(0) === "_" && typeof this[e] == "function" && (this[e] = this[e].bind(this)); + } + return t.prototype = { + dragStarted: function(n) { + var o = n.originalEvent; + this.sortable.nativeDraggable ? D(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? D(document, "pointermove", this._handleFallbackAutoScroll) : o.touches ? D(document, "touchmove", this._handleFallbackAutoScroll) : D(document, "mousemove", this._handleFallbackAutoScroll); + }, + dragOverCompleted: function(n) { + var o = n.originalEvent; + !this.options.dragOverBubble && !o.rootEl && this._handleAutoScroll(o); + }, + drop: function() { + this.sortable.nativeDraggable ? S(document, "dragover", this._handleAutoScroll) : (S(document, "pointermove", this._handleFallbackAutoScroll), S(document, "touchmove", this._handleFallbackAutoScroll), S(document, "mousemove", this._handleFallbackAutoScroll)), Mt(), He(), Fn(); + }, + nulling: function() { + ze = st = Se = ut = De = nt = ot = null, P.length = 0; + }, + _handleFallbackAutoScroll: function(n) { + this._handleAutoScroll(n, true); + }, + _handleAutoScroll: function(n, o) { + var r = this, i = (n.touches ? n.touches[0] : n).clientX, a = (n.touches ? n.touches[0] : n).clientY, l = document.elementFromPoint(i, a); + if (ze = n, o || this.options.forceAutoScrollFallback || Ae || ie || _e) { + rt(n, this.options, l, o); + var s = ue(l, true); + ut && (!De || i !== nt || a !== ot) && (De && Mt(), De = setInterval(function() { + var u = ue(document.elementFromPoint(i, a), true); + u !== s && (s = u, He()), rt(n, r.options, u, o); + }, 10), nt = i, ot = a); + } else { + if (!this.options.bubbleScroll || ue(l, true) === ee()) { + He(); + return; + } + rt(n, this.options, ue(l, false), false); + } + } + }, re(t, { + pluginName: "scroll", + initializeByDefault: true + }); +} +function He() { + P.forEach(function(t) { + clearInterval(t.pid); + }), P = []; +} +function Mt() { + clearInterval(De); +} +var rt = Gt(function(t, e, n, o) { + if (e.scroll) { + var r = (t.touches ? t.touches[0] : t).clientX, i = (t.touches ? t.touches[0] : t).clientY, a = e.scrollSensitivity, l = e.scrollSpeed, s = ee(), u = false, d; + st !== n && (st = n, He(), Se = e.scroll, d = e.scrollFn, Se === true && (Se = ue(n, true))); + var f = 0, m = Se; + do { + var y = m, b = M(y), E = b.top, k = b.bottom, H = b.left, F = b.right, A = b.width, L = b.height, ne = void 0, j = void 0, Q = y.scrollWidth, v = y.scrollHeight, w = h(y), x = y.scrollLeft, N = y.scrollTop; + y === s ? (ne = A < Q && (w.overflowX === "auto" || w.overflowX === "scroll" || w.overflowX === "visible"), j = L < v && (w.overflowY === "auto" || w.overflowY === "scroll" || w.overflowY === "visible")) : (ne = A < Q && (w.overflowX === "auto" || w.overflowX === "scroll"), j = L < v && (w.overflowY === "auto" || w.overflowY === "scroll")); + var _ = ne && (Math.abs(F - r) <= a && x + A < Q) - (Math.abs(H - r) <= a && !!x), T = j && (Math.abs(k - i) <= a && N + L < v) - (Math.abs(E - i) <= a && !!N); + if (!P[f]) + for (var R = 0; R <= f; R++) + P[R] || (P[R] = {}); + (P[f].vx != _ || P[f].vy != T || P[f].el !== y) && (P[f].el = y, P[f].vx = _, P[f].vy = T, clearInterval(P[f].pid), (_ != 0 || T != 0) && (u = true, P[f].pid = setInterval((function() { + o && this.layer === 0 && p.active._onTouchMove(ze); + var Y = P[this.layer].vy ? P[this.layer].vy * l : 0, z = P[this.layer].vx ? P[this.layer].vx * l : 0; + typeof d == "function" && d.call(p.dragged.parentNode[q], z, Y, t, ze, P[this.layer].el) !== "continue" || jt(P[this.layer].el, z, Y); + }).bind({ + layer: f + }), 24))), f++; + } while (e.bubbleScroll && m !== s && (m = ue(m, false))); + ut = u; + } +}, 30); +var Zt = function(e) { + var n = e.originalEvent, o = e.putSortable, r = e.dragEl, i = e.activeSortable, a = e.dispatchSortableEvent, l = e.hideGhostForTarget, s = e.unhideGhostForTarget; + if (n) { + var u = o || i; + l(); + var d = n.changedTouches && n.changedTouches.length ? n.changedTouches[0] : n, f = document.elementFromPoint(d.clientX, d.clientY); + s(), u && !u.el.contains(f) && (a("spill"), this.onSpill({ + dragEl: r, + putSortable: o + })); + } +}; +function ht() { +} +ht.prototype = { + startIndex: null, + dragStart: function(e) { + var n = e.oldDraggableIndex; + this.startIndex = n; + }, + onSpill: function(e) { + var n = e.dragEl, o = e.putSortable; + this.sortable.captureAnimationState(), o && o.captureAnimationState(); + var r = we(this.sortable.el, this.startIndex, this.options); + r ? this.sortable.el.insertBefore(n, r) : this.sortable.el.appendChild(n), this.sortable.animateAll(), o && o.animateAll(); + }, + drop: Zt +}; +re(ht, { + pluginName: "revertOnSpill" +}); +function pt() { +} +pt.prototype = { + onSpill: function(e) { + var n = e.dragEl, o = e.putSortable, r = o || this.sortable; + r.captureAnimationState(), n.parentNode && n.parentNode.removeChild(n), r.animateAll(); + }, + drop: Zt +}; +re(pt, { + pluginName: "removeOnSpill" +}); +p.mount(new Zn()); +p.mount(pt, ht); +function Qn(t) { + return t == null ? t : JSON.parse(JSON.stringify(t)); +} +function eo(t) { + ft() && ln(t); +} +function to(t) { + ft() ? sn(t) : Yt(t); +} +var Qt = null; +var en = null; +function Ft(t = null, e = null) { + Qt = t, en = e; +} +function no() { + return { + data: Qt, + clonedData: en + }; +} +var Rt = Symbol("cloneElement"); +function tn(...t) { + var j, Q; + const e = (j = ft()) == null ? void 0 : j.proxy; + let n = null; + const o = t[0]; + let [, r, i] = t; + Array.isArray(U(r)) || (i = r, r = null); + let a = null; + const { + immediate: l = true, + clone: s = Qn, + customUpdate: u + } = (Q = U(i)) != null ? Q : {}; + function d(v) { + var R; + const { from: w, oldIndex: x, item: N } = v; + n = Array.from(w.childNodes); + const _ = U((R = U(r)) == null ? void 0 : R[x]), T = s(_); + Ft(_, T), N[Rt] = T; + } + function f(v) { + const w = v.item[Rt]; + if (!yn(w)) { + if (qe(v.item), $e(r)) { + const x = [...U(r)]; + r.value = St(x, v.newDraggableIndex, w); + return; + } + St(U(r), v.newDraggableIndex, w); + } + } + function m(v) { + const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, pullMode: T, clone: R } = v; + if (Dt(w, x, N), T === "clone") { + qe(R); + return; + } + if ($e(r)) { + const Y = [...U(r)]; + r.value = Et(Y, _); + return; + } + Et(U(r), _); + } + function y(v) { + if (u) { + u(v); + return; + } + const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, newDraggableIndex: T } = v; + if (qe(x), Dt(w, x, N), $e(r)) { + const R = [...U(r)]; + r.value = wt( + R, + _, + T + ); + return; + } + wt(U(r), _, T); + } + function b(v) { + const { newIndex: w, oldIndex: x, from: N, to: _ } = v; + let T = null; + const R = w === x && N === _; + try { + if (R) { + let Y = null; + n == null || n.some((z, ae) => { + if (Y && (n == null ? void 0 : n.length) !== _.childNodes.length) + return N.insertBefore(Y, z.nextSibling), true; + const ce = _.childNodes[ae]; + Y = _ == null ? void 0 : _.replaceChild(z, ce); + }); + } + } catch (Y) { + T = Y; + } finally { + n = null; + } + Yt(() => { + if (Ft(), T) + throw T; + }); + } + const E = { + onUpdate: y, + onStart: d, + onAdd: f, + onRemove: m, + onEnd: b + }; + function k(v) { + const w = U(o); + return v || (v = wn(w) ? En(w, e == null ? void 0 : e.$el) : w), v && !_n(v) && (v = v.$el), v || mn("Root element not found"), v; + } + function H() { + var N; + const _ = (N = U(i)) != null ? N : {}, { immediate: v, clone: w } = _, x = Ve(_, ["immediate", "clone"]); + return _t(x, (T, R) => { + Tn(T) && (x[T] = (Y, ...z) => { + const ae = no(); + return Cn(Y, ae), R(Y, ...z); + }); + }), Dn( + r === null ? {} : E, + x + ); + } + const F = (v) => { + v = k(v), a && A.destroy(), a = new p(v, H()); + }; + an( + () => i, + () => { + a && _t(H(), (v, w) => { + a == null || a.option(v, w); + }); + }, + { deep: true } + ); + const A = { + option: (v, w) => a == null ? void 0 : a.option(v, w), + destroy: () => { + a == null || a.destroy(), a = null; + }, + save: () => a == null ? void 0 : a.save(), + toArray: () => a == null ? void 0 : a.toArray(), + closest: (...v) => a == null ? void 0 : a.closest(...v) + }, L = () => A == null ? void 0 : A.option("disabled", true), ne = () => A == null ? void 0 : A.option("disabled", false); + return to(() => { + l && F(); + }), eo(A.destroy), fe({ start: F, pause: L, resume: ne }, A); +} +var ct = [ + "update", + "start", + "add", + "remove", + "choose", + "unchoose", + "end", + "sort", + "filter", + "clone", + "move", + "change" +]; +var oo = [ + "clone", + "animation", + "ghostClass", + "group", + "sort", + "disabled", + "store", + "handle", + "draggable", + "swapThreshold", + "invertSwap", + "invertedSwapThreshold", + "removeCloneOnHide", + "direction", + "chosenClass", + "dragClass", + "ignore", + "filter", + "preventOnFilter", + "easing", + "setData", + "dropBubble", + "dragoverBubble", + "dataIdAttr", + "delay", + "delayOnTouchOnly", + "touchStartThreshold", + "forceFallback", + "fallbackClass", + "fallbackOnBody", + "fallbackTolerance", + "fallbackOffset", + "supportPointer", + "emptyInsertThreshold", + "scroll", + "forceAutoScrollFallback", + "scrollSensitivity", + "scrollSpeed", + "bubbleScroll", + "modelValue", + "tag", + "target", + "customUpdate", + ...ct.map((t) => `on${t.replace(/^\S/, (e) => e.toUpperCase())}`) +]; +var lo = un({ + name: "VueDraggable", + model: { + prop: "modelValue", + event: "update:modelValue" + }, + props: oo, + emits: ["update:modelValue", ...ct], + setup(t, { slots: e, emit: n, expose: o, attrs: r }) { + const i = ct.reduce((d, f) => { + const m = `on${f.replace(/^\S/, (y) => y.toUpperCase())}`; + return d[m] = (...y) => n(f, ...y), d; + }, {}), a = yt(() => { + const y = cn(t), { modelValue: d } = y, f = Ve(y, ["modelValue"]), m = Object.entries(f).reduce((b, [E, k]) => { + const H = U(k); + return H !== void 0 && (b[E] = H), b; + }, {}); + return fe(fe({}, i), bn(fe(fe({}, r), m))); + }), l = yt({ + get: () => t.modelValue, + set: (d) => n("update:modelValue", d) + }), s = fn(), u = dn( + tn(t.target || s, l, a) + ); + return o(u), () => { + var d; + return hn(t.tag || "div", { ref: s }, (d = e == null ? void 0 : e.default) == null ? void 0 : d.call(e, u)); + }; + } +}); +var Xt = { + mounted: "mounted", + unmounted: "unmounted" +}; +var it = /* @__PURE__ */ new WeakMap(); +var so = { + [Xt.mounted](t, e) { + const n = pn(e.value) ? [e.value] : e.value, [o, r] = n, i = tn(t, o, r); + it.set(t, i.destroy); + }, + [Xt.unmounted](t) { + var e; + (e = it.get(t)) == null || e(), it.delete(t); + } +}; +export { + lo as VueDraggable, + tn as useDraggable, + so as vDraggable +}; +/*! Bundled license information: + +vue-draggable-plus/dist/vue-draggable-plus.js: + (**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + *) +*/ +//# sourceMappingURL=vue-draggable-plus.js.map diff --git a/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js.map b/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js.map new file mode 100644 index 0000000..d1f9295 --- /dev/null +++ b/unpackage/dist/cache/.vite/deps/vue-draggable-plus.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../../node_modules/vue-draggable-plus/dist/vue-draggable-plus.js"], + "sourcesContent": ["var rn = Object.defineProperty;\nvar Ne = Object.getOwnPropertySymbols;\nvar vt = Object.prototype.hasOwnProperty, bt = Object.prototype.propertyIsEnumerable;\nvar mt = (t, e, n) => e in t ? rn(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, fe = (t, e) => {\n for (var n in e || (e = {}))\n vt.call(e, n) && mt(t, n, e[n]);\n if (Ne)\n for (var n of Ne(e))\n bt.call(e, n) && mt(t, n, e[n]);\n return t;\n};\nvar Ve = (t, e) => {\n var n = {};\n for (var o in t)\n vt.call(t, o) && e.indexOf(o) < 0 && (n[o] = t[o]);\n if (t != null && Ne)\n for (var o of Ne(t))\n e.indexOf(o) < 0 && bt.call(t, o) && (n[o] = t[o]);\n return n;\n};\nimport { getCurrentInstance as ft, unref as U, watch as an, onUnmounted as ln, onMounted as sn, nextTick as Yt, isRef as $e, defineComponent as un, computed as yt, toRefs as cn, ref as fn, reactive as dn, h as hn, isProxy as pn } from \"vue\";\nconst Bt = \"[vue-draggable-plus]: \";\nfunction gn(t) {\n console.warn(Bt + t);\n}\nfunction mn(t) {\n console.error(Bt + t);\n}\nfunction wt(t, e, n) {\n return n >= 0 && n < t.length && t.splice(n, 0, t.splice(e, 1)[0]), t;\n}\nfunction vn(t) {\n return t.replace(/-(\\w)/g, (e, n) => n ? n.toUpperCase() : \"\");\n}\nfunction bn(t) {\n return Object.keys(t).reduce((e, n) => (typeof t[n] != \"undefined\" && (e[vn(n)] = t[n]), e), {});\n}\nfunction Et(t, e) {\n return Array.isArray(t) && t.splice(e, 1), t;\n}\nfunction St(t, e, n) {\n return Array.isArray(t) && t.splice(e, 0, n), t;\n}\nfunction yn(t) {\n return typeof t == \"undefined\";\n}\nfunction wn(t) {\n return typeof t == \"string\";\n}\nfunction Dt(t, e, n) {\n const o = t.children[n];\n t.insertBefore(e, o);\n}\nfunction qe(t) {\n t.parentNode && t.parentNode.removeChild(t);\n}\nfunction En(t, e = document) {\n var o;\n let n = null;\n return typeof (e == null ? void 0 : e.querySelector) == \"function\" ? n = (o = e == null ? void 0 : e.querySelector) == null ? void 0 : o.call(e, t) : n = document.querySelector(t), n || gn(`Element not found: ${t}`), n;\n}\nfunction Sn(t, e, n = null) {\n return function(...o) {\n return t.apply(n, o), e.apply(n, o);\n };\n}\nfunction Dn(t, e) {\n const n = fe({}, t);\n return Object.keys(e).forEach((o) => {\n n[o] ? n[o] = Sn(t[o], e[o]) : n[o] = e[o];\n }), n;\n}\nfunction _n(t) {\n return t instanceof HTMLElement;\n}\nfunction _t(t, e) {\n Object.keys(t).forEach((n) => {\n e(n, t[n]);\n });\n}\nfunction Tn(t) {\n return t.charCodeAt(0) === 111 && t.charCodeAt(1) === 110 && // uppercase letter\n (t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97);\n}\nconst Cn = Object.assign;\n/**!\n * Sortable 1.15.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction Tt(t, e) {\n var n = Object.keys(t);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(t);\n e && (o = o.filter(function(r) {\n return Object.getOwnPropertyDescriptor(t, r).enumerable;\n })), n.push.apply(n, o);\n }\n return n;\n}\nfunction te(t) {\n for (var e = 1; e < arguments.length; e++) {\n var n = arguments[e] != null ? arguments[e] : {};\n e % 2 ? Tt(Object(n), !0).forEach(function(o) {\n On(t, o, n[o]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Tt(Object(n)).forEach(function(o) {\n Object.defineProperty(t, o, Object.getOwnPropertyDescriptor(n, o));\n });\n }\n return t;\n}\nfunction Xe(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? Xe = function(e) {\n return typeof e;\n } : Xe = function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, Xe(t);\n}\nfunction On(t, e, n) {\n return e in t ? Object.defineProperty(t, e, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = n, t;\n}\nfunction re() {\n return re = Object.assign || function(t) {\n for (var e = 1; e < arguments.length; e++) {\n var n = arguments[e];\n for (var o in n)\n Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]);\n }\n return t;\n }, re.apply(this, arguments);\n}\nfunction In(t, e) {\n if (t == null)\n return {};\n var n = {}, o = Object.keys(t), r, i;\n for (i = 0; i < o.length; i++)\n r = o[i], !(e.indexOf(r) >= 0) && (n[r] = t[r]);\n return n;\n}\nfunction An(t, e) {\n if (t == null)\n return {};\n var n = In(t, e), o, r;\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(t);\n for (r = 0; r < i.length; r++)\n o = i[r], !(e.indexOf(o) >= 0) && Object.prototype.propertyIsEnumerable.call(t, o) && (n[o] = t[o]);\n }\n return n;\n}\nvar xn = \"1.15.2\";\nfunction oe(t) {\n if (typeof window != \"undefined\" && window.navigator)\n return !!/* @__PURE__ */ navigator.userAgent.match(t);\n}\nvar ie = oe(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i), Ae = oe(/Edge/i), Ct = oe(/firefox/i), _e = oe(/safari/i) && !oe(/chrome/i) && !oe(/android/i), kt = oe(/iP(ad|od|hone)/i), Ht = oe(/chrome/i) && oe(/android/i), Lt = {\n capture: !1,\n passive: !1\n};\nfunction D(t, e, n) {\n t.addEventListener(e, n, !ie && Lt);\n}\nfunction S(t, e, n) {\n t.removeEventListener(e, n, !ie && Lt);\n}\nfunction Le(t, e) {\n if (e) {\n if (e[0] === \">\" && (e = e.substring(1)), t)\n try {\n if (t.matches)\n return t.matches(e);\n if (t.msMatchesSelector)\n return t.msMatchesSelector(e);\n if (t.webkitMatchesSelector)\n return t.webkitMatchesSelector(e);\n } catch (n) {\n return !1;\n }\n return !1;\n }\n}\nfunction Nn(t) {\n return t.host && t !== document && t.host.nodeType ? t.host : t.parentNode;\n}\nfunction Z(t, e, n, o) {\n if (t) {\n n = n || document;\n do {\n if (e != null && (e[0] === \">\" ? t.parentNode === n && Le(t, e) : Le(t, e)) || o && t === n)\n return t;\n if (t === n)\n break;\n } while (t = Nn(t));\n }\n return null;\n}\nvar Ot = /\\s+/g;\nfunction V(t, e, n) {\n if (t && e)\n if (t.classList)\n t.classList[n ? \"add\" : \"remove\"](e);\n else {\n var o = (\" \" + t.className + \" \").replace(Ot, \" \").replace(\" \" + e + \" \", \" \");\n t.className = (o + (n ? \" \" + e : \"\")).replace(Ot, \" \");\n }\n}\nfunction h(t, e, n) {\n var o = t && t.style;\n if (o) {\n if (n === void 0)\n return document.defaultView && document.defaultView.getComputedStyle ? n = document.defaultView.getComputedStyle(t, \"\") : t.currentStyle && (n = t.currentStyle), e === void 0 ? n : n[e];\n !(e in o) && e.indexOf(\"webkit\") === -1 && (e = \"-webkit-\" + e), o[e] = n + (typeof n == \"string\" ? \"\" : \"px\");\n }\n}\nfunction ye(t, e) {\n var n = \"\";\n if (typeof t == \"string\")\n n = t;\n else\n do {\n var o = h(t, \"transform\");\n o && o !== \"none\" && (n = o + \" \" + n);\n } while (!e && (t = t.parentNode));\n var r = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n return r && new r(n);\n}\nfunction Wt(t, e, n) {\n if (t) {\n var o = t.getElementsByTagName(e), r = 0, i = o.length;\n if (n)\n for (; r < i; r++)\n n(o[r], r);\n return o;\n }\n return [];\n}\nfunction ee() {\n var t = document.scrollingElement;\n return t || document.documentElement;\n}\nfunction M(t, e, n, o, r) {\n if (!(!t.getBoundingClientRect && t !== window)) {\n var i, a, l, s, u, d, f;\n if (t !== window && t.parentNode && t !== ee() ? (i = t.getBoundingClientRect(), a = i.top, l = i.left, s = i.bottom, u = i.right, d = i.height, f = i.width) : (a = 0, l = 0, s = window.innerHeight, u = window.innerWidth, d = window.innerHeight, f = window.innerWidth), (e || n) && t !== window && (r = r || t.parentNode, !ie))\n do\n if (r && r.getBoundingClientRect && (h(r, \"transform\") !== \"none\" || n && h(r, \"position\") !== \"static\")) {\n var m = r.getBoundingClientRect();\n a -= m.top + parseInt(h(r, \"border-top-width\")), l -= m.left + parseInt(h(r, \"border-left-width\")), s = a + i.height, u = l + i.width;\n break;\n }\n while (r = r.parentNode);\n if (o && t !== window) {\n var y = ye(r || t), b = y && y.a, E = y && y.d;\n y && (a /= E, l /= b, f /= b, d /= E, s = a + d, u = l + f);\n }\n return {\n top: a,\n left: l,\n bottom: s,\n right: u,\n width: f,\n height: d\n };\n }\n}\nfunction It(t, e, n) {\n for (var o = ue(t, !0), r = M(t)[e]; o; ) {\n var i = M(o)[n], a = void 0;\n if (a = r >= i, !a)\n return o;\n if (o === ee())\n break;\n o = ue(o, !1);\n }\n return !1;\n}\nfunction we(t, e, n, o) {\n for (var r = 0, i = 0, a = t.children; i < a.length; ) {\n if (a[i].style.display !== \"none\" && a[i] !== p.ghost && (o || a[i] !== p.dragged) && Z(a[i], n.draggable, t, !1)) {\n if (r === e)\n return a[i];\n r++;\n }\n i++;\n }\n return null;\n}\nfunction dt(t, e) {\n for (var n = t.lastElementChild; n && (n === p.ghost || h(n, \"display\") === \"none\" || e && !Le(n, e)); )\n n = n.previousElementSibling;\n return n || null;\n}\nfunction K(t, e) {\n var n = 0;\n if (!t || !t.parentNode)\n return -1;\n for (; t = t.previousElementSibling; )\n t.nodeName.toUpperCase() !== \"TEMPLATE\" && t !== p.clone && (!e || Le(t, e)) && n++;\n return n;\n}\nfunction At(t) {\n var e = 0, n = 0, o = ee();\n if (t)\n do {\n var r = ye(t), i = r.a, a = r.d;\n e += t.scrollLeft * i, n += t.scrollTop * a;\n } while (t !== o && (t = t.parentNode));\n return [e, n];\n}\nfunction Pn(t, e) {\n for (var n in t)\n if (t.hasOwnProperty(n)) {\n for (var o in e)\n if (e.hasOwnProperty(o) && e[o] === t[n][o])\n return Number(n);\n }\n return -1;\n}\nfunction ue(t, e) {\n if (!t || !t.getBoundingClientRect)\n return ee();\n var n = t, o = !1;\n do\n if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {\n var r = h(n);\n if (n.clientWidth < n.scrollWidth && (r.overflowX == \"auto\" || r.overflowX == \"scroll\") || n.clientHeight < n.scrollHeight && (r.overflowY == \"auto\" || r.overflowY == \"scroll\")) {\n if (!n.getBoundingClientRect || n === document.body)\n return ee();\n if (o || e)\n return n;\n o = !0;\n }\n }\n while (n = n.parentNode);\n return ee();\n}\nfunction Mn(t, e) {\n if (t && e)\n for (var n in e)\n e.hasOwnProperty(n) && (t[n] = e[n]);\n return t;\n}\nfunction Ke(t, e) {\n return Math.round(t.top) === Math.round(e.top) && Math.round(t.left) === Math.round(e.left) && Math.round(t.height) === Math.round(e.height) && Math.round(t.width) === Math.round(e.width);\n}\nvar Te;\nfunction Gt(t, e) {\n return function() {\n if (!Te) {\n var n = arguments, o = this;\n n.length === 1 ? t.call(o, n[0]) : t.apply(o, n), Te = setTimeout(function() {\n Te = void 0;\n }, e);\n }\n };\n}\nfunction Fn() {\n clearTimeout(Te), Te = void 0;\n}\nfunction jt(t, e, n) {\n t.scrollLeft += e, t.scrollTop += n;\n}\nfunction zt(t) {\n var e = window.Polymer, n = window.jQuery || window.Zepto;\n return e && e.dom ? e.dom(t).cloneNode(!0) : n ? n(t).clone(!0)[0] : t.cloneNode(!0);\n}\nfunction Ut(t, e, n) {\n var o = {};\n return Array.from(t.children).forEach(function(r) {\n var i, a, l, s;\n if (!(!Z(r, e.draggable, t, !1) || r.animated || r === n)) {\n var u = M(r);\n o.left = Math.min((i = o.left) !== null && i !== void 0 ? i : 1 / 0, u.left), o.top = Math.min((a = o.top) !== null && a !== void 0 ? a : 1 / 0, u.top), o.right = Math.max((l = o.right) !== null && l !== void 0 ? l : -1 / 0, u.right), o.bottom = Math.max((s = o.bottom) !== null && s !== void 0 ? s : -1 / 0, u.bottom);\n }\n }), o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o;\n}\nvar q = \"Sortable\" + (/* @__PURE__ */ new Date()).getTime();\nfunction Rn() {\n var t = [], e;\n return {\n captureAnimationState: function() {\n if (t = [], !!this.options.animation) {\n var o = [].slice.call(this.el.children);\n o.forEach(function(r) {\n if (!(h(r, \"display\") === \"none\" || r === p.ghost)) {\n t.push({\n target: r,\n rect: M(r)\n });\n var i = te({}, t[t.length - 1].rect);\n if (r.thisAnimationDuration) {\n var a = ye(r, !0);\n a && (i.top -= a.f, i.left -= a.e);\n }\n r.fromRect = i;\n }\n });\n }\n },\n addAnimationState: function(o) {\n t.push(o);\n },\n removeAnimationState: function(o) {\n t.splice(Pn(t, {\n target: o\n }), 1);\n },\n animateAll: function(o) {\n var r = this;\n if (!this.options.animation) {\n clearTimeout(e), typeof o == \"function\" && o();\n return;\n }\n var i = !1, a = 0;\n t.forEach(function(l) {\n var s = 0, u = l.target, d = u.fromRect, f = M(u), m = u.prevFromRect, y = u.prevToRect, b = l.rect, E = ye(u, !0);\n E && (f.top -= E.f, f.left -= E.e), u.toRect = f, u.thisAnimationDuration && Ke(m, f) && !Ke(d, f) && // Make sure animatingRect is on line between toRect & fromRect\n (b.top - f.top) / (b.left - f.left) === (d.top - f.top) / (d.left - f.left) && (s = Yn(b, m, y, r.options)), Ke(f, d) || (u.prevFromRect = d, u.prevToRect = f, s || (s = r.options.animation), r.animate(u, b, f, s)), s && (i = !0, a = Math.max(a, s), clearTimeout(u.animationResetTimer), u.animationResetTimer = setTimeout(function() {\n u.animationTime = 0, u.prevFromRect = null, u.fromRect = null, u.prevToRect = null, u.thisAnimationDuration = null;\n }, s), u.thisAnimationDuration = s);\n }), clearTimeout(e), i ? e = setTimeout(function() {\n typeof o == \"function\" && o();\n }, a) : typeof o == \"function\" && o(), t = [];\n },\n animate: function(o, r, i, a) {\n if (a) {\n h(o, \"transition\", \"\"), h(o, \"transform\", \"\");\n var l = ye(this.el), s = l && l.a, u = l && l.d, d = (r.left - i.left) / (s || 1), f = (r.top - i.top) / (u || 1);\n o.animatingX = !!d, o.animatingY = !!f, h(o, \"transform\", \"translate3d(\" + d + \"px,\" + f + \"px,0)\"), this.forRepaintDummy = Xn(o), h(o, \"transition\", \"transform \" + a + \"ms\" + (this.options.easing ? \" \" + this.options.easing : \"\")), h(o, \"transform\", \"translate3d(0,0,0)\"), typeof o.animated == \"number\" && clearTimeout(o.animated), o.animated = setTimeout(function() {\n h(o, \"transition\", \"\"), h(o, \"transform\", \"\"), o.animated = !1, o.animatingX = !1, o.animatingY = !1;\n }, a);\n }\n }\n };\n}\nfunction Xn(t) {\n return t.offsetWidth;\n}\nfunction Yn(t, e, n, o) {\n return Math.sqrt(Math.pow(e.top - t.top, 2) + Math.pow(e.left - t.left, 2)) / Math.sqrt(Math.pow(e.top - n.top, 2) + Math.pow(e.left - n.left, 2)) * o.animation;\n}\nvar ge = [], Je = {\n initializeByDefault: !0\n}, xe = {\n mount: function(e) {\n for (var n in Je)\n Je.hasOwnProperty(n) && !(n in e) && (e[n] = Je[n]);\n ge.forEach(function(o) {\n if (o.pluginName === e.pluginName)\n throw \"Sortable: Cannot mount plugin \".concat(e.pluginName, \" more than once\");\n }), ge.push(e);\n },\n pluginEvent: function(e, n, o) {\n var r = this;\n this.eventCanceled = !1, o.cancel = function() {\n r.eventCanceled = !0;\n };\n var i = e + \"Global\";\n ge.forEach(function(a) {\n n[a.pluginName] && (n[a.pluginName][i] && n[a.pluginName][i](te({\n sortable: n\n }, o)), n.options[a.pluginName] && n[a.pluginName][e] && n[a.pluginName][e](te({\n sortable: n\n }, o)));\n });\n },\n initializePlugins: function(e, n, o, r) {\n ge.forEach(function(l) {\n var s = l.pluginName;\n if (!(!e.options[s] && !l.initializeByDefault)) {\n var u = new l(e, n, e.options);\n u.sortable = e, u.options = e.options, e[s] = u, re(o, u.defaults);\n }\n });\n for (var i in e.options)\n if (e.options.hasOwnProperty(i)) {\n var a = this.modifyOption(e, i, e.options[i]);\n typeof a != \"undefined\" && (e.options[i] = a);\n }\n },\n getEventProperties: function(e, n) {\n var o = {};\n return ge.forEach(function(r) {\n typeof r.eventProperties == \"function\" && re(o, r.eventProperties.call(n[r.pluginName], e));\n }), o;\n },\n modifyOption: function(e, n, o) {\n var r;\n return ge.forEach(function(i) {\n e[i.pluginName] && i.optionListeners && typeof i.optionListeners[n] == \"function\" && (r = i.optionListeners[n].call(e[i.pluginName], o));\n }), r;\n }\n};\nfunction Bn(t) {\n var e = t.sortable, n = t.rootEl, o = t.name, r = t.targetEl, i = t.cloneEl, a = t.toEl, l = t.fromEl, s = t.oldIndex, u = t.newIndex, d = t.oldDraggableIndex, f = t.newDraggableIndex, m = t.originalEvent, y = t.putSortable, b = t.extraEventProperties;\n if (e = e || n && n[q], !!e) {\n var E, k = e.options, H = \"on\" + o.charAt(0).toUpperCase() + o.substr(1);\n window.CustomEvent && !ie && !Ae ? E = new CustomEvent(o, {\n bubbles: !0,\n cancelable: !0\n }) : (E = document.createEvent(\"Event\"), E.initEvent(o, !0, !0)), E.to = a || n, E.from = l || n, E.item = r || n, E.clone = i, E.oldIndex = s, E.newIndex = u, E.oldDraggableIndex = d, E.newDraggableIndex = f, E.originalEvent = m, E.pullMode = y ? y.lastPutMode : void 0;\n var F = te(te({}, b), xe.getEventProperties(o, e));\n for (var A in F)\n E[A] = F[A];\n n && n.dispatchEvent(E), k[H] && k[H].call(e, E);\n }\n}\nvar kn = [\"evt\"], G = function(e, n) {\n var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = o.evt, i = An(o, kn);\n xe.pluginEvent.bind(p)(e, n, te({\n dragEl: c,\n parentEl: I,\n ghostEl: g,\n rootEl: C,\n nextEl: pe,\n lastDownEl: Ye,\n cloneEl: O,\n cloneHidden: se,\n dragStarted: Ee,\n putSortable: X,\n activeSortable: p.active,\n originalEvent: r,\n oldIndex: be,\n oldDraggableIndex: Ce,\n newIndex: $,\n newDraggableIndex: le,\n hideGhostForTarget: Kt,\n unhideGhostForTarget: Jt,\n cloneNowHidden: function() {\n se = !0;\n },\n cloneNowShown: function() {\n se = !1;\n },\n dispatchSortableEvent: function(l) {\n W({\n sortable: n,\n name: l,\n originalEvent: r\n });\n }\n }, i));\n};\nfunction W(t) {\n Bn(te({\n putSortable: X,\n cloneEl: O,\n targetEl: c,\n rootEl: C,\n oldIndex: be,\n oldDraggableIndex: Ce,\n newIndex: $,\n newDraggableIndex: le\n }, t));\n}\nvar c, I, g, C, pe, Ye, O, se, be, $, Ce, le, Pe, X, ve = !1, We = !1, Ge = [], de, J, Ze, Qe, xt, Nt, Ee, me, Oe, Ie = !1, Me = !1, Be, B, et = [], at = !1, je = [], Ue = typeof document != \"undefined\", Fe = kt, Pt = Ae || ie ? \"cssFloat\" : \"float\", Hn = Ue && !Ht && !kt && \"draggable\" in document.createElement(\"div\"), Vt = function() {\n if (Ue) {\n if (ie)\n return !1;\n var t = document.createElement(\"x\");\n return t.style.cssText = \"pointer-events:auto\", t.style.pointerEvents === \"auto\";\n }\n}(), $t = function(e, n) {\n var o = h(e), r = parseInt(o.width) - parseInt(o.paddingLeft) - parseInt(o.paddingRight) - parseInt(o.borderLeftWidth) - parseInt(o.borderRightWidth), i = we(e, 0, n), a = we(e, 1, n), l = i && h(i), s = a && h(a), u = l && parseInt(l.marginLeft) + parseInt(l.marginRight) + M(i).width, d = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + M(a).width;\n if (o.display === \"flex\")\n return o.flexDirection === \"column\" || o.flexDirection === \"column-reverse\" ? \"vertical\" : \"horizontal\";\n if (o.display === \"grid\")\n return o.gridTemplateColumns.split(\" \").length <= 1 ? \"vertical\" : \"horizontal\";\n if (i && l.float && l.float !== \"none\") {\n var f = l.float === \"left\" ? \"left\" : \"right\";\n return a && (s.clear === \"both\" || s.clear === f) ? \"vertical\" : \"horizontal\";\n }\n return i && (l.display === \"block\" || l.display === \"flex\" || l.display === \"table\" || l.display === \"grid\" || u >= r && o[Pt] === \"none\" || a && o[Pt] === \"none\" && u + d > r) ? \"vertical\" : \"horizontal\";\n}, Ln = function(e, n, o) {\n var r = o ? e.left : e.top, i = o ? e.right : e.bottom, a = o ? e.width : e.height, l = o ? n.left : n.top, s = o ? n.right : n.bottom, u = o ? n.width : n.height;\n return r === l || i === s || r + a / 2 === l + u / 2;\n}, Wn = function(e, n) {\n var o;\n return Ge.some(function(r) {\n var i = r[q].options.emptyInsertThreshold;\n if (!(!i || dt(r))) {\n var a = M(r), l = e >= a.left - i && e <= a.right + i, s = n >= a.top - i && n <= a.bottom + i;\n if (l && s)\n return o = r;\n }\n }), o;\n}, qt = function(e) {\n function n(i, a) {\n return function(l, s, u, d) {\n var f = l.options.group.name && s.options.group.name && l.options.group.name === s.options.group.name;\n if (i == null && (a || f))\n return !0;\n if (i == null || i === !1)\n return !1;\n if (a && i === \"clone\")\n return i;\n if (typeof i == \"function\")\n return n(i(l, s, u, d), a)(l, s, u, d);\n var m = (a ? l : s).options.group.name;\n return i === !0 || typeof i == \"string\" && i === m || i.join && i.indexOf(m) > -1;\n };\n }\n var o = {}, r = e.group;\n (!r || Xe(r) != \"object\") && (r = {\n name: r\n }), o.name = r.name, o.checkPull = n(r.pull, !0), o.checkPut = n(r.put), o.revertClone = r.revertClone, e.group = o;\n}, Kt = function() {\n !Vt && g && h(g, \"display\", \"none\");\n}, Jt = function() {\n !Vt && g && h(g, \"display\", \"\");\n};\nUe && !Ht && document.addEventListener(\"click\", function(t) {\n if (We)\n return t.preventDefault(), t.stopPropagation && t.stopPropagation(), t.stopImmediatePropagation && t.stopImmediatePropagation(), We = !1, !1;\n}, !0);\nvar he = function(e) {\n if (c) {\n e = e.touches ? e.touches[0] : e;\n var n = Wn(e.clientX, e.clientY);\n if (n) {\n var o = {};\n for (var r in e)\n e.hasOwnProperty(r) && (o[r] = e[r]);\n o.target = o.rootEl = n, o.preventDefault = void 0, o.stopPropagation = void 0, n[q]._onDragOver(o);\n }\n }\n}, Gn = function(e) {\n c && c.parentNode[q]._isOutsideThisEl(e.target);\n};\nfunction p(t, e) {\n if (!(t && t.nodeType && t.nodeType === 1))\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(t));\n this.el = t, this.options = e = re({}, e), t[q] = this;\n var n = {\n group: null,\n sort: !0,\n disabled: !1,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(t.nodeName) ? \">li\" : \">*\",\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: !1,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: !0,\n direction: function() {\n return $t(t, this.options);\n },\n ghostClass: \"sortable-ghost\",\n chosenClass: \"sortable-chosen\",\n dragClass: \"sortable-drag\",\n ignore: \"a, img\",\n filter: null,\n preventOnFilter: !0,\n animation: 0,\n easing: null,\n setData: function(a, l) {\n a.setData(\"Text\", l.textContent);\n },\n dropBubble: !1,\n dragoverBubble: !1,\n dataIdAttr: \"data-id\",\n delay: 0,\n delayOnTouchOnly: !1,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: !1,\n fallbackClass: \"sortable-fallback\",\n fallbackOnBody: !1,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: p.supportPointer !== !1 && \"PointerEvent\" in window && !_e,\n emptyInsertThreshold: 5\n };\n xe.initializePlugins(this, t, n);\n for (var o in n)\n !(o in e) && (e[o] = n[o]);\n qt(e);\n for (var r in this)\n r.charAt(0) === \"_\" && typeof this[r] == \"function\" && (this[r] = this[r].bind(this));\n this.nativeDraggable = e.forceFallback ? !1 : Hn, this.nativeDraggable && (this.options.touchStartThreshold = 1), e.supportPointer ? D(t, \"pointerdown\", this._onTapStart) : (D(t, \"mousedown\", this._onTapStart), D(t, \"touchstart\", this._onTapStart)), this.nativeDraggable && (D(t, \"dragover\", this), D(t, \"dragenter\", this)), Ge.push(this.el), e.store && e.store.get && this.sort(e.store.get(this) || []), re(this, Rn());\n}\np.prototype = /** @lends Sortable.prototype */\n{\n constructor: p,\n _isOutsideThisEl: function(e) {\n !this.el.contains(e) && e !== this.el && (me = null);\n },\n _getDirection: function(e, n) {\n return typeof this.options.direction == \"function\" ? this.options.direction.call(this, e, n, c) : this.options.direction;\n },\n _onTapStart: function(e) {\n if (e.cancelable) {\n var n = this, o = this.el, r = this.options, i = r.preventOnFilter, a = e.type, l = e.touches && e.touches[0] || e.pointerType && e.pointerType === \"touch\" && e, s = (l || e).target, u = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || s, d = r.filter;\n if (Jn(o), !c && !(/mousedown|pointerdown/.test(a) && e.button !== 0 || r.disabled) && !u.isContentEditable && !(!this.nativeDraggable && _e && s && s.tagName.toUpperCase() === \"SELECT\") && (s = Z(s, r.draggable, o, !1), !(s && s.animated) && Ye !== s)) {\n if (be = K(s), Ce = K(s, r.draggable), typeof d == \"function\") {\n if (d.call(this, e, s, this)) {\n W({\n sortable: n,\n rootEl: u,\n name: \"filter\",\n targetEl: s,\n toEl: o,\n fromEl: o\n }), G(\"filter\", n, {\n evt: e\n }), i && e.cancelable && e.preventDefault();\n return;\n }\n } else if (d && (d = d.split(\",\").some(function(f) {\n if (f = Z(u, f.trim(), o, !1), f)\n return W({\n sortable: n,\n rootEl: f,\n name: \"filter\",\n targetEl: s,\n fromEl: o,\n toEl: o\n }), G(\"filter\", n, {\n evt: e\n }), !0;\n }), d)) {\n i && e.cancelable && e.preventDefault();\n return;\n }\n r.handle && !Z(u, r.handle, o, !1) || this._prepareDragStart(e, l, s);\n }\n }\n },\n _prepareDragStart: function(e, n, o) {\n var r = this, i = r.el, a = r.options, l = i.ownerDocument, s;\n if (o && !c && o.parentNode === i) {\n var u = M(o);\n if (C = i, c = o, I = c.parentNode, pe = c.nextSibling, Ye = o, Pe = a.group, p.dragged = c, de = {\n target: c,\n clientX: (n || e).clientX,\n clientY: (n || e).clientY\n }, xt = de.clientX - u.left, Nt = de.clientY - u.top, this._lastX = (n || e).clientX, this._lastY = (n || e).clientY, c.style[\"will-change\"] = \"all\", s = function() {\n if (G(\"delayEnded\", r, {\n evt: e\n }), p.eventCanceled) {\n r._onDrop();\n return;\n }\n r._disableDelayedDragEvents(), !Ct && r.nativeDraggable && (c.draggable = !0), r._triggerDragStart(e, n), W({\n sortable: r,\n name: \"choose\",\n originalEvent: e\n }), V(c, a.chosenClass, !0);\n }, a.ignore.split(\",\").forEach(function(d) {\n Wt(c, d.trim(), tt);\n }), D(l, \"dragover\", he), D(l, \"mousemove\", he), D(l, \"touchmove\", he), D(l, \"mouseup\", r._onDrop), D(l, \"touchend\", r._onDrop), D(l, \"touchcancel\", r._onDrop), Ct && this.nativeDraggable && (this.options.touchStartThreshold = 4, c.draggable = !0), G(\"delayStart\", this, {\n evt: e\n }), a.delay && (!a.delayOnTouchOnly || n) && (!this.nativeDraggable || !(Ae || ie))) {\n if (p.eventCanceled) {\n this._onDrop();\n return;\n }\n D(l, \"mouseup\", r._disableDelayedDrag), D(l, \"touchend\", r._disableDelayedDrag), D(l, \"touchcancel\", r._disableDelayedDrag), D(l, \"mousemove\", r._delayedDragTouchMoveHandler), D(l, \"touchmove\", r._delayedDragTouchMoveHandler), a.supportPointer && D(l, \"pointermove\", r._delayedDragTouchMoveHandler), r._dragStartTimer = setTimeout(s, a.delay);\n } else\n s();\n }\n },\n _delayedDragTouchMoveHandler: function(e) {\n var n = e.touches ? e.touches[0] : e;\n Math.max(Math.abs(n.clientX - this._lastX), Math.abs(n.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag();\n },\n _disableDelayedDrag: function() {\n c && tt(c), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function() {\n var e = this.el.ownerDocument;\n S(e, \"mouseup\", this._disableDelayedDrag), S(e, \"touchend\", this._disableDelayedDrag), S(e, \"touchcancel\", this._disableDelayedDrag), S(e, \"mousemove\", this._delayedDragTouchMoveHandler), S(e, \"touchmove\", this._delayedDragTouchMoveHandler), S(e, \"pointermove\", this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function(e, n) {\n n = n || e.pointerType == \"touch\" && e, !this.nativeDraggable || n ? this.options.supportPointer ? D(document, \"pointermove\", this._onTouchMove) : n ? D(document, \"touchmove\", this._onTouchMove) : D(document, \"mousemove\", this._onTouchMove) : (D(c, \"dragend\", this), D(C, \"dragstart\", this._onDragStart));\n try {\n document.selection ? ke(function() {\n document.selection.empty();\n }) : window.getSelection().removeAllRanges();\n } catch (o) {\n }\n },\n _dragStarted: function(e, n) {\n if (ve = !1, C && c) {\n G(\"dragStarted\", this, {\n evt: n\n }), this.nativeDraggable && D(document, \"dragover\", Gn);\n var o = this.options;\n !e && V(c, o.dragClass, !1), V(c, o.ghostClass, !0), p.active = this, e && this._appendGhost(), W({\n sortable: this,\n name: \"start\",\n originalEvent: n\n });\n } else\n this._nulling();\n },\n _emulateDragOver: function() {\n if (J) {\n this._lastX = J.clientX, this._lastY = J.clientY, Kt();\n for (var e = document.elementFromPoint(J.clientX, J.clientY), n = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(J.clientX, J.clientY), e !== n); )\n n = e;\n if (c.parentNode[q]._isOutsideThisEl(e), n)\n do {\n if (n[q]) {\n var o = void 0;\n if (o = n[q]._onDragOver({\n clientX: J.clientX,\n clientY: J.clientY,\n target: e,\n rootEl: n\n }), o && !this.options.dragoverBubble)\n break;\n }\n e = n;\n } while (n = n.parentNode);\n Jt();\n }\n },\n _onTouchMove: function(e) {\n if (de) {\n var n = this.options, o = n.fallbackTolerance, r = n.fallbackOffset, i = e.touches ? e.touches[0] : e, a = g && ye(g, !0), l = g && a && a.a, s = g && a && a.d, u = Fe && B && At(B), d = (i.clientX - de.clientX + r.x) / (l || 1) + (u ? u[0] - et[0] : 0) / (l || 1), f = (i.clientY - de.clientY + r.y) / (s || 1) + (u ? u[1] - et[1] : 0) / (s || 1);\n if (!p.active && !ve) {\n if (o && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < o)\n return;\n this._onDragStart(e, !0);\n }\n if (g) {\n a ? (a.e += d - (Ze || 0), a.f += f - (Qe || 0)) : a = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: d,\n f\n };\n var m = \"matrix(\".concat(a.a, \",\").concat(a.b, \",\").concat(a.c, \",\").concat(a.d, \",\").concat(a.e, \",\").concat(a.f, \")\");\n h(g, \"webkitTransform\", m), h(g, \"mozTransform\", m), h(g, \"msTransform\", m), h(g, \"transform\", m), Ze = d, Qe = f, J = i;\n }\n e.cancelable && e.preventDefault();\n }\n },\n _appendGhost: function() {\n if (!g) {\n var e = this.options.fallbackOnBody ? document.body : C, n = M(c, !0, Fe, !0, e), o = this.options;\n if (Fe) {\n for (B = e; h(B, \"position\") === \"static\" && h(B, \"transform\") === \"none\" && B !== document; )\n B = B.parentNode;\n B !== document.body && B !== document.documentElement ? (B === document && (B = ee()), n.top += B.scrollTop, n.left += B.scrollLeft) : B = ee(), et = At(B);\n }\n g = c.cloneNode(!0), V(g, o.ghostClass, !1), V(g, o.fallbackClass, !0), V(g, o.dragClass, !0), h(g, \"transition\", \"\"), h(g, \"transform\", \"\"), h(g, \"box-sizing\", \"border-box\"), h(g, \"margin\", 0), h(g, \"top\", n.top), h(g, \"left\", n.left), h(g, \"width\", n.width), h(g, \"height\", n.height), h(g, \"opacity\", \"0.8\"), h(g, \"position\", Fe ? \"absolute\" : \"fixed\"), h(g, \"zIndex\", \"100000\"), h(g, \"pointerEvents\", \"none\"), p.ghost = g, e.appendChild(g), h(g, \"transform-origin\", xt / parseInt(g.style.width) * 100 + \"% \" + Nt / parseInt(g.style.height) * 100 + \"%\");\n }\n },\n _onDragStart: function(e, n) {\n var o = this, r = e.dataTransfer, i = o.options;\n if (G(\"dragStart\", this, {\n evt: e\n }), p.eventCanceled) {\n this._onDrop();\n return;\n }\n G(\"setupClone\", this), p.eventCanceled || (O = zt(c), O.removeAttribute(\"id\"), O.draggable = !1, O.style[\"will-change\"] = \"\", this._hideClone(), V(O, this.options.chosenClass, !1), p.clone = O), o.cloneId = ke(function() {\n G(\"clone\", o), !p.eventCanceled && (o.options.removeCloneOnHide || C.insertBefore(O, c), o._hideClone(), W({\n sortable: o,\n name: \"clone\"\n }));\n }), !n && V(c, i.dragClass, !0), n ? (We = !0, o._loopId = setInterval(o._emulateDragOver, 50)) : (S(document, \"mouseup\", o._onDrop), S(document, \"touchend\", o._onDrop), S(document, \"touchcancel\", o._onDrop), r && (r.effectAllowed = \"move\", i.setData && i.setData.call(o, r, c)), D(document, \"drop\", o), h(c, \"transform\", \"translateZ(0)\")), ve = !0, o._dragStartId = ke(o._dragStarted.bind(o, n, e)), D(document, \"selectstart\", o), Ee = !0, _e && h(document.body, \"user-select\", \"none\");\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function(e) {\n var n = this.el, o = e.target, r, i, a, l = this.options, s = l.group, u = p.active, d = Pe === s, f = l.sort, m = X || u, y, b = this, E = !1;\n if (at)\n return;\n function k(ce, nn) {\n G(ce, b, te({\n evt: e,\n isOwner: d,\n axis: y ? \"vertical\" : \"horizontal\",\n revert: a,\n dragRect: r,\n targetRect: i,\n canSort: f,\n fromSortable: m,\n target: o,\n completed: F,\n onMove: function(gt, on) {\n return Re(C, n, c, r, gt, M(gt), e, on);\n },\n changed: A\n }, nn));\n }\n function H() {\n k(\"dragOverAnimationCapture\"), b.captureAnimationState(), b !== m && m.captureAnimationState();\n }\n function F(ce) {\n return k(\"dragOverCompleted\", {\n insertion: ce\n }), ce && (d ? u._hideClone() : u._showClone(b), b !== m && (V(c, X ? X.options.ghostClass : u.options.ghostClass, !1), V(c, l.ghostClass, !0)), X !== b && b !== p.active ? X = b : b === p.active && X && (X = null), m === b && (b._ignoreWhileAnimating = o), b.animateAll(function() {\n k(\"dragOverAnimationComplete\"), b._ignoreWhileAnimating = null;\n }), b !== m && (m.animateAll(), m._ignoreWhileAnimating = null)), (o === c && !c.animated || o === n && !o.animated) && (me = null), !l.dragoverBubble && !e.rootEl && o !== document && (c.parentNode[q]._isOutsideThisEl(e.target), !ce && he(e)), !l.dragoverBubble && e.stopPropagation && e.stopPropagation(), E = !0;\n }\n function A() {\n $ = K(c), le = K(c, l.draggable), W({\n sortable: b,\n name: \"change\",\n toEl: n,\n newIndex: $,\n newDraggableIndex: le,\n originalEvent: e\n });\n }\n if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), o = Z(o, l.draggable, n, !0), k(\"dragOver\"), p.eventCanceled)\n return E;\n if (c.contains(e.target) || o.animated && o.animatingX && o.animatingY || b._ignoreWhileAnimating === o)\n return F(!1);\n if (We = !1, u && !l.disabled && (d ? f || (a = I !== C) : X === this || (this.lastPutMode = Pe.checkPull(this, u, c, e)) && s.checkPut(this, u, c, e))) {\n if (y = this._getDirection(e, o) === \"vertical\", r = M(c), k(\"dragOverValid\"), p.eventCanceled)\n return E;\n if (a)\n return I = C, H(), this._hideClone(), k(\"revert\"), p.eventCanceled || (pe ? C.insertBefore(c, pe) : C.appendChild(c)), F(!0);\n var L = dt(n, l.draggable);\n if (!L || Vn(e, y, this) && !L.animated) {\n if (L === c)\n return F(!1);\n if (L && n === e.target && (o = L), o && (i = M(o)), Re(C, n, c, r, o, i, e, !!o) !== !1)\n return H(), L && L.nextSibling ? n.insertBefore(c, L.nextSibling) : n.appendChild(c), I = n, A(), F(!0);\n } else if (L && Un(e, y, this)) {\n var ne = we(n, 0, l, !0);\n if (ne === c)\n return F(!1);\n if (o = ne, i = M(o), Re(C, n, c, r, o, i, e, !1) !== !1)\n return H(), n.insertBefore(c, ne), I = n, A(), F(!0);\n } else if (o.parentNode === n) {\n i = M(o);\n var j = 0, Q, v = c.parentNode !== n, w = !Ln(c.animated && c.toRect || r, o.animated && o.toRect || i, y), x = y ? \"top\" : \"left\", N = It(o, \"top\", \"top\") || It(c, \"top\", \"top\"), _ = N ? N.scrollTop : void 0;\n me !== o && (Q = i[x], Ie = !1, Me = !w && l.invertSwap || v), j = $n(e, o, i, y, w ? 1 : l.swapThreshold, l.invertedSwapThreshold == null ? l.swapThreshold : l.invertedSwapThreshold, Me, me === o);\n var T;\n if (j !== 0) {\n var R = K(c);\n do\n R -= j, T = I.children[R];\n while (T && (h(T, \"display\") === \"none\" || T === g));\n }\n if (j === 0 || T === o)\n return F(!1);\n me = o, Oe = j;\n var Y = o.nextElementSibling, z = !1;\n z = j === 1;\n var ae = Re(C, n, c, r, o, i, e, z);\n if (ae !== !1)\n return (ae === 1 || ae === -1) && (z = ae === 1), at = !0, setTimeout(zn, 30), H(), z && !Y ? n.appendChild(c) : o.parentNode.insertBefore(c, z ? Y : o), N && jt(N, 0, _ - N.scrollTop), I = c.parentNode, Q !== void 0 && !Me && (Be = Math.abs(Q - M(o)[x])), A(), F(!0);\n }\n if (n.contains(c))\n return F(!1);\n }\n return !1;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function() {\n S(document, \"mousemove\", this._onTouchMove), S(document, \"touchmove\", this._onTouchMove), S(document, \"pointermove\", this._onTouchMove), S(document, \"dragover\", he), S(document, \"mousemove\", he), S(document, \"touchmove\", he);\n },\n _offUpEvents: function() {\n var e = this.el.ownerDocument;\n S(e, \"mouseup\", this._onDrop), S(e, \"touchend\", this._onDrop), S(e, \"pointerup\", this._onDrop), S(e, \"touchcancel\", this._onDrop), S(document, \"selectstart\", this);\n },\n _onDrop: function(e) {\n var n = this.el, o = this.options;\n if ($ = K(c), le = K(c, o.draggable), G(\"drop\", this, {\n evt: e\n }), I = c && c.parentNode, $ = K(c), le = K(c, o.draggable), p.eventCanceled) {\n this._nulling();\n return;\n }\n ve = !1, Me = !1, Ie = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), lt(this.cloneId), lt(this._dragStartId), this.nativeDraggable && (S(document, \"drop\", this), S(n, \"dragstart\", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), _e && h(document.body, \"user-select\", \"\"), h(c, \"transform\", \"\"), e && (Ee && (e.cancelable && e.preventDefault(), !o.dropBubble && e.stopPropagation()), g && g.parentNode && g.parentNode.removeChild(g), (C === I || X && X.lastPutMode !== \"clone\") && O && O.parentNode && O.parentNode.removeChild(O), c && (this.nativeDraggable && S(c, \"dragend\", this), tt(c), c.style[\"will-change\"] = \"\", Ee && !ve && V(c, X ? X.options.ghostClass : this.options.ghostClass, !1), V(c, this.options.chosenClass, !1), W({\n sortable: this,\n name: \"unchoose\",\n toEl: I,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: e\n }), C !== I ? ($ >= 0 && (W({\n rootEl: I,\n name: \"add\",\n toEl: I,\n fromEl: C,\n originalEvent: e\n }), W({\n sortable: this,\n name: \"remove\",\n toEl: I,\n originalEvent: e\n }), W({\n rootEl: I,\n name: \"sort\",\n toEl: I,\n fromEl: C,\n originalEvent: e\n }), W({\n sortable: this,\n name: \"sort\",\n toEl: I,\n originalEvent: e\n })), X && X.save()) : $ !== be && $ >= 0 && (W({\n sortable: this,\n name: \"update\",\n toEl: I,\n originalEvent: e\n }), W({\n sortable: this,\n name: \"sort\",\n toEl: I,\n originalEvent: e\n })), p.active && (($ == null || $ === -1) && ($ = be, le = Ce), W({\n sortable: this,\n name: \"end\",\n toEl: I,\n originalEvent: e\n }), this.save()))), this._nulling();\n },\n _nulling: function() {\n G(\"nulling\", this), C = c = I = g = pe = O = Ye = se = de = J = Ee = $ = le = be = Ce = me = Oe = X = Pe = p.dragged = p.ghost = p.clone = p.active = null, je.forEach(function(e) {\n e.checked = !0;\n }), je.length = Ze = Qe = 0;\n },\n handleEvent: function(e) {\n switch (e.type) {\n case \"drop\":\n case \"dragend\":\n this._onDrop(e);\n break;\n case \"dragenter\":\n case \"dragover\":\n c && (this._onDragOver(e), jn(e));\n break;\n case \"selectstart\":\n e.preventDefault();\n break;\n }\n },\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function() {\n for (var e = [], n, o = this.el.children, r = 0, i = o.length, a = this.options; r < i; r++)\n n = o[r], Z(n, a.draggable, this.el, !1) && e.push(n.getAttribute(a.dataIdAttr) || Kn(n));\n return e;\n },\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function(e, n) {\n var o = {}, r = this.el;\n this.toArray().forEach(function(i, a) {\n var l = r.children[a];\n Z(l, this.options.draggable, r, !1) && (o[i] = l);\n }, this), n && this.captureAnimationState(), e.forEach(function(i) {\n o[i] && (r.removeChild(o[i]), r.appendChild(o[i]));\n }), n && this.animateAll();\n },\n /**\n * Save the current sorting\n */\n save: function() {\n var e = this.options.store;\n e && e.set && e.set(this);\n },\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function(e, n) {\n return Z(e, n || this.options.draggable, this.el, !1);\n },\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function(e, n) {\n var o = this.options;\n if (n === void 0)\n return o[e];\n var r = xe.modifyOption(this, e, n);\n typeof r != \"undefined\" ? o[e] = r : o[e] = n, e === \"group\" && qt(o);\n },\n /**\n * Destroy\n */\n destroy: function() {\n G(\"destroy\", this);\n var e = this.el;\n e[q] = null, S(e, \"mousedown\", this._onTapStart), S(e, \"touchstart\", this._onTapStart), S(e, \"pointerdown\", this._onTapStart), this.nativeDraggable && (S(e, \"dragover\", this), S(e, \"dragenter\", this)), Array.prototype.forEach.call(e.querySelectorAll(\"[draggable]\"), function(n) {\n n.removeAttribute(\"draggable\");\n }), this._onDrop(), this._disableDelayedDragEvents(), Ge.splice(Ge.indexOf(this.el), 1), this.el = e = null;\n },\n _hideClone: function() {\n if (!se) {\n if (G(\"hideClone\", this), p.eventCanceled)\n return;\n h(O, \"display\", \"none\"), this.options.removeCloneOnHide && O.parentNode && O.parentNode.removeChild(O), se = !0;\n }\n },\n _showClone: function(e) {\n if (e.lastPutMode !== \"clone\") {\n this._hideClone();\n return;\n }\n if (se) {\n if (G(\"showClone\", this), p.eventCanceled)\n return;\n c.parentNode == C && !this.options.group.revertClone ? C.insertBefore(O, c) : pe ? C.insertBefore(O, pe) : C.appendChild(O), this.options.group.revertClone && this.animate(c, O), h(O, \"display\", \"\"), se = !1;\n }\n }\n};\nfunction jn(t) {\n t.dataTransfer && (t.dataTransfer.dropEffect = \"move\"), t.cancelable && t.preventDefault();\n}\nfunction Re(t, e, n, o, r, i, a, l) {\n var s, u = t[q], d = u.options.onMove, f;\n return window.CustomEvent && !ie && !Ae ? s = new CustomEvent(\"move\", {\n bubbles: !0,\n cancelable: !0\n }) : (s = document.createEvent(\"Event\"), s.initEvent(\"move\", !0, !0)), s.to = e, s.from = t, s.dragged = n, s.draggedRect = o, s.related = r || e, s.relatedRect = i || M(e), s.willInsertAfter = l, s.originalEvent = a, t.dispatchEvent(s), d && (f = d.call(u, s, a)), f;\n}\nfunction tt(t) {\n t.draggable = !1;\n}\nfunction zn() {\n at = !1;\n}\nfunction Un(t, e, n) {\n var o = M(we(n.el, 0, n.options, !0)), r = Ut(n.el, n.options, g), i = 10;\n return e ? t.clientX < r.left - i || t.clientY < o.top && t.clientX < o.right : t.clientY < r.top - i || t.clientY < o.bottom && t.clientX < o.left;\n}\nfunction Vn(t, e, n) {\n var o = M(dt(n.el, n.options.draggable)), r = Ut(n.el, n.options, g), i = 10;\n return e ? t.clientX > r.right + i || t.clientY > o.bottom && t.clientX > o.left : t.clientY > r.bottom + i || t.clientX > o.right && t.clientY > o.top;\n}\nfunction $n(t, e, n, o, r, i, a, l) {\n var s = o ? t.clientY : t.clientX, u = o ? n.height : n.width, d = o ? n.top : n.left, f = o ? n.bottom : n.right, m = !1;\n if (!a) {\n if (l && Be < u * r) {\n if (!Ie && (Oe === 1 ? s > d + u * i / 2 : s < f - u * i / 2) && (Ie = !0), Ie)\n m = !0;\n else if (Oe === 1 ? s < d + Be : s > f - Be)\n return -Oe;\n } else if (s > d + u * (1 - r) / 2 && s < f - u * (1 - r) / 2)\n return qn(e);\n }\n return m = m || a, m && (s < d + u * i / 2 || s > f - u * i / 2) ? s > d + u / 2 ? 1 : -1 : 0;\n}\nfunction qn(t) {\n return K(c) < K(t) ? 1 : -1;\n}\nfunction Kn(t) {\n for (var e = t.tagName + t.className + t.src + t.href + t.textContent, n = e.length, o = 0; n--; )\n o += e.charCodeAt(n);\n return o.toString(36);\n}\nfunction Jn(t) {\n je.length = 0;\n for (var e = t.getElementsByTagName(\"input\"), n = e.length; n--; ) {\n var o = e[n];\n o.checked && je.push(o);\n }\n}\nfunction ke(t) {\n return setTimeout(t, 0);\n}\nfunction lt(t) {\n return clearTimeout(t);\n}\nUe && D(document, \"touchmove\", function(t) {\n (p.active || ve) && t.cancelable && t.preventDefault();\n});\np.utils = {\n on: D,\n off: S,\n css: h,\n find: Wt,\n is: function(e, n) {\n return !!Z(e, n, e, !1);\n },\n extend: Mn,\n throttle: Gt,\n closest: Z,\n toggleClass: V,\n clone: zt,\n index: K,\n nextTick: ke,\n cancelNextTick: lt,\n detectDirection: $t,\n getChild: we\n};\np.get = function(t) {\n return t[q];\n};\np.mount = function() {\n for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++)\n e[n] = arguments[n];\n e[0].constructor === Array && (e = e[0]), e.forEach(function(o) {\n if (!o.prototype || !o.prototype.constructor)\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(o));\n o.utils && (p.utils = te(te({}, p.utils), o.utils)), xe.mount(o);\n });\n};\np.create = function(t, e) {\n return new p(t, e);\n};\np.version = xn;\nvar P = [], Se, st, ut = !1, nt, ot, ze, De;\nfunction Zn() {\n function t() {\n this.defaults = {\n scroll: !0,\n forceAutoScrollFallback: !1,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: !0\n };\n for (var e in this)\n e.charAt(0) === \"_\" && typeof this[e] == \"function\" && (this[e] = this[e].bind(this));\n }\n return t.prototype = {\n dragStarted: function(n) {\n var o = n.originalEvent;\n this.sortable.nativeDraggable ? D(document, \"dragover\", this._handleAutoScroll) : this.options.supportPointer ? D(document, \"pointermove\", this._handleFallbackAutoScroll) : o.touches ? D(document, \"touchmove\", this._handleFallbackAutoScroll) : D(document, \"mousemove\", this._handleFallbackAutoScroll);\n },\n dragOverCompleted: function(n) {\n var o = n.originalEvent;\n !this.options.dragOverBubble && !o.rootEl && this._handleAutoScroll(o);\n },\n drop: function() {\n this.sortable.nativeDraggable ? S(document, \"dragover\", this._handleAutoScroll) : (S(document, \"pointermove\", this._handleFallbackAutoScroll), S(document, \"touchmove\", this._handleFallbackAutoScroll), S(document, \"mousemove\", this._handleFallbackAutoScroll)), Mt(), He(), Fn();\n },\n nulling: function() {\n ze = st = Se = ut = De = nt = ot = null, P.length = 0;\n },\n _handleFallbackAutoScroll: function(n) {\n this._handleAutoScroll(n, !0);\n },\n _handleAutoScroll: function(n, o) {\n var r = this, i = (n.touches ? n.touches[0] : n).clientX, a = (n.touches ? n.touches[0] : n).clientY, l = document.elementFromPoint(i, a);\n if (ze = n, o || this.options.forceAutoScrollFallback || Ae || ie || _e) {\n rt(n, this.options, l, o);\n var s = ue(l, !0);\n ut && (!De || i !== nt || a !== ot) && (De && Mt(), De = setInterval(function() {\n var u = ue(document.elementFromPoint(i, a), !0);\n u !== s && (s = u, He()), rt(n, r.options, u, o);\n }, 10), nt = i, ot = a);\n } else {\n if (!this.options.bubbleScroll || ue(l, !0) === ee()) {\n He();\n return;\n }\n rt(n, this.options, ue(l, !1), !1);\n }\n }\n }, re(t, {\n pluginName: \"scroll\",\n initializeByDefault: !0\n });\n}\nfunction He() {\n P.forEach(function(t) {\n clearInterval(t.pid);\n }), P = [];\n}\nfunction Mt() {\n clearInterval(De);\n}\nvar rt = Gt(function(t, e, n, o) {\n if (e.scroll) {\n var r = (t.touches ? t.touches[0] : t).clientX, i = (t.touches ? t.touches[0] : t).clientY, a = e.scrollSensitivity, l = e.scrollSpeed, s = ee(), u = !1, d;\n st !== n && (st = n, He(), Se = e.scroll, d = e.scrollFn, Se === !0 && (Se = ue(n, !0)));\n var f = 0, m = Se;\n do {\n var y = m, b = M(y), E = b.top, k = b.bottom, H = b.left, F = b.right, A = b.width, L = b.height, ne = void 0, j = void 0, Q = y.scrollWidth, v = y.scrollHeight, w = h(y), x = y.scrollLeft, N = y.scrollTop;\n y === s ? (ne = A < Q && (w.overflowX === \"auto\" || w.overflowX === \"scroll\" || w.overflowX === \"visible\"), j = L < v && (w.overflowY === \"auto\" || w.overflowY === \"scroll\" || w.overflowY === \"visible\")) : (ne = A < Q && (w.overflowX === \"auto\" || w.overflowX === \"scroll\"), j = L < v && (w.overflowY === \"auto\" || w.overflowY === \"scroll\"));\n var _ = ne && (Math.abs(F - r) <= a && x + A < Q) - (Math.abs(H - r) <= a && !!x), T = j && (Math.abs(k - i) <= a && N + L < v) - (Math.abs(E - i) <= a && !!N);\n if (!P[f])\n for (var R = 0; R <= f; R++)\n P[R] || (P[R] = {});\n (P[f].vx != _ || P[f].vy != T || P[f].el !== y) && (P[f].el = y, P[f].vx = _, P[f].vy = T, clearInterval(P[f].pid), (_ != 0 || T != 0) && (u = !0, P[f].pid = setInterval(function() {\n o && this.layer === 0 && p.active._onTouchMove(ze);\n var Y = P[this.layer].vy ? P[this.layer].vy * l : 0, z = P[this.layer].vx ? P[this.layer].vx * l : 0;\n typeof d == \"function\" && d.call(p.dragged.parentNode[q], z, Y, t, ze, P[this.layer].el) !== \"continue\" || jt(P[this.layer].el, z, Y);\n }.bind({\n layer: f\n }), 24))), f++;\n } while (e.bubbleScroll && m !== s && (m = ue(m, !1)));\n ut = u;\n }\n}, 30), Zt = function(e) {\n var n = e.originalEvent, o = e.putSortable, r = e.dragEl, i = e.activeSortable, a = e.dispatchSortableEvent, l = e.hideGhostForTarget, s = e.unhideGhostForTarget;\n if (n) {\n var u = o || i;\n l();\n var d = n.changedTouches && n.changedTouches.length ? n.changedTouches[0] : n, f = document.elementFromPoint(d.clientX, d.clientY);\n s(), u && !u.el.contains(f) && (a(\"spill\"), this.onSpill({\n dragEl: r,\n putSortable: o\n }));\n }\n};\nfunction ht() {\n}\nht.prototype = {\n startIndex: null,\n dragStart: function(e) {\n var n = e.oldDraggableIndex;\n this.startIndex = n;\n },\n onSpill: function(e) {\n var n = e.dragEl, o = e.putSortable;\n this.sortable.captureAnimationState(), o && o.captureAnimationState();\n var r = we(this.sortable.el, this.startIndex, this.options);\n r ? this.sortable.el.insertBefore(n, r) : this.sortable.el.appendChild(n), this.sortable.animateAll(), o && o.animateAll();\n },\n drop: Zt\n};\nre(ht, {\n pluginName: \"revertOnSpill\"\n});\nfunction pt() {\n}\npt.prototype = {\n onSpill: function(e) {\n var n = e.dragEl, o = e.putSortable, r = o || this.sortable;\n r.captureAnimationState(), n.parentNode && n.parentNode.removeChild(n), r.animateAll();\n },\n drop: Zt\n};\nre(pt, {\n pluginName: \"removeOnSpill\"\n});\np.mount(new Zn());\np.mount(pt, ht);\nfunction Qn(t) {\n return t == null ? t : JSON.parse(JSON.stringify(t));\n}\nfunction eo(t) {\n ft() && ln(t);\n}\nfunction to(t) {\n ft() ? sn(t) : Yt(t);\n}\nlet Qt = null, en = null;\nfunction Ft(t = null, e = null) {\n Qt = t, en = e;\n}\nfunction no() {\n return {\n data: Qt,\n clonedData: en\n };\n}\nconst Rt = Symbol(\"cloneElement\");\nfunction tn(...t) {\n var j, Q;\n const e = (j = ft()) == null ? void 0 : j.proxy;\n let n = null;\n const o = t[0];\n let [, r, i] = t;\n Array.isArray(U(r)) || (i = r, r = null);\n let a = null;\n const {\n immediate: l = !0,\n clone: s = Qn,\n customUpdate: u\n } = (Q = U(i)) != null ? Q : {};\n function d(v) {\n var R;\n const { from: w, oldIndex: x, item: N } = v;\n n = Array.from(w.childNodes);\n const _ = U((R = U(r)) == null ? void 0 : R[x]), T = s(_);\n Ft(_, T), N[Rt] = T;\n }\n function f(v) {\n const w = v.item[Rt];\n if (!yn(w)) {\n if (qe(v.item), $e(r)) {\n const x = [...U(r)];\n r.value = St(x, v.newDraggableIndex, w);\n return;\n }\n St(U(r), v.newDraggableIndex, w);\n }\n }\n function m(v) {\n const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, pullMode: T, clone: R } = v;\n if (Dt(w, x, N), T === \"clone\") {\n qe(R);\n return;\n }\n if ($e(r)) {\n const Y = [...U(r)];\n r.value = Et(Y, _);\n return;\n }\n Et(U(r), _);\n }\n function y(v) {\n if (u) {\n u(v);\n return;\n }\n const { from: w, item: x, oldIndex: N, oldDraggableIndex: _, newDraggableIndex: T } = v;\n if (qe(x), Dt(w, x, N), $e(r)) {\n const R = [...U(r)];\n r.value = wt(\n R,\n _,\n T\n );\n return;\n }\n wt(U(r), _, T);\n }\n function b(v) {\n const { newIndex: w, oldIndex: x, from: N, to: _ } = v;\n let T = null;\n const R = w === x && N === _;\n try {\n if (R) {\n let Y = null;\n n == null || n.some((z, ae) => {\n if (Y && (n == null ? void 0 : n.length) !== _.childNodes.length)\n return N.insertBefore(Y, z.nextSibling), !0;\n const ce = _.childNodes[ae];\n Y = _ == null ? void 0 : _.replaceChild(z, ce);\n });\n }\n } catch (Y) {\n T = Y;\n } finally {\n n = null;\n }\n Yt(() => {\n if (Ft(), T)\n throw T;\n });\n }\n const E = {\n onUpdate: y,\n onStart: d,\n onAdd: f,\n onRemove: m,\n onEnd: b\n };\n function k(v) {\n const w = U(o);\n return v || (v = wn(w) ? En(w, e == null ? void 0 : e.$el) : w), v && !_n(v) && (v = v.$el), v || mn(\"Root element not found\"), v;\n }\n function H() {\n var N;\n const _ = (N = U(i)) != null ? N : {}, { immediate: v, clone: w } = _, x = Ve(_, [\"immediate\", \"clone\"]);\n return _t(x, (T, R) => {\n Tn(T) && (x[T] = (Y, ...z) => {\n const ae = no();\n return Cn(Y, ae), R(Y, ...z);\n });\n }), Dn(\n r === null ? {} : E,\n x\n );\n }\n const F = (v) => {\n v = k(v), a && A.destroy(), a = new p(v, H());\n };\n an(\n () => i,\n () => {\n a && _t(H(), (v, w) => {\n a == null || a.option(v, w);\n });\n },\n { deep: !0 }\n );\n const A = {\n option: (v, w) => a == null ? void 0 : a.option(v, w),\n destroy: () => {\n a == null || a.destroy(), a = null;\n },\n save: () => a == null ? void 0 : a.save(),\n toArray: () => a == null ? void 0 : a.toArray(),\n closest: (...v) => a == null ? void 0 : a.closest(...v)\n }, L = () => A == null ? void 0 : A.option(\"disabled\", !0), ne = () => A == null ? void 0 : A.option(\"disabled\", !1);\n return to(() => {\n l && F();\n }), eo(A.destroy), fe({ start: F, pause: L, resume: ne }, A);\n}\nconst ct = [\n \"update\",\n \"start\",\n \"add\",\n \"remove\",\n \"choose\",\n \"unchoose\",\n \"end\",\n \"sort\",\n \"filter\",\n \"clone\",\n \"move\",\n \"change\"\n], oo = [\n \"clone\",\n \"animation\",\n \"ghostClass\",\n \"group\",\n \"sort\",\n \"disabled\",\n \"store\",\n \"handle\",\n \"draggable\",\n \"swapThreshold\",\n \"invertSwap\",\n \"invertedSwapThreshold\",\n \"removeCloneOnHide\",\n \"direction\",\n \"chosenClass\",\n \"dragClass\",\n \"ignore\",\n \"filter\",\n \"preventOnFilter\",\n \"easing\",\n \"setData\",\n \"dropBubble\",\n \"dragoverBubble\",\n \"dataIdAttr\",\n \"delay\",\n \"delayOnTouchOnly\",\n \"touchStartThreshold\",\n \"forceFallback\",\n \"fallbackClass\",\n \"fallbackOnBody\",\n \"fallbackTolerance\",\n \"fallbackOffset\",\n \"supportPointer\",\n \"emptyInsertThreshold\",\n \"scroll\",\n \"forceAutoScrollFallback\",\n \"scrollSensitivity\",\n \"scrollSpeed\",\n \"bubbleScroll\",\n \"modelValue\",\n \"tag\",\n \"target\",\n \"customUpdate\",\n ...ct.map((t) => `on${t.replace(/^\\S/, (e) => e.toUpperCase())}`)\n], lo = un({\n name: \"VueDraggable\",\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: oo,\n emits: [\"update:modelValue\", ...ct],\n setup(t, { slots: e, emit: n, expose: o, attrs: r }) {\n const i = ct.reduce((d, f) => {\n const m = `on${f.replace(/^\\S/, (y) => y.toUpperCase())}`;\n return d[m] = (...y) => n(f, ...y), d;\n }, {}), a = yt(() => {\n const y = cn(t), { modelValue: d } = y, f = Ve(y, [\"modelValue\"]), m = Object.entries(f).reduce((b, [E, k]) => {\n const H = U(k);\n return H !== void 0 && (b[E] = H), b;\n }, {});\n return fe(fe({}, i), bn(fe(fe({}, r), m)));\n }), l = yt({\n get: () => t.modelValue,\n set: (d) => n(\"update:modelValue\", d)\n }), s = fn(), u = dn(\n tn(t.target || s, l, a)\n );\n return o(u), () => {\n var d;\n return hn(t.tag || \"div\", { ref: s }, (d = e == null ? void 0 : e.default) == null ? void 0 : d.call(e, u));\n };\n }\n}), Xt = {\n mounted: \"mounted\",\n unmounted: \"unmounted\"\n}, it = /* @__PURE__ */ new WeakMap(), so = {\n [Xt.mounted](t, e) {\n const n = pn(e.value) ? [e.value] : e.value, [o, r] = n, i = tn(t, o, r);\n it.set(t, i.destroy);\n },\n [Xt.unmounted](t) {\n var e;\n (e = it.get(t)) == null || e(), it.delete(t);\n }\n};\nexport {\n lo as VueDraggable,\n tn as useDraggable,\n so as vDraggable\n};\n"], + "mappings": "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", + "names": [] +}