From 5b8f80615becbfcd50d629d3ad77078e3c564955 Mon Sep 17 00:00:00 2001 From: kousum Date: Thu, 26 Sep 2024 15:46:52 +0800 Subject: [PATCH] feat: @dnd-kit/experimental-vue --- packages/semi-ui-vue/package.json | 10 +- packages/semi-ui-vue/src/App.tsx | 4 +- .../configProvider/context/Consumer.tsx | 2 +- .../configProvider/context/Provider.tsx | 2 +- .../components/locale/context/Consumer.tsx | 2 +- .../components/locale/context/Provider.tsx | 2 +- .../src/components/locale/localeConsumer.tsx | 4 +- .../components/table/__test__/TableDemo11.tsx | 144 ++---- .../table/__test__/demo11/SortableDemo1.tsx | 112 ----- .../table/__test__/demo11/SortableItem.tsx | 62 +-- .../src/components/tagInput/SortableItem.tsx | 32 +- .../src/components/tagInput/SortableList.tsx | 96 ++-- .../tagInput/__test__/TagInputDemo.tsx | 16 +- .../src/components/tagInput/index.tsx | 35 +- .../src/components/transfer/SortableItem.tsx | 33 +- .../src/components/transfer/SortableList.tsx | 133 +++--- .../transfer/__test__/TransferDemo.tsx | 11 +- .../src/components/transfer/index.tsx | 13 +- packages/semi-ui-vue/tsconfig.json | 1 + pnpm-lock.yaml | 416 +++++++++--------- 20 files changed, 458 insertions(+), 672 deletions(-) delete mode 100644 packages/semi-ui-vue/src/components/table/__test__/demo11/SortableDemo1.tsx diff --git a/packages/semi-ui-vue/package.json b/packages/semi-ui-vue/package.json index 99d08260..e1b4b1ac 100644 --- a/packages/semi-ui-vue/package.json +++ b/packages/semi-ui-vue/package.json @@ -31,11 +31,11 @@ "@kousum/semi-icons-vue": "workspace:*", "@kousum/semi-illustrations-vue": "workspace:*", "@kousum/vue3-window": "0.0.6", - "@dnd-kit-vue/core": "0.1.2", - "@dnd-kit-vue/modifiers": "0.1.2", - "@dnd-kit-vue/sortable": "0.1.2", - "@dnd-kit-vue/utilities": "0.1.2", - "@dnd-kit-vue/accessibility": "0.1.2", + "@dnd-kit/abstract": "^0.0.6-beta-20240923164446", + "@dnd-kit/collision": "^0.0.6-beta-20240923164446", + "@dnd-kit/dom": "^0.0.6-beta-20240923164446", + "@dnd-kit/helpers": "^0.0.6-beta-20240923164446", + "@kousum/dnd-kit-vue": "0.0.6-beta-20240923164446", "@kousum/vue-resizable": "1.0.2", "@kousum/vue-draggable": "1.0.2", "async-validator": "^4.0.7", diff --git a/packages/semi-ui-vue/src/App.tsx b/packages/semi-ui-vue/src/App.tsx index 0011b397..1681d7a1 100755 --- a/packages/semi-ui-vue/src/App.tsx +++ b/packages/semi-ui-vue/src/App.tsx @@ -229,7 +229,7 @@ const App = defineComponent((props, {slots}) => { {/**/} {/**/} {/**/} - {/**/} + {/**/} {/**/} {/**/} @@ -271,7 +271,7 @@ const App = defineComponent((props, {slots}) => { {/**/} {/**/} {/**/} - + {/**/} {/**/} {/**/} {/**/} diff --git a/packages/semi-ui-vue/src/components/configProvider/context/Consumer.tsx b/packages/semi-ui-vue/src/components/configProvider/context/Consumer.tsx index 3b50075f..2c808ae8 100644 --- a/packages/semi-ui-vue/src/components/configProvider/context/Consumer.tsx +++ b/packages/semi-ui-vue/src/components/configProvider/context/Consumer.tsx @@ -2,7 +2,7 @@ import { defineComponent, h, inject, Ref, ref, UnwrapRef, useSlots } from 'vue'; import { ContextValue } from '../context'; export function useConfigContext(): { context: Ref> } { - const context = inject('ConfigContext', ref({})); + const context = inject('semi_ConfigContext', ref({})); return { context, }; diff --git a/packages/semi-ui-vue/src/components/configProvider/context/Provider.tsx b/packages/semi-ui-vue/src/components/configProvider/context/Provider.tsx index 88c4f0b9..63ad69eb 100644 --- a/packages/semi-ui-vue/src/components/configProvider/context/Provider.tsx +++ b/packages/semi-ui-vue/src/components/configProvider/context/Provider.tsx @@ -17,7 +17,7 @@ const Provider = defineComponent({ }, { deep: true } ); - provide('ConfigContext', ConfigContext); + provide('semi_ConfigContext', ConfigContext); return () => (slots.default ? slots.default(ConfigContext.value) : null); }, }); diff --git a/packages/semi-ui-vue/src/components/locale/context/Consumer.tsx b/packages/semi-ui-vue/src/components/locale/context/Consumer.tsx index 25a7cb27..1e451225 100644 --- a/packages/semi-ui-vue/src/components/locale/context/Consumer.tsx +++ b/packages/semi-ui-vue/src/components/locale/context/Consumer.tsx @@ -5,7 +5,7 @@ export const vuePropsType = { } const Consumer = defineComponent(() => { const slots = useSlots() - const config = inject('LocalContext', ref(null)) + const config = inject('semi_LocalContext', ref(null)) return ()=>slots.default?slots.default(config):null }, { props: { ...vuePropsType }, diff --git a/packages/semi-ui-vue/src/components/locale/context/Provider.tsx b/packages/semi-ui-vue/src/components/locale/context/Provider.tsx index 963318b0..7080666c 100644 --- a/packages/semi-ui-vue/src/components/locale/context/Provider.tsx +++ b/packages/semi-ui-vue/src/components/locale/context/Provider.tsx @@ -11,7 +11,7 @@ const Provider = defineComponent((props, {slots}) => { watch(()=>props.value, ()=>{ ConfigContext.value = props.value }) - provide('LocalContext', ConfigContext) + provide('semi_LocalContext', ConfigContext) return ()=>slots.default?slots.default(ConfigContext.value):null }, { props: { ...vuePropsType }, diff --git a/packages/semi-ui-vue/src/components/locale/localeConsumer.tsx b/packages/semi-ui-vue/src/components/locale/localeConsumer.tsx index cda0b514..cea50371 100644 --- a/packages/semi-ui-vue/src/components/locale/localeConsumer.tsx +++ b/packages/semi-ui-vue/src/components/locale/localeConsumer.tsx @@ -57,7 +57,9 @@ function LocaleConsumerFunc() { return ( {{ - default: (localeData) => renderChildren(locale.value.locale || localeData.value, slots.default), + default: (localeData) => { + return renderChildren(locale.value?.locale || localeData.value, slots.default) + }, }} ); diff --git a/packages/semi-ui-vue/src/components/table/__test__/TableDemo11.tsx b/packages/semi-ui-vue/src/components/table/__test__/TableDemo11.tsx index 18b64f16..c1b6103a 100644 --- a/packages/semi-ui-vue/src/components/table/__test__/TableDemo11.tsx +++ b/packages/semi-ui-vue/src/components/table/__test__/TableDemo11.tsx @@ -1,27 +1,12 @@ -import { computed, defineComponent, h, ref, Teleport, VNode, watch } from 'vue'; -import {TableMaker, TableComponents } from '../index'; +import { computed, defineComponent, nextTick, ref, watch } from 'vue'; +import { TableMaker } from '../index'; import Avatar from '../../avatar'; -import { - closestCenter, - defaultDropAnimationSideEffects, - DndContext, - DragEndEvent, - DragOverlay, - DropAnimation, - KeyboardSensor, - PointerSensor, - useSensor, - useSensors, -} from '@dnd-kit-vue/core'; -import { - arrayMove, - SortableContext, - sortableKeyboardCoordinates, - verticalListSortingStrategy, -} from '@dnd-kit-vue/sortable'; import * as dateFns from 'date-fns'; import SortableItem from './demo11/SortableItem'; import { isNull } from 'lodash'; +import { DragDropProvider, Events } from '@kousum/dnd-kit-vue'; +import { RestrictToVerticalAxis } from '@dnd-kit/abstract/modifiers'; +import { move } from '@dnd-kit/helpers'; interface TableDemo1Props { name?: string; @@ -109,30 +94,17 @@ export const vuePropsType = { }; const Table = TableMaker(); const TableDemo1 = defineComponent((props, {}) => { - const sensors = useSensors( - useSensor(PointerSensor, { - // activationConstraint: { - // // distance: 5, - // // delay: 100, - // // tolerance: 100 - // } - }), - useSensor(KeyboardSensor, { - coordinateGetter: sortableKeyboardCoordinates, - }) - ); - function handleDragEnd(event: DragEndEvent) { - console.log(event) - const { active, over } = event; + let newPageData = [] + let newData = [] + function handleDragEnd(event: Parameters[0]) { + + const { active, over } = {active: event.operation.source, over: event.operation.target}; if (active && over && active.id !== over?.id) { - const oldIndex = pageData.value.findIndex(item => item.id === active.id); - const newIndex = pageData.value.findIndex(item => item.id === over.id); - pageData.value = arrayMove(pageData.value, oldIndex, newIndex); - const newData = Array.from(data.value); + newPageData = move(Array.from(pageData.value), event); + newData = Array.from(data.value); newData.splice((currentPage.value - 1) * PAGE_SIZE, PAGE_SIZE, ...pageData.value); - data.value = newData; } } @@ -140,8 +112,9 @@ const TableDemo1 = defineComponent((props, {}) => { const dragOverlayRef = ref(); const tableDragOverlayRef = ref(); - function onDragStart(event: DragEndEvent) { - const { active, over } = event; + function onDragStart(event: Parameters[0]) { + const { active, over } = {active: event.operation.source, over: event.operation.target}; + console.log(active); dragIngIndex.value = +active.id; } @@ -187,15 +160,7 @@ const TableDemo1 = defineComponent((props, {}) => { pageData.value = data.value.slice((pageNum - 1) * PAGE_SIZE, pageNum * PAGE_SIZE); }; - const dropAnimationConfig: DropAnimation = { - sideEffects: defaultDropAnimationSideEffects({ - styles: { - active: { - opacity: '0.5', - }, - }, - }), - }; + const SortableData = computed(() => { return data.value.slice((currentPage.value - 1) * PAGE_SIZE, currentPage.value * PAGE_SIZE); @@ -205,52 +170,39 @@ const TableDemo1 = defineComponent((props, {}) => { return (
- { + + }} + onDragOver={(event)=>{ + // props.onSortOver(event) + handleDragEnd(event) + }} + onDragEnd={(event)=>{ + // props.onSortOver(event) + pageData.value = Array.from(newPageData) + data.value = Array.from(newData); + }} > - - ({ - index, - moveRow, - id: record.id, - })} - /> - - - - {}} id={''} componentsTag={'div'}> -
- -
- - - -
+ ({ + index, + moveRow, + id: record.id, + })} + /> + ); }; diff --git a/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableDemo1.tsx b/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableDemo1.tsx deleted file mode 100644 index ce421c7f..00000000 --- a/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableDemo1.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import { - DndContext, - closestCenter, - KeyboardSensor, - PointerSensor, - useSensor, - useSensors, DragEndEvent, DragOverlay, defaultDropAnimationSideEffects, DropAnimation, -} from '@dnd-kit-vue/core'; -import { - arrayMove, - SortableContext, - sortableKeyboardCoordinates, - verticalListSortingStrategy, -} from '@dnd-kit-vue/sortable'; - -import SortableItem from './SortableItem'; - - -import {defineComponent, ref, h, Fragment, useSlots, provide, Teleport} from 'vue' - -interface Demo1Props { - name?: string -} - -export const vuePropsType = { - name: String -} -const SortableDemo1 = defineComponent((props, {}) => { - - const slots = useSlots() - - const items = ref([]); - for (let i = 0; i < 10; i++) { - items.value.push(i+1) - } - - function setItems(val: number[]) { - items.value = val - } - - const sensors = useSensors( - useSensor(PointerSensor, { - activationConstraint: { - // distance: 5, - delay: 100, - tolerance: 100 - } - }), - useSensor(KeyboardSensor, { - coordinateGetter: sortableKeyboardCoordinates, - }) - ); - - - function handleDragEnd(event: DragEndEvent) { - // console.log(event) - const {active, over} = event; - - if (active && over && active.id !== over?.id) { - const oldIndex = items.value.indexOf(active.id); - const newIndex = items.value.indexOf(over.id); - setItems(arrayMove(items.value, oldIndex, newIndex)); - } - } - - - const dropAnimationConfig: DropAnimation = { - sideEffects: defaultDropAnimationSideEffects({ - styles: { - active: { - opacity: '0.5', - }, - }, - }), - }; - - return () => { - return ( -
- - - {items.value.map(id => { - return - })} - - - - - - - -
- ); - - } -}) - -SortableDemo1.props = vuePropsType -SortableDemo1.name = 'SortableDemo1' - - -export default SortableDemo1 diff --git a/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableItem.tsx b/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableItem.tsx index 350078ce..e6c2f0be 100644 --- a/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableItem.tsx +++ b/packages/semi-ui-vue/src/components/table/__test__/demo11/SortableItem.tsx @@ -1,28 +1,14 @@ -import {useSortable} from '@dnd-kit-vue/sortable'; -import {CSS} from '@dnd-kit-vue/utilities'; - - -import { - defineComponent, - ref, - h, - Fragment, - useSlots, - VNodeRef, - CSSProperties, - getCurrentInstance, - inject, - computed, watch, -} from 'vue'; -import type {Arguments} from "@dnd-kit-vue/sortable"; -import {omit} from "lodash"; +import { useSortable } from '@kousum/dnd-kit-vue/sortable'; + +import { defineComponent, h, ref, useSlots } from 'vue'; +import { pointerIntersection } from '@dnd-kit/collision'; interface SortableItemProps { - id: number | string, - moveRow: any, - index?: number, - style:any, - componentsTag?: string + id: number | string; + moveRow: any; + index?: number; + style: any; + componentsTag?: string; } export const vuePropsType = { @@ -42,25 +28,22 @@ const SortableItem = defineComponent((props, {attrs}) => { const slots = useSlots() - const params: Arguments = {id: computed(() => props.id) as any} - const { - attributes, - listeners, - setNodeRef, - transform, - transition, - } = useSortable(params); + const element = ref(null); + const handleRef = ref(null); + const {isDragSource} = useSortable({ + id: props.id, + index: props.index, + element, + handle: handleRef, + collisionDetector: pointerIntersection + }); const style0 = {...(props.style as Object || {}), cursor: 'move'}; let index = 0 return () => { - const style: CSSProperties = { - ...style0, - transform: CSS.Transform.toString(transform.value), - transition: transition.value, - }; + const {currentPage, onMouseEnter, onMouseLeave, ...restProps} = attrs; // moveRow.moveRow(dragIndex, hoverIndex) if (index === 0) { @@ -68,14 +51,11 @@ const SortableItem = defineComponent((props, {attrs}) => { index++ } - console.log(style, listeners?.value); return h(props.componentsTag as any, { id: 'asd_' + props.id, - ref: setNodeRef as any, - ...attributes.value, - ...listeners?.value, + ref: element as any, + shadow: isDragSource?.value, ...restProps, - style }, slots.default?.()) } diff --git a/packages/semi-ui-vue/src/components/tagInput/SortableItem.tsx b/packages/semi-ui-vue/src/components/tagInput/SortableItem.tsx index 0028a44a..8ec4a0a4 100644 --- a/packages/semi-ui-vue/src/components/tagInput/SortableItem.tsx +++ b/packages/semi-ui-vue/src/components/tagInput/SortableItem.tsx @@ -1,13 +1,12 @@ -import type { Arguments } from '@dnd-kit-vue/sortable'; -import { useSortable } from '@dnd-kit-vue/sortable'; -import { CSS } from '@dnd-kit-vue/utilities'; - -import { type ComponentObjectPropsOptions, computed, CSSProperties, defineComponent, h, useSlots } from 'vue'; +import { defineComponent, ref } from 'vue'; import { CombineProps } from '../interface'; +import { useSortable } from '@kousum/dnd-kit-vue/sortable'; +import { pointerIntersection } from '@dnd-kit/collision'; interface SortableItemProps { id: number | string; item: any; + index: number; } export const vuePropsType: CombineProps = { @@ -19,23 +18,28 @@ export const vuePropsType: CombineProps = { type: Function, required: true }, + index: { + type: Number, + required: true + }, }; const SortableItem = defineComponent({ props: { ...vuePropsType }, name: 'SortableItem', setup(props, {}) { - const params: Arguments = { id: computed(() => props.id) as any }; - - const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable(params); + const element = ref(null); + const handleRef = ref(null); + const {isDragSource} = useSortable({ + id: props.id, + index: props.index, + element, + handle: handleRef, + collisionDetector: pointerIntersection + }); return () => { - const style = { - transform: CSS.Transform.toString(transform.value), - // @ts-ignore - transition: transition.value, - }; - return props.item({ setNodeRef, style, attributes: attributes?.value, listeners: listeners?.value }); + return props.item({ element, handleRef: (v)=>{handleRef.value = v?.$el}, attributes: {shadow: isDragSource?.value,}}); }; }, }); diff --git a/packages/semi-ui-vue/src/components/tagInput/SortableList.tsx b/packages/semi-ui-vue/src/components/tagInput/SortableList.tsx index 1574e741..b18586f3 100644 --- a/packages/semi-ui-vue/src/components/tagInput/SortableList.tsx +++ b/packages/semi-ui-vue/src/components/tagInput/SortableList.tsx @@ -1,23 +1,11 @@ -import { - DndContext, - closestCenter, - KeyboardSensor, - PointerSensor, - useSensor, - useSensors, - DragEndEvent, - DropAnimation, - defaultDropAnimationSideEffects, - DragOverlay, -} from '@dnd-kit-vue/core'; -import { horizontalListSortingStrategy, SortableContext, sortableKeyboardCoordinates } from '@dnd-kit-vue/sortable'; -import { defineComponent, ref, h, Fragment, useSlots, Teleport, ComponentObjectPropsOptions } from 'vue'; +import { defineComponent, h, ref, useSlots } from 'vue'; import SortableItem from './SortableItem'; import { CombineProps } from '../interface'; +import { DragDropProvider } from '@kousum/dnd-kit-vue'; interface SortableListProps { items: any; - onSortEnd: any; + onSortOver: any; useDragHandle: any; helperClass: any; axis: any; @@ -25,7 +13,7 @@ interface SortableListProps { export const vuePropsType: CombineProps> = { items: Array, - onSortEnd: Function, + onSortOver: Function, useDragHandle: [Boolean], helperClass: String, axis: String, @@ -36,51 +24,47 @@ const SortableList = defineComponent({ setup(props, {}) { const slots = useSlots(); - const sensors = useSensors( - useSensor(PointerSensor, { - activationConstraint: { - // distance: 5, - delay: 100, - tolerance: 100, - }, - }), - useSensor(KeyboardSensor, { - coordinateGetter: sortableKeyboardCoordinates, - }) - ); - const dropAnimationConfig: DropAnimation = { - sideEffects: defaultDropAnimationSideEffects({ - styles: { - active: { - opacity: '0.5', - }, - }, - }), - }; + // const sensors = useSensors( + // useSensor(PointerSensor, { + // activationConstraint: { + // // distance: 5, + // delay: 100, + // tolerance: 100, + // }, + // }), + // useSensor(KeyboardSensor, { + // coordinateGetter: sortableKeyboardCoordinates, + // }) + // ); + // const dropAnimationConfig: DropAnimation = { + // sideEffects: defaultDropAnimationSideEffects({ + // styles: { + // active: { + // opacity: '0.5', + // }, + // }, + // }), + // }; const overlayId = ref(''); - function onDragStart(event: DragEndEvent) { - overlayId.value = '' + event.active?.id; - } + return () => { return ( - { + overlayId.value = '' + event.operation.source?.id; + }} + onDragOver={(event)=>{ + props.onSortOver(event) + }} + onDragEnd={(event)=>{ + // props.onSortOver(event) + }} > - - {props.items.map((item) => ( - - ))} - - - - {props.items.filter((item) => item.id === overlayId.value).map((item) => item.item({}))} - - - + {props.items.map((item, index) => ( + + ))} + ); }; }, diff --git a/packages/semi-ui-vue/src/components/tagInput/__test__/TagInputDemo.tsx b/packages/semi-ui-vue/src/components/tagInput/__test__/TagInputDemo.tsx index 9a233653..0f35c1ef 100644 --- a/packages/semi-ui-vue/src/components/tagInput/__test__/TagInputDemo.tsx +++ b/packages/semi-ui-vue/src/components/tagInput/__test__/TagInputDemo.tsx @@ -13,14 +13,14 @@ const TagInputDemo = defineComponent((props, {}) => { const value = ref(['抖音','火山','西瓜视频']) return () => (
- { - console.log(v) - value.value = v - }} - /> + {/* {*/} + {/* console.log(v)*/} + {/* value.value = v*/} + {/* }}*/} + {/*/>*/} ; export type RestTagsPopoverProps = PopoverProps; type ValidateStatus = 'default' | 'error' | 'warning'; export type SortableItemFuncArg = { - setNodeRef?: VNodeRef; - style?: CSSProperties; - attributes?: DraggableAttributes; - listeners?: any; + element?: VNodeRef; + handleRef?: VNodeRef; + attributes?: any; }; export interface TagInputProps { @@ -444,11 +443,10 @@ const Index = defineComponent({
- + {renderTagItem(value, index, onClose)}
) : ( @@ -460,10 +458,8 @@ const Index = defineComponent({ return (
{/* Wrap a layer of div outside IconHandler and Value to ensure that the two are aligned */} {showIconHandler && ( - + )} {value} @@ -491,18 +487,15 @@ const Index = defineComponent({ }); }; - const onSortEnd = (event: DragEndEvent) => { + const onSortOver = (event: Parameters[0]) => { const tagsArray = state.tagsArray; - const { active, over } = event; + const { active, over } = {active: event.operation.source, over: event.operation.target}; if (!active || !over) { return; } - if (active.id !== over.id) { - const oldIndex = tagsArray.indexOf('' + active.id); - const newIndex = tagsArray.indexOf('' + over.id); - adapter().setTagsArray(arrayMove(tagsArray, oldIndex, newIndex)); - } + + adapter().setTagsArray(move(Array.from(tagsArray), event)); }; function renderTags() { const { @@ -542,7 +535,7 @@ const Index = defineComponent({ useDragHandle items={sortableListItems} helperClass={`${prefixCls}-drag-item-move`} - onSortEnd={onSortEnd} + onSortOver={onSortOver} axis={'xy'} > {sortableListItems} diff --git a/packages/semi-ui-vue/src/components/transfer/SortableItem.tsx b/packages/semi-ui-vue/src/components/transfer/SortableItem.tsx index be78e31f..8ec4a0a4 100644 --- a/packages/semi-ui-vue/src/components/transfer/SortableItem.tsx +++ b/packages/semi-ui-vue/src/components/transfer/SortableItem.tsx @@ -1,13 +1,12 @@ -import type { Arguments } from '@dnd-kit-vue/sortable'; -import { useSortable } from '@dnd-kit-vue/sortable'; -import { CSS } from '@dnd-kit-vue/utilities'; - -import { ComponentObjectPropsOptions, computed, CSSProperties, defineComponent, h, useSlots } from 'vue'; +import { defineComponent, ref } from 'vue'; import { CombineProps } from '../interface'; +import { useSortable } from '@kousum/dnd-kit-vue/sortable'; +import { pointerIntersection } from '@dnd-kit/collision'; interface SortableItemProps { id: number | string; item: any; + index: number; } export const vuePropsType: CombineProps = { @@ -19,24 +18,28 @@ export const vuePropsType: CombineProps = { type: Function, required: true }, + index: { + type: Number, + required: true + }, }; const SortableItem = defineComponent({ props: { ...vuePropsType }, name: 'SortableItem', setup(props, {}) { - const slots = useSlots(); - - const params: Arguments = { id: computed(() => props.id) as any }; - const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable(params); + const element = ref(null); + const handleRef = ref(null); + const {isDragSource} = useSortable({ + id: props.id, + index: props.index, + element, + handle: handleRef, + collisionDetector: pointerIntersection + }); return () => { - const style = { - transform: CSS.Transform.toString(transform.value), - // @ts-ignore - transition: transition.value, - }; - return props.item({ setNodeRef, style, attributes: attributes?.value, listeners: listeners?.value }); + return props.item({ element, handleRef: (v)=>{handleRef.value = v?.$el}, attributes: {shadow: isDragSource?.value,}}); }; }, }); diff --git a/packages/semi-ui-vue/src/components/transfer/SortableList.tsx b/packages/semi-ui-vue/src/components/transfer/SortableList.tsx index 3ac539b3..ffe7198d 100644 --- a/packages/semi-ui-vue/src/components/transfer/SortableList.tsx +++ b/packages/semi-ui-vue/src/components/transfer/SortableList.tsx @@ -1,45 +1,23 @@ -import { - DndContext, - closestCenter, - KeyboardSensor, - PointerSensor, - useSensor, - useSensors, - DragEndEvent, - DropAnimation, - defaultDropAnimationSideEffects, -} from '@dnd-kit-vue/core'; -import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit-vue/sortable'; -import { defineComponent, ref, h, Fragment, useSlots, Teleport, ComponentObjectPropsOptions } from 'vue'; +import { defineComponent, h, ref, useSlots } from 'vue'; import SortableItem from './SortableItem'; -import { prefixCls } from '../transfer'; import { CombineProps } from '../interface'; +import { DragDropProvider } from '@kousum/dnd-kit-vue'; +import { prefixCls } from './index'; +import {RestrictToVerticalAxis} from '@dnd-kit/abstract/modifiers'; interface SortableListProps { items: any; - onSortEnd: any; + onSortOver: any; useDragHandle: any; helperClass: any; - axis?: any; + axis: any; } -export const vuePropsType: CombineProps = { - items: { - type: Array, - required: true - }, - onSortEnd: { - type: Function, - required: true - }, - useDragHandle: { - type: [Boolean], - required: true - }, - helperClass: { - type: String, - required: true - }, +export const vuePropsType: CombineProps> = { + items: Array, + onSortOver: Function, + useDragHandle: [Boolean], + helperClass: String, axis: String, }; const SortableList = defineComponent({ @@ -48,61 +26,50 @@ const SortableList = defineComponent({ setup(props, {}) { const slots = useSlots(); - const sensors = useSensors( - useSensor(PointerSensor, { - activationConstraint: { - // distance: 5, - delay: 100, - tolerance: 100, - }, - }), - useSensor(KeyboardSensor, { - coordinateGetter: sortableKeyboardCoordinates, - }) - ); - const dropAnimationConfig: DropAnimation = { - sideEffects: defaultDropAnimationSideEffects({ - styles: { - active: { - opacity: '0.5', - }, - }, - }), - }; + // const sensors = useSensors( + // useSensor(PointerSensor, { + // activationConstraint: { + // // distance: 5, + // delay: 100, + // tolerance: 100, + // }, + // }), + // useSensor(KeyboardSensor, { + // coordinateGetter: sortableKeyboardCoordinates, + // }) + // ); + // const dropAnimationConfig: DropAnimation = { + // sideEffects: defaultDropAnimationSideEffects({ + // styles: { + // active: { + // opacity: '0.5', + // }, + // }, + // }), + // }; const overlayId = ref(''); - function onDragStart(event: DragEndEvent) { - overlayId.value = event.active?.id as any; - } + return () => { return ( - { + overlayId.value = '' + event.operation.source?.id; + }} + onDragOver={(event) => { + props.onSortOver(event) + }} + onDragEnd={(event) => { + // props.onSortOver(event) + }} > - -
- {props.items.map((item, index: number) => ( - // @ts-ignore skip SortableItem type check - - ))} -
-
- {/*可以不用这个*/} - {/**/} - {/* */} - {/* {props.items.filter(item=>{*/} - {/* return item.id === overlayId.value*/} - {/* }).map(item=>item.node({}))}*/} - {/* */} - - {/**/} -
+
+ {props.items.map((item: any, index: number) => ( + + ))} +
+ ); }; }, diff --git a/packages/semi-ui-vue/src/components/transfer/__test__/TransferDemo.tsx b/packages/semi-ui-vue/src/components/transfer/__test__/TransferDemo.tsx index ff646493..e20b523b 100644 --- a/packages/semi-ui-vue/src/components/transfer/__test__/TransferDemo.tsx +++ b/packages/semi-ui-vue/src/components/transfer/__test__/TransferDemo.tsx @@ -109,9 +109,9 @@ const TransferDemo = defineComponent((props, {}) => { const testValue = ref([6]) onMounted(()=>{ - setTimeout(()=>{ - testValue.value = [] - }, 1000) + // setTimeout(()=>{ + // testValue.value = [] + // }, 1000) }) return () => ( @@ -128,7 +128,10 @@ const TransferDemo = defineComponent((props, {}) => { draggable style={{ width: '568px' }} dataSource={dataWithGroup} - onChange={(values, items) => console.log(values, items)} + onChange={(values, items) => { + console.log(values, items) + testValue.value = values + }} />
diff --git a/packages/semi-ui-vue/src/components/transfer/index.tsx b/packages/semi-ui-vue/src/components/transfer/index.tsx index fe8d53ea..d01b3eaa 100644 --- a/packages/semi-ui-vue/src/components/transfer/index.tsx +++ b/packages/semi-ui-vue/src/components/transfer/index.tsx @@ -37,7 +37,7 @@ import { import { CombineProps, VueJsxNode } from '../interface'; import SortableList from './SortableList'; import type { SortableItemFuncArg } from '../tagInput'; -import { DragEndEvent } from '@dnd-kit-vue/core'; +import type { Events } from '@kousum/dnd-kit-vue'; export interface DataItem extends BasicDataItem { label?: VueJsxNode; @@ -352,9 +352,9 @@ const Transfer = defineComponent({ foundation.handleSelectOrRemove(item); } - function onSortEnd(event?: DragEndEvent, callbackProps?: OnSortEndProps) { + function onSortEnd(event?: Parameters[0], callbackProps?: OnSortEndProps) { if (event) { - const { active, over } = event; + const { active, over } = {active: event.operation.source, over: event.operation.target}; const selectedItems = adapter.getSelected(); let selectedArr = [...selectedItems.values()].map((item) => item.key); @@ -641,15 +641,14 @@ const Transfer = defineComponent({ // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
{draggable ? ( ); diff --git a/packages/semi-ui-vue/tsconfig.json b/packages/semi-ui-vue/tsconfig.json index cf02d760..a25253a5 100755 --- a/packages/semi-ui-vue/tsconfig.json +++ b/packages/semi-ui-vue/tsconfig.json @@ -16,6 +16,7 @@ "jsxFactory": "h", "jsxFragmentFactory": "Fragment", "suppressImplicitAnyIndexErrors": true, + "skipLibCheck": true, "ignoreDeprecations":"5.0", "strictNullChecks": false, "sourceMap": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cba23100..b6e19f70 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: 4.17.21 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/core': specifier: ^7.18.2 @@ -79,10 +79,10 @@ importers: version: 8.1.7(vitest@2.0.5(@types/node@20.12.12)(jsdom@24.0.0)(sass@1.77.1)(terser@5.31.0)) '@storybook/vue3': specifier: ^8.1.7 - version: 8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.2)) + version: 8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.4)) '@storybook/vue3-vite': specifier: ^8.1.7 - version: 8.1.7(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 8.1.7(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@svgr/babel-plugin-add-jsx-attribute': specifier: 5.4.0 version: 5.4.0 @@ -127,7 +127,7 @@ importers: version: 5.5.0 '@testing-library/vue': specifier: ^8.1.0 - version: 8.1.0(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.2)) + version: 8.1.0(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.4)) '@types/lodash': specifier: ^4.17.5 version: 4.17.5 @@ -136,10 +136,10 @@ importers: version: 20.12.12 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitest/coverage-v8': specifier: ^2.0.5 version: 2.0.5(vitest@2.0.5(@types/node@20.12.12)(jsdom@24.0.0)(sass@1.77.1)(terser@5.31.0)) @@ -160,7 +160,7 @@ importers: version: 24.0.0 postcss-loader: specifier: ^7.0.0 - version: 7.3.4(postcss@8.4.38)(typescript@5.5.2)(webpack@5.91.0(esbuild@0.20.2)) + version: 7.3.4(postcss@8.4.38)(typescript@5.5.4)(webpack@5.91.0(esbuild@0.20.2)) prettier: specifier: ^2.8.3 version: 2.8.8 @@ -181,19 +181,19 @@ importers: version: 2.7.0 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) tslib: specifier: ^2.4.1 version: 2.6.2 typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vitepress: specifier: ^1.3.4 - version: 1.3.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(@types/react@18.3.2)(async-validator@4.2.5)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.1)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.5.2) + version: 1.3.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(@types/react@18.3.2)(async-validator@4.2.5)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.1)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.5.4) vitest: specifier: ^2.0.5 version: 2.0.5(@types/node@20.12.12)(jsdom@24.0.0)(sass@1.77.1)(terser@5.31.0) @@ -205,10 +205,10 @@ importers: version: 2.1.3 vue-loader: specifier: ^16.8.3 - version: 16.8.3(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.2))(webpack@5.91.0(esbuild@0.20.2)) + version: 16.8.3(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.4))(webpack@5.91.0(esbuild@0.20.2)) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/semi-animation-vue: dependencies: @@ -232,7 +232,7 @@ importers: version: 1.77.1 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/core': specifier: ^7.16.5 @@ -254,10 +254,10 @@ importers: version: 20.12.12 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) del: specifier: ^6.0.0 version: 6.1.1 @@ -278,7 +278,7 @@ importers: version: 5.1.0 gulp-typescript: specifier: ^6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.5.2) + version: 6.0.0-alpha.1(typescript@5.5.4) identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -293,16 +293,16 @@ importers: version: 4.0.2 ts-node: specifier: ^10.5.0 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/semi-icons-lab-vue: dependencies: @@ -320,7 +320,7 @@ importers: version: 1.77.1 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/plugin-proposal-decorators': specifier: ^7.17.2 @@ -336,10 +336,10 @@ importers: version: 7.24.1(@babel/core@7.24.7) '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) camelcase: specifier: ^6.3.0 version: 6.3.0 @@ -363,7 +363,7 @@ importers: version: 5.1.0 gulp-typescript: specifier: ^6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.5.2) + version: 6.0.0-alpha.1(typescript@5.5.4) identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -378,16 +378,16 @@ importers: version: 4.0.2 ts-node: specifier: ^10.5.0 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/semi-icons-vue: dependencies: @@ -405,7 +405,7 @@ importers: version: 1.77.1 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/plugin-proposal-decorators': specifier: ^7.17.2 @@ -421,10 +421,10 @@ importers: version: 7.24.1(@babel/core@7.24.7) '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) camelcase: specifier: ^6.3.0 version: 6.3.0 @@ -448,7 +448,7 @@ importers: version: 5.1.0 gulp-typescript: specifier: ^6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.5.2) + version: 6.0.0-alpha.1(typescript@5.5.4) identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -463,16 +463,16 @@ importers: version: 4.0.2 ts-node: specifier: ^10.5.0 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/semi-illustrations-vue: dependencies: @@ -487,7 +487,7 @@ importers: version: 2.5.1 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/plugin-proposal-decorators': specifier: ^7.17.2 @@ -503,10 +503,10 @@ importers: version: 7.24.1(@babel/core@7.24.7) '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) camelcase: specifier: ^6.3.0 version: 6.3.0 @@ -530,7 +530,7 @@ importers: version: 5.1.0 gulp-typescript: specifier: ^6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.5.2) + version: 6.0.0-alpha.1(typescript@5.5.4) identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -548,34 +548,31 @@ importers: version: 4.0.2 ts-node: specifier: ^10.5.0 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/semi-ui-vue: dependencies: - '@dnd-kit-vue/accessibility': - specifier: 0.1.2 - version: 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/core': - specifier: 0.1.2 - version: 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/modifiers': - specifier: 0.1.2 - version: 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/sortable': - specifier: 0.1.2 - version: 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/utilities': - specifier: 0.1.2 - version: 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) + '@dnd-kit/abstract': + specifier: ^0.0.6-beta-20240923164446 + version: 0.0.6-beta-20240923164446 + '@dnd-kit/collision': + specifier: ^0.0.6-beta-20240923164446 + version: 0.0.6-beta-20240923164446 + '@dnd-kit/dom': + specifier: ^0.0.6-beta-20240923164446 + version: 0.0.6-beta-20240923164446 + '@dnd-kit/helpers': + specifier: ^0.0.6-beta-20240923164446 + version: 0.0.6-beta-20240923164446 '@douyinfe/semi-animation': specifier: 2.66.1 version: 2.66.1 @@ -585,6 +582,9 @@ importers: '@douyinfe/semi-theme-default': specifier: 2.66.1 version: 2.66.1 + '@kousum/dnd-kit-vue': + specifier: 0.0.6-beta-20240923164446 + version: 0.0.6-beta-20240923164446(vue@3.5.8(typescript@5.5.4)) '@kousum/semi-animation-vue': specifier: workspace:* version: link:../semi-animation-vue @@ -596,16 +596,16 @@ importers: version: link:../semi-illustrations-vue '@kousum/vue-draggable': specifier: 1.0.2 - version: 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) + version: 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.4)) '@kousum/vue-resizable': specifier: 1.0.2 - version: 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) + version: 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.4)) '@kousum/vue3-window': specifier: 0.0.6 - version: 0.0.6(vue@3.5.8(typescript@5.5.2)) + version: 0.0.6(vue@3.5.8(typescript@5.5.4)) '@mdx-js/vue': specifier: ^3.0.1 - version: 3.0.1(vue@3.5.8(typescript@5.5.2)) + version: 3.0.1(vue@3.5.8(typescript@5.5.4)) async-validator: specifier: ^4.0.7 version: 4.2.5 @@ -647,7 +647,7 @@ importers: version: 3.11.0 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.2) + version: 3.5.8(typescript@5.5.4) devDependencies: '@babel/plugin-proposal-decorators': specifier: ^7.17.2 @@ -675,10 +675,10 @@ importers: version: 4.0.5 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + version: 4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) deepmerge: specifier: ^4.3.1 version: 4.3.1 @@ -702,7 +702,7 @@ importers: version: 5.1.0 gulp-typescript: specifier: ^6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.5.2) + version: 6.0.0-alpha.1(typescript@5.5.4) identity-obj-proxy: specifier: ^3.0.0 version: 3.0.0 @@ -732,19 +732,19 @@ importers: version: 23.0.0 ts-node: specifier: ^10.5.0 - version: 10.9.2(@types/node@20.12.12)(typescript@5.5.2) + version: 10.9.2(@types/node@20.12.12)(typescript@5.5.4) tsx: specifier: ^4.15.7 version: 4.15.7 typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) vue-tsc: specifier: ^2.1.4 - version: 2.1.4(typescript@5.5.2) + version: 2.1.4(typescript@5.5.4) packages/vite-plugin-semi-theme: dependencies: @@ -753,14 +753,14 @@ importers: version: 1.77.1 vue: specifier: ^3.0.0 - version: 3.4.27(typescript@5.5.2) + version: 3.4.27(typescript@5.5.4) devDependencies: typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.4 unbuild: specifier: ^3.0.0-rc.2 - version: 3.0.0-rc.2(sass@1.77.1)(typescript@5.5.2)(vue-tsc@2.1.4(typescript@5.5.2)) + version: 3.0.0-rc.2(sass@1.77.1)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4)) vite: specifier: 5.4.7 version: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) @@ -1732,35 +1732,23 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@dnd-kit-vue/accessibility@0.1.2': - resolution: {integrity: sha512-e5S1JVY+c0JYHtEE2ygNBYohKyYumfJfIdYFeBbgLGL5Hf0eeZRSWyAwmuNN40PHrDiczWUDhPAotwVGXBc4WA==} - peerDependencies: - lodash: ^4.17.21 - vue: ^3.4.27 + '@dnd-kit/abstract@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-7XX5/lTXcoQ3eCcUBz/CYrKRxP9jRPokdDCAWT14o6s9+9c0Pxz9ODOmDgcpAk+Tp6RP2IxCo5JPT2tqncAwLg==} - '@dnd-kit-vue/core@0.1.2': - resolution: {integrity: sha512-78XZoKmJ+G4QZWYgW/1bPrn3Q55nv7X3UZJqCxg08mHt9szp5s04uNuo7m/JqYVijz0216Z6H7bXURu40yQb3g==} - peerDependencies: - lodash: ^4.17.21 - vue: ^3.4.27 + '@dnd-kit/collision@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-Zz4mTfJN+0kgGK2IclcSy4XGsB/BHsMOIuFHUwRWhz3apFbqLK6hsfBhp9jwYTbnJWVVyxDZ4xmQX6SGlLFc8Q==} - '@dnd-kit-vue/modifiers@0.1.2': - resolution: {integrity: sha512-w8AQoZSEc+ivW73MmXxc32CL+C4BiTXkHn5GsOMIsHPPDrGm2Ya9tkaoZUQAtP3c8G7Sfv4/6BViP7hGWTy/TQ==} - peerDependencies: - lodash: ^4.17.21 - vue: ^3.4.27 + '@dnd-kit/dom@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-4Cd5nCmrybbfwRh0sPnF2jjBeHLp/6C4w+piA0tXu3kxjTdEuACeovsal25c/ouVj6nOrlUTLtfZimBzU0Ko9w==} - '@dnd-kit-vue/sortable@0.1.2': - resolution: {integrity: sha512-hlYpCJz+qBl4/nV1PCAc2C0HHMQzmIeyCmDGh7MzYBFJuT98em6Eez8H79jwuaxguveP8nmCSfqU28WAhugfhQ==} - peerDependencies: - lodash: ^4.17.21 - vue: ^3.4.27 + '@dnd-kit/geometry@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-HorxV0SEVo3Yqc74zeIbO/iqohxKov7GOtJPrxksy8vQ65PFWtfc7P3DOMH4zNk6LgK5qFmtYVWlBxdmvV/NiA==} - '@dnd-kit-vue/utilities@0.1.2': - resolution: {integrity: sha512-zt1iQlypu2fGiYDYrXIoNRpWB+dgjFHBOF137niPC1xq50LOfs94TFOoC2BkCgL5lOEJfopoE4K6VkR9J4cPYg==} - peerDependencies: - lodash: ^4.17.21 - vue: ^3.4.27 + '@dnd-kit/helpers@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-6nawzSzMz3gAJORmUzlMeHZCj0aFt12B0yFqnyaM3s+8iSIStHNgWFDLvPt5jNJ77OTzVCEpH3xNpu2+C4BKVg==} + + '@dnd-kit/state@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-u6SMbAYvVGUxTe0k4m1bUTRVh4+SvWUouRTALSFRWg55I86fcJ7dLGDqLG1xUUT7q6qMFKfjwrnqOupWzlRjOw==} '@docsearch/css@3.6.1': resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} @@ -2120,6 +2108,11 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@kousum/dnd-kit-vue@0.0.6-beta-20240923164446': + resolution: {integrity: sha512-j/4ay83TgeVCG999rPEaM41j2HsVkMbRM4YflQYBdZuM2Os2kGx9tXzq6mlDtPMu7mZq5d/D1qIpwwbmiiDTzg==} + peerDependencies: + vue: 3.5.6 + '@kousum/vue-draggable@1.0.2': resolution: {integrity: sha512-5RGFjJ65YRRdOIeMgZS6IrWUh65I2fr27Npp0acN0Nl4tfo9AvSkSZtjKhTmwX949bha6VTn8k/acDemFVEczA==} peerDependencies: @@ -2179,6 +2172,9 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@preact/signals-core@1.8.0': + resolution: {integrity: sha512-OBvUsRZqNmjzCZXWLxkZfhcgT+Fk8DDcT/8vD6a1xhDemodyy87UJRJfASMuSD8FaAIeGgGm85ydXhm7lr4fyA==} + '@radix-ui/primitive@1.0.1': resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} @@ -8048,8 +8044,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -10575,36 +10571,40 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@dnd-kit-vue/accessibility@0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@dnd-kit/abstract@0.0.6-beta-20240923164446': dependencies: - lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + '@dnd-kit/geometry': 0.0.6-beta-20240923164446 + '@dnd-kit/state': 0.0.6-beta-20240923164446 + tslib: 2.6.2 - '@dnd-kit-vue/core@0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@dnd-kit/collision@0.0.6-beta-20240923164446': dependencies: - '@dnd-kit-vue/accessibility': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/utilities': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + '@dnd-kit/abstract': 0.0.6-beta-20240923164446 + '@dnd-kit/geometry': 0.0.6-beta-20240923164446 + tslib: 2.6.2 - '@dnd-kit-vue/modifiers@0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@dnd-kit/dom@0.0.6-beta-20240923164446': dependencies: - '@dnd-kit-vue/core': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/utilities': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + '@dnd-kit/abstract': 0.0.6-beta-20240923164446 + '@dnd-kit/collision': 0.0.6-beta-20240923164446 + '@dnd-kit/geometry': 0.0.6-beta-20240923164446 + '@dnd-kit/state': 0.0.6-beta-20240923164446 + tslib: 2.6.2 - '@dnd-kit-vue/sortable@0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@dnd-kit/geometry@0.0.6-beta-20240923164446': dependencies: - '@dnd-kit-vue/core': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - '@dnd-kit-vue/utilities': 0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) - lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + '@dnd-kit/state': 0.0.6-beta-20240923164446 + tslib: 2.6.2 - '@dnd-kit-vue/utilities@0.1.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@dnd-kit/helpers@0.0.6-beta-20240923164446': dependencies: - lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + '@dnd-kit/abstract': 0.0.6-beta-20240923164446 + tslib: 2.6.2 + + '@dnd-kit/state@0.0.6-beta-20240923164446': + dependencies: + '@preact/signals-core': 1.8.0 + tslib: 2.6.2 '@docsearch/css@3.6.1': {} @@ -10847,23 +10847,31 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@kousum/vue-draggable@1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@kousum/dnd-kit-vue@0.0.6-beta-20240923164446(vue@3.5.8(typescript@5.5.4))': + dependencies: + '@dnd-kit/abstract': 0.0.6-beta-20240923164446 + '@dnd-kit/dom': 0.0.6-beta-20240923164446 + '@dnd-kit/state': 0.0.6-beta-20240923164446 + tslib: 2.6.2 + vue: 3.5.8(typescript@5.5.4) + + '@kousum/vue-draggable@1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.4))': dependencies: clsx: 1.2.1 lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) - '@kousum/vue-resizable@1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2))': + '@kousum/vue-resizable@1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.4))': dependencies: - '@kousum/vue-draggable': 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.2)) + '@kousum/vue-draggable': 1.0.2(lodash@4.17.21)(vue@3.5.8(typescript@5.5.4)) lodash: 4.17.21 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) - '@kousum/vue3-window@0.0.6(vue@3.5.8(typescript@5.5.2))': + '@kousum/vue3-window@0.0.6(vue@3.5.8(typescript@5.5.4))': dependencies: '@babel/runtime': 7.24.5 memoize-one: 6.0.0 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) '@manypkg/find-root@1.1.0': dependencies: @@ -10915,10 +10923,10 @@ snapshots: '@types/react': 18.3.2 react: 18.3.1 - '@mdx-js/vue@3.0.1(vue@3.5.8(typescript@5.5.2))': + '@mdx-js/vue@3.0.1(vue@3.5.8(typescript@5.5.4))': dependencies: '@types/mdx': 2.0.13 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) '@ndelangen/get-tarball@3.0.9': dependencies: @@ -10943,6 +10951,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@preact/signals-core@1.8.0': {} + '@radix-ui/primitive@1.0.1': dependencies: '@babel/runtime': 7.24.5 @@ -11449,7 +11459,7 @@ snapshots: - prettier - supports-color - '@storybook/builder-vite@8.1.7(prettier@2.8.8)(typescript@5.5.2)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))': + '@storybook/builder-vite@8.1.7(prettier@2.8.8)(typescript@5.5.4)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))': dependencies: '@storybook/channels': 8.1.7 '@storybook/client-logger': 8.1.7 @@ -11470,7 +11480,7 @@ snapshots: ts-dedent: 2.2.0 vite: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - encoding - prettier @@ -11943,18 +11953,18 @@ snapshots: '@types/express': 4.17.21 file-system-cache: 2.3.0 - '@storybook/vue3-vite@8.1.7(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2))': + '@storybook/vue3-vite@8.1.7(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4))': dependencies: - '@storybook/builder-vite': 8.1.7(prettier@2.8.8)(typescript@5.5.2)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0)) + '@storybook/builder-vite': 8.1.7(prettier@2.8.8)(typescript@5.5.4)(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0)) '@storybook/core-server': 8.1.7(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/types': 8.1.7 - '@storybook/vue3': 8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.2)) + '@storybook/vue3': 8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.4)) find-package-json: 1.2.0 magic-string: 0.30.10 - typescript: 5.5.2 + typescript: 5.5.4 vite: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) - vue-component-meta: 2.0.19(typescript@5.5.2) - vue-docgen-api: 4.78.0(vue@3.5.8(typescript@5.5.2)) + vue-component-meta: 2.0.19(typescript@5.5.4) + vue-docgen-api: 4.78.0(vue@3.5.8(typescript@5.5.4)) transitivePeerDependencies: - '@preact/preset-vite' - bufferutil @@ -11967,7 +11977,7 @@ snapshots: - vite-plugin-glimmerx - vue - '@storybook/vue3@8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.2))': + '@storybook/vue3@8.1.7(prettier@2.8.8)(vue@3.5.8(typescript@5.5.4))': dependencies: '@storybook/docs-tools': 8.1.7(prettier@2.8.8) '@storybook/global': 5.0.0 @@ -11977,7 +11987,7 @@ snapshots: lodash: 4.17.21 ts-dedent: 2.2.0 type-fest: 2.19.0 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) vue-component-type-helpers: 2.1.6 transitivePeerDependencies: - encoding @@ -12084,12 +12094,12 @@ snapshots: dependencies: '@testing-library/dom': 9.3.4 - '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.2))': + '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.4))': dependencies: '@babel/runtime': 7.24.5 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.6 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) optionalDependencies: '@vue/compiler-sfc': 3.5.8 @@ -12271,20 +12281,20 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2))': + '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7) vite: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4))': dependencies: vite: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@20.12.12)(jsdom@24.0.0)(sass@1.77.1)(terser@5.31.0))': dependencies: @@ -12532,7 +12542,7 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@2.0.19(typescript@5.5.2)': + '@vue/language-core@2.0.19(typescript@5.5.4)': dependencies: '@volar/language-core': 2.2.4 '@vue/compiler-dom': 3.5.5 @@ -12542,9 +12552,9 @@ snapshots: path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 - '@vue/language-core@2.1.4(typescript@5.5.2)': + '@vue/language-core@2.1.4(typescript@5.5.4)': dependencies: '@volar/language-core': 2.4.1 '@vue/compiler-dom': 3.5.5 @@ -12555,7 +12565,7 @@ snapshots: muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 '@vue/reactivity@3.4.27': dependencies: @@ -12590,17 +12600,17 @@ snapshots: '@vue/shared': 3.5.8 csstype: 3.1.3 - '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.5.2))': + '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.5.4))': dependencies: '@vue/compiler-ssr': 3.4.27 '@vue/shared': 3.4.27 - vue: 3.4.27(typescript@5.5.2) + vue: 3.4.27(typescript@5.5.4) - '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.5.2))': + '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.5.4))': dependencies: '@vue/compiler-ssr': 3.5.8 '@vue/shared': 3.5.8 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) '@vue/shared@3.4.27': {} @@ -12615,21 +12625,21 @@ snapshots: js-beautify: 1.15.1 vue-component-type-helpers: 2.0.19 - '@vueuse/core@11.0.1(vue@3.5.8(typescript@5.5.2))': + '@vueuse/core@11.0.1(vue@3.5.8(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.0.1 - '@vueuse/shared': 11.0.1(vue@3.5.8(typescript@5.5.2)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.2)) + '@vueuse/shared': 11.0.1(vue@3.5.8(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.0.1(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.2))': + '@vueuse/integrations@11.0.1(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.4))': dependencies: - '@vueuse/core': 11.0.1(vue@3.5.8(typescript@5.5.2)) - '@vueuse/shared': 11.0.1(vue@3.5.8(typescript@5.5.2)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.2)) + '@vueuse/core': 11.0.1(vue@3.5.8(typescript@5.5.4)) + '@vueuse/shared': 11.0.1(vue@3.5.8(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.4)) optionalDependencies: async-validator: 4.2.5 focus-trap: 7.5.4 @@ -12639,9 +12649,9 @@ snapshots: '@vueuse/metadata@11.0.1': {} - '@vueuse/shared@11.0.1(vue@3.5.8(typescript@5.5.2))': + '@vueuse/shared@11.0.1(vue@3.5.8(typescript@5.5.4))': dependencies: - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.2)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -13569,14 +13579,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@5.5.2): + cosmiconfig@8.3.6(typescript@5.5.4): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 create-require@1.1.1: {} @@ -14867,13 +14877,13 @@ snapshots: strip-ansi: 6.0.1 vinyl-sourcemaps-apply: 0.2.1 - gulp-typescript@6.0.0-alpha.1(typescript@5.5.2): + gulp-typescript@6.0.0-alpha.1(typescript@5.5.4): dependencies: ansi-colors: 4.1.3 plugin-error: 1.0.1 source-map: 0.7.4 through2: 3.0.2 - typescript: 5.5.2 + typescript: 5.5.4 vinyl: 2.2.1 vinyl-fs: 3.0.3 @@ -16302,7 +16312,7 @@ snapshots: mkdirp@3.0.1: {} - mkdist@1.5.1(sass@1.77.1)(typescript@5.5.2)(vue-tsc@2.1.4(typescript@5.5.2)): + mkdist@1.5.1(sass@1.77.1)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4)): dependencies: autoprefixer: 10.4.19(postcss@8.4.44) citty: 0.1.6 @@ -16321,8 +16331,8 @@ snapshots: semver: 7.6.2 optionalDependencies: sass: 1.77.1 - typescript: 5.5.2 - vue-tsc: 2.1.4(typescript@5.5.2) + typescript: 5.5.4 + vue-tsc: 2.1.4(typescript@5.5.4) mlly@1.7.0: dependencies: @@ -16800,9 +16810,9 @@ snapshots: dependencies: postcss: 8.4.44 - postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.5.2)(webpack@5.91.0(esbuild@0.20.2)): + postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.5.4)(webpack@5.91.0(esbuild@0.20.2)): dependencies: - cosmiconfig: 8.3.6(typescript@5.5.2) + cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.2 @@ -17453,11 +17463,11 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-dts@6.1.1(rollup@4.18.0)(typescript@5.5.2): + rollup-plugin-dts@6.1.1(rollup@4.18.0)(typescript@5.5.4): dependencies: magic-string: 0.30.11 rollup: 4.18.0 - typescript: 5.5.2 + typescript: 5.5.4 optionalDependencies: '@babel/code-frame': 7.24.7 @@ -18152,7 +18162,7 @@ snapshots: '@ts-morph/common': 0.24.0 code-block-writer: 13.0.1 - ts-node@10.9.2(@types/node@20.12.12)(typescript@5.5.2): + ts-node@10.9.2(@types/node@20.12.12)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -18166,7 +18176,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.2 + typescript: 5.5.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -18246,7 +18256,7 @@ snapshots: typedarray@0.0.6: {} - typescript@5.5.2: {} + typescript@5.5.4: {} ufo@1.5.3: {} @@ -18260,7 +18270,7 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - unbuild@3.0.0-rc.2(sass@1.77.1)(typescript@5.5.2)(vue-tsc@2.1.4(typescript@5.5.2)): + unbuild@3.0.0-rc.2(sass@1.77.1)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4)): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@4.18.0) '@rollup/plugin-commonjs': 25.0.8(rollup@4.18.0) @@ -18277,18 +18287,18 @@ snapshots: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.10 - mkdist: 1.5.1(sass@1.77.1)(typescript@5.5.2)(vue-tsc@2.1.4(typescript@5.5.2)) + mkdist: 1.5.1(sass@1.77.1)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4)) mlly: 1.7.0 pathe: 1.1.2 pkg-types: 1.1.1 pretty-bytes: 6.1.1 rollup: 4.18.0 - rollup-plugin-dts: 6.1.1(rollup@4.18.0)(typescript@5.5.2) + rollup-plugin-dts: 6.1.1(rollup@4.18.0)(typescript@5.5.4) scule: 1.3.0 ufo: 1.5.3 untyped: 1.4.2 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 transitivePeerDependencies: - sass - supports-color @@ -18577,24 +18587,24 @@ snapshots: sass: 1.77.1 terser: 5.31.0 - vitepress@1.3.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(@types/react@18.3.2)(async-validator@4.2.5)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.1)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.5.2): + vitepress@1.3.4(@algolia/client-search@4.23.3)(@types/node@20.12.12)(@types/react@18.3.2)(async-validator@4.2.5)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.1)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.5.4): dependencies: '@docsearch/css': 3.6.1 '@docsearch/js': 3.6.1(@algolia/client-search@4.23.3)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) '@shikijs/core': 1.14.1 '@shikijs/transformers': 1.14.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.2)) + '@vitejs/plugin-vue': 5.1.4(vite@5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0))(vue@3.5.8(typescript@5.5.4)) '@vue/devtools-api': 7.3.8 '@vue/shared': 3.4.38 - '@vueuse/core': 11.0.1(vue@3.5.8(typescript@5.5.2)) - '@vueuse/integrations': 11.0.1(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.2)) + '@vueuse/core': 11.0.1(vue@3.5.8(typescript@5.5.4)) + '@vueuse/integrations': 11.0.1(async-validator@4.2.5)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.4)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.14.1 vite: 5.4.7(@types/node@20.12.12)(sass@1.77.1)(terser@5.31.0) - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) optionalDependencies: postcss: 8.4.38 transitivePeerDependencies: @@ -18668,24 +18678,24 @@ snapshots: vscode-uri@3.0.8: {} - vue-component-meta@2.0.19(typescript@5.5.2): + vue-component-meta@2.0.19(typescript@5.5.4): dependencies: '@volar/typescript': 2.2.4 - '@vue/language-core': 2.0.19(typescript@5.5.2) + '@vue/language-core': 2.0.19(typescript@5.5.4) path-browserify: 1.0.1 vue-component-type-helpers: 2.0.19 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 vue-component-type-helpers@2.0.19: {} vue-component-type-helpers@2.1.6: {} - vue-demi@0.14.10(vue@3.5.8(typescript@5.5.2)): + vue-demi@0.14.10(vue@3.5.8(typescript@5.5.4)): dependencies: - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) - vue-docgen-api@4.78.0(vue@3.5.8(typescript@5.5.2)): + vue-docgen-api@4.78.0(vue@3.5.8(typescript@5.5.4)): dependencies: '@babel/parser': 7.25.6 '@babel/types': 7.24.7 @@ -18698,16 +18708,16 @@ snapshots: pug: 3.0.2 recast: 0.23.7 ts-map: 1.0.3 - vue: 3.5.8(typescript@5.5.2) - vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.8(typescript@5.5.2)) + vue: 3.5.8(typescript@5.5.4) + vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.8(typescript@5.5.4)) - vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.8(typescript@5.5.2)): + vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.8(typescript@5.5.4)): dependencies: - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) vue-inline-svg@2.1.3: {} - vue-loader@16.8.3(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.2))(webpack@5.91.0(esbuild@0.20.2)): + vue-loader@16.8.3(@vue/compiler-sfc@3.5.8)(vue@3.5.8(typescript@5.5.4))(webpack@5.91.0(esbuild@0.20.2)): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 @@ -18715,39 +18725,39 @@ snapshots: webpack: 5.91.0(esbuild@0.20.2) optionalDependencies: '@vue/compiler-sfc': 3.5.8 - vue: 3.5.8(typescript@5.5.2) + vue: 3.5.8(typescript@5.5.4) vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@2.1.4(typescript@5.5.2): + vue-tsc@2.1.4(typescript@5.5.4): dependencies: '@volar/typescript': 2.4.1 - '@vue/language-core': 2.1.4(typescript@5.5.2) + '@vue/language-core': 2.1.4(typescript@5.5.4) semver: 7.6.2 - typescript: 5.5.2 + typescript: 5.5.4 - vue@3.4.27(typescript@5.5.2): + vue@3.4.27(typescript@5.5.4): dependencies: '@vue/compiler-dom': 3.4.27 '@vue/compiler-sfc': 3.4.27 '@vue/runtime-dom': 3.4.27 - '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.5.2)) + '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.5.4)) '@vue/shared': 3.4.27 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 - vue@3.5.8(typescript@5.5.2): + vue@3.5.8(typescript@5.5.4): dependencies: '@vue/compiler-dom': 3.5.8 '@vue/compiler-sfc': 3.5.8 '@vue/runtime-dom': 3.5.8 - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.5.2)) + '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.5.4)) '@vue/shared': 3.5.8 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.4 w3c-xmlserializer@5.0.0: dependencies: