Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sortablejs-vue3

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sortablejs-vue3 - npm Package Compare versions

Comparing version 1.2.5 to 1.2.6

20

dist/sortablejs-vue3.es.js

@@ -1,8 +0,7 @@

import { defineComponent, useAttrs, ref, computed, watch, onUnmounted, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createElementBlock, renderSlot, createCommentVNode, Fragment, renderList, unref } from "vue";
import { defineComponent, useAttrs, ref, computed, watch, onUnmounted, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot, createElementBlock, Fragment, renderList, unref } from "vue";
import Sortable from "sortablejs";
const _hoisted_1 = { key: 0 };
const _hoisted_2 = { key: 1 };
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "Sortable",
props: {
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */
options: {

@@ -13,2 +12,3 @@ type: Object,

},
/** Your list of items **/
list: {

@@ -19,2 +19,3 @@ type: [Array, Object],

},
/** The name of the key present in each item in the list that corresponds to a unique value. */
itemKey: {

@@ -25,2 +26,3 @@ type: [String, Function],

},
/** The element type to render as. */
tag: {

@@ -33,3 +35,3 @@ type: String,

emits: ["choose", "unchoose", "start", "end", "add", "update", "sort", "remove", "filter", "move", "clone", "change"],
setup(__props, { emit }) {
setup(__props, { expose, emit }) {
const props = __props;

@@ -44,2 +46,3 @@ const attrs = useAttrs();

});
expose({ containerRef, sortable });
watch(containerRef, (newDraggable) => {

@@ -58,2 +61,3 @@ if (newDraggable) {

onFilter: (event) => emit("filter", event),
// See https://github.com/MaxLeiter/sortablejs-vue3/pull/56 for context on `attrs`.
onMove: (event, originalEvent) => "onMoveCapture" in attrs ? attrs.onMoveCapture(event, originalEvent) : emit("move", event, originalEvent),

@@ -92,5 +96,3 @@ onClone: (event) => emit("clone", event),

default: withCtx(() => [
_ctx.$slots["header"] ? (openBlock(), createElementBlock("header", _hoisted_1, [
renderSlot(_ctx.$slots, "header")
])) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "header"),
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.list, (item, index) => {

@@ -103,5 +105,3 @@ return renderSlot(_ctx.$slots, "item", {

}), 128)),
_ctx.$slots["footer"] ? (openBlock(), createElementBlock("footer", _hoisted_2, [
renderSlot(_ctx.$slots, "footer")
])) : createCommentVNode("", true)
renderSlot(_ctx.$slots, "footer")
]),

@@ -108,0 +108,0 @@ _: 3

@@ -1,1 +0,1 @@

!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue"),require("sortablejs")):"function"==typeof define&&define.amd?define(["exports","vue","sortablejs"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self)["SortableJS-Vue3"]={},e.Vue,e.Sortable)}(this,(function(e,o,t){"use strict";const n={key:0},r={key:1},l=o.defineComponent({__name:"Sortable",props:{options:{type:Object,default:null,required:!1},list:{type:[Array,Object],default:[],required:!0},itemKey:{type:[String,Function],default:"",required:!0},tag:{type:String,default:"div",required:!1}},emits:["choose","unchoose","start","end","add","update","sort","remove","filter","move","clone","change"],setup(e,{emit:l}){const s=e,a=o.useAttrs(),i=o.ref(null),u=o.ref(null),d=o.computed((()=>"string"==typeof s.itemKey?e=>e[s.itemKey]:s.itemKey));return o.watch(i,(e=>{e&&(u.value=new t(e,{...s.options,onChoose:e=>l("choose",e),onUnchoose:e=>l("unchoose",e),onStart:e=>l("start",e),onEnd:e=>l("end",e),onAdd:e=>l("add",e),onUpdate:e=>l("update",e),onSort:e=>l("sort",e),onRemove:e=>l("remove",e),onFilter:e=>l("filter",e),onMove:(e,o)=>"onMoveCapture"in a?a.onMoveCapture(e,o):l("move",e,o),onClone:e=>l("clone",e),onChange:e=>l("change",e)}))})),o.watch((()=>s.options),(e=>{if(e&&u?.value)for(const o in e)u.value.option(o,e[o])})),o.onUnmounted((()=>{u.value&&(u.value.destroy(),i.value=null,u.value=null)})),(t,l)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(t.$props.tag),{ref_key:"containerRef",ref:i,class:o.normalizeClass(t.$props.class)},{default:o.withCtx((()=>[t.$slots.header?(o.openBlock(),o.createElementBlock("header",n,[o.renderSlot(t.$slots,"header")])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.list,((e,n)=>o.renderSlot(t.$slots,"item",{key:o.unref(d)(e),element:e,index:n}))),128)),t.$slots.footer?(o.openBlock(),o.createElementBlock("footer",r,[o.renderSlot(t.$slots,"footer")])):o.createCommentVNode("",!0)])),_:3},8,["class"]))}});e.Sortable=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue"),require("sortablejs")):"function"==typeof define&&define.amd?define(["exports","vue","sortablejs"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self)["SortableJS-Vue3"]={},e.Vue,e.Sortable)}(this,(function(e,o,t){"use strict";const n=o.defineComponent({__name:"Sortable",props:{options:{type:Object,default:null,required:!1},list:{type:[Array,Object],default:[],required:!0},itemKey:{type:[String,Function],default:"",required:!0},tag:{type:String,default:"div",required:!1}},emits:["choose","unchoose","start","end","add","update","sort","remove","filter","move","clone","change"],setup(e,{expose:n,emit:r}){const l=e,s=o.useAttrs(),a=o.ref(null),i=o.ref(null),u=o.computed((()=>"string"==typeof l.itemKey?e=>e[l.itemKey]:l.itemKey));return n({containerRef:a,sortable:i}),o.watch(a,(e=>{e&&(i.value=new t(e,{...l.options,onChoose:e=>r("choose",e),onUnchoose:e=>r("unchoose",e),onStart:e=>r("start",e),onEnd:e=>r("end",e),onAdd:e=>r("add",e),onUpdate:e=>r("update",e),onSort:e=>r("sort",e),onRemove:e=>r("remove",e),onFilter:e=>r("filter",e),onMove:(e,o)=>"onMoveCapture"in s?s.onMoveCapture(e,o):r("move",e,o),onClone:e=>r("clone",e),onChange:e=>r("change",e)}))})),o.watch((()=>l.options),(e=>{if(e&&i?.value)for(const o in e)i.value.option(o,e[o])})),o.onUnmounted((()=>{i.value&&(i.value.destroy(),a.value=null,i.value=null)})),(t,n)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(t.$props.tag),{ref_key:"containerRef",ref:a,class:o.normalizeClass(t.$props.class)},{default:o.withCtx((()=>[o.renderSlot(t.$slots,"header"),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.list,((e,n)=>o.renderSlot(t.$slots,"item",{key:o.unref(u)(e),element:e,index:n}))),128)),o.renderSlot(t.$slots,"footer")])),_:3},8,["class"]))}});e.Sortable=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));

@@ -1,195 +0,5 @@

import { PropType } from "vue";
import { PropType, Ref } from "vue";
import Sortable from "sortablejs";
import type { AutoScrollOptions } from "sortablejs/plugins";
declare const _default: {
new (...args: any[]): {
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{
options: Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">;
list: any[];
itemKey: string | ((item: any) => string | number | Symbol);
tag: string;
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */
options: {
type: PropType<Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">>;
default: null;
required: false;
};
/** Your list of items **/
list: {
type: PropType<any[]>;
default: never[];
required: true;
};
/** The name of the key present in each item in the list that corresponds to a unique value. */
itemKey: {
type: PropType<string | ((item: any) => string | number | Symbol)>;
default: string;
required: true;
};
/** The element type to render as. */
tag: {
type: PropType<string>;
default: string;
required: false;
};
}>> & {
onUnchoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onStart?: ((evt: Sortable.SortableEvent) => any) | undefined;
onEnd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onAdd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onUpdate?: ((evt: Sortable.SortableEvent) => any) | undefined;
onSort?: ((evt: Sortable.SortableEvent) => any) | undefined;
onRemove?: ((evt: Sortable.SortableEvent) => any) | undefined;
onFilter?: ((evt: Sortable.SortableEvent) => any) | undefined;
onMove?: ((evt: Sortable.MoveEvent, originalEvent: Event) => any) | undefined;
onClone?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChange?: ((evt: Sortable.SortableEvent) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "options" | "list" | "itemKey" | "tag">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import("vue").Slot | undefined;
}>;
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
$emit: ((event: "filter", evt: Sortable.SortableEvent) => void) & ((event: "sort", evt: Sortable.SortableEvent) => void) & ((event: "choose", evt: Sortable.SortableEvent) => void) & ((event: "unchoose", evt: Sortable.SortableEvent) => void) & ((event: "start", evt: Sortable.SortableEvent) => void) & ((event: "end", evt: Sortable.SortableEvent) => void) & ((event: "add", evt: Sortable.SortableEvent) => void) & ((event: "update", evt: Sortable.SortableEvent) => void) & ((event: "remove", evt: Sortable.SortableEvent) => void) & ((event: "move", evt: Sortable.MoveEvent, originalEvent: Event) => void) & ((event: "clone", evt: Sortable.SortableEvent) => void) & ((event: "change", evt: Sortable.SortableEvent) => void);
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */
options: {
type: PropType<Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">>;
default: null;
required: false;
};
/** Your list of items **/
list: {
type: PropType<any[]>;
default: never[];
required: true;
};
/** The name of the key present in each item in the list that corresponds to a unique value. */
itemKey: {
type: PropType<string | ((item: any) => string | number | Symbol)>;
default: string;
required: true;
};
/** The element type to render as. */
tag: {
type: PropType<string>;
default: string;
required: false;
};
}>> & {
onUnchoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onStart?: ((evt: Sortable.SortableEvent) => any) | undefined;
onEnd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onAdd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onUpdate?: ((evt: Sortable.SortableEvent) => any) | undefined;
onSort?: ((evt: Sortable.SortableEvent) => any) | undefined;
onRemove?: ((evt: Sortable.SortableEvent) => any) | undefined;
onFilter?: ((evt: Sortable.SortableEvent) => any) | undefined;
onMove?: ((evt: Sortable.MoveEvent, originalEvent: Event) => any) | undefined;
onClone?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChange?: ((evt: Sortable.SortableEvent) => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
choose: (evt: Sortable.SortableEvent) => void;
} & {
unchoose: (evt: Sortable.SortableEvent) => void;
} & {
start: (evt: Sortable.SortableEvent) => void;
} & {
end: (evt: Sortable.SortableEvent) => void;
} & {
add: (evt: Sortable.SortableEvent) => void;
} & {
update: (evt: Sortable.SortableEvent) => void;
} & {
sort: (evt: Sortable.SortableEvent) => void;
} & {
remove: (evt: Sortable.SortableEvent) => void;
} & {
filter: (evt: Sortable.SortableEvent) => void;
} & {
move: (evt: Sortable.MoveEvent, originalEvent: Event) => void;
} & {
clone: (evt: Sortable.SortableEvent) => void;
} & {
change: (evt: Sortable.SortableEvent) => void;
}, string, {
options: Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">;
list: any[];
itemKey: string | ((item: any) => string | number | Symbol);
tag: string;
}, {}, string> & {
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
created?: ((() => void) | (() => void)[]) | undefined;
beforeMount?: ((() => void) | (() => void)[]) | undefined;
mounted?: ((() => void) | (() => void)[]) | undefined;
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
updated?: ((() => void) | (() => void)[]) | undefined;
activated?: ((() => void) | (() => void)[]) | undefined;
deactivated?: ((() => void) | (() => void)[]) | undefined;
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
destroyed?: ((() => void) | (() => void)[]) | undefined;
unmounted?: ((() => void) | (() => void)[]) | undefined;
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */
options: {
type: PropType<Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">>;
default: null;
required: false;
};
/** Your list of items **/
list: {
type: PropType<any[]>;
default: never[];
required: true;
};
/** The name of the key present in each item in the list that corresponds to a unique value. */
itemKey: {
type: PropType<string | ((item: any) => string | number | Symbol)>;
default: string;
required: true;
};
/** The element type to render as. */
tag: {
type: PropType<string>;
default: string;
required: false;
};
}>> & {
onUnchoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onStart?: ((evt: Sortable.SortableEvent) => any) | undefined;
onEnd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onAdd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onUpdate?: ((evt: Sortable.SortableEvent) => any) | undefined;
onSort?: ((evt: Sortable.SortableEvent) => any) | undefined;
onRemove?: ((evt: Sortable.SortableEvent) => any) | undefined;
onFilter?: ((evt: Sortable.SortableEvent) => any) | undefined;
onMove?: ((evt: Sortable.MoveEvent, originalEvent: Event) => any) | undefined;
onClone?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChange?: ((evt: Sortable.SortableEvent) => any) | undefined;
} & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */

@@ -219,16 +29,6 @@ options: {

};
}>> & {
onUnchoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onStart?: ((evt: Sortable.SortableEvent) => any) | undefined;
onEnd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onAdd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onUpdate?: ((evt: Sortable.SortableEvent) => any) | undefined;
onSort?: ((evt: Sortable.SortableEvent) => any) | undefined;
onRemove?: ((evt: Sortable.SortableEvent) => any) | undefined;
onFilter?: ((evt: Sortable.SortableEvent) => any) | undefined;
onMove?: ((evt: Sortable.MoveEvent, originalEvent: Event) => any) | undefined;
onClone?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChange?: ((evt: Sortable.SortableEvent) => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
}, {
containerRef: Ref<HTMLElement | null>;
sortable: Ref<Sortable | null>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
choose: (evt: Sortable.SortableEvent) => void;

@@ -257,3 +57,41 @@ } & {

change: (evt: Sortable.SortableEvent) => void;
}, string, {
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
/** All SortableJS options are supported; events are handled by the `defineEmits` below and should be used with v-on */
options: {
type: PropType<Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">>;
default: null;
required: false;
};
/** Your list of items **/
list: {
type: PropType<any[]>;
default: never[];
required: true;
};
/** The name of the key present in each item in the list that corresponds to a unique value. */
itemKey: {
type: PropType<string | ((item: any) => string | number | Symbol)>;
default: string;
required: true;
};
/** The element type to render as. */
tag: {
type: PropType<string>;
default: string;
required: false;
};
}>> & {
onUnchoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChoose?: ((evt: Sortable.SortableEvent) => any) | undefined;
onStart?: ((evt: Sortable.SortableEvent) => any) | undefined;
onEnd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onAdd?: ((evt: Sortable.SortableEvent) => any) | undefined;
onUpdate?: ((evt: Sortable.SortableEvent) => any) | undefined;
onSort?: ((evt: Sortable.SortableEvent) => any) | undefined;
onRemove?: ((evt: Sortable.SortableEvent) => any) | undefined;
onFilter?: ((evt: Sortable.SortableEvent) => any) | undefined;
onMove?: ((evt: Sortable.MoveEvent, originalEvent: Event) => any) | undefined;
onClone?: ((evt: Sortable.SortableEvent) => any) | undefined;
onChange?: ((evt: Sortable.SortableEvent) => any) | undefined;
}, {
options: Omit<Sortable.SortableOptions | AutoScrollOptions, "onUnchoose" | "onChoose" | "onStart" | "onEnd" | "onAdd" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onClone" | "onChange">;

@@ -263,13 +101,16 @@ list: any[];

tag: string;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
$slots: {
header: (_: {}) => any;
item: (_: {
key: any;
element: any;
index: number;
}) => any;
footer: (_: {}) => any;
}>, {
header: (_: {}) => any;
item: (_: {
key: any;
element: any;
index: number;
}) => any;
footer: (_: {}) => any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
});
export default _default;
};
{
"name": "sortablejs-vue3",
"version": "1.2.5",
"version": "1.2.6",
"author": {

@@ -46,11 +46,11 @@ "email": "maxwell.leiter@gmail.com",

"devDependencies": {
"@types/node": "18.11.9",
"@types/node": "18.11.18",
"@types/sortablejs": "1.15.0",
"@vitejs/plugin-vue": "4.0.0",
"prettier": "2.8.0",
"terser": "5.16.0",
"typescript": "4.9.3",
"vite": "4.0.3",
"vue-tsc": "1.0.9"
"prettier": "2.8.1",
"terser": "5.16.1",
"typescript": "4.9.4",
"vite": "4.0.4",
"vue-tsc": "1.0.21"
}
}

@@ -50,3 +50,5 @@ # SortableJS-vue3

<template #header>
<h1>SortableJS Vue3 Demo</h1>
<header>
<h1>SortableJS Vue3 Demo</h1>
</header>
</template>

@@ -59,3 +61,3 @@ <template #item="{element, index}">

<template #footer>
<div class="draggable">A footer</div>
<footer class="draggable">A footer</footer>
</template>

@@ -62,0 +64,0 @@ </Sortable>

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc