@v-c/mentions 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/DropdownMenu.cjs +124 -0
- package/dist/DropdownMenu.d.ts +12 -0
- package/dist/DropdownMenu.js +117 -0
- package/dist/KeywordTrigger.cjs +130 -0
- package/dist/KeywordTrigger.d.ts +16 -0
- package/dist/KeywordTrigger.js +123 -0
- package/dist/Mentions.cjs +802 -0
- package/dist/Mentions.d.ts +58 -0
- package/dist/Mentions.js +795 -0
- package/dist/MentionsContext.cjs +19 -0
- package/dist/MentionsContext.d.ts +18 -0
- package/dist/MentionsContext.js +16 -0
- package/dist/Option.cjs +7 -0
- package/dist/Option.d.ts +10 -0
- package/dist/Option.js +3 -0
- package/dist/_virtual/rolldown_runtime.cjs +21 -0
- package/dist/context.cjs +12 -0
- package/dist/context.d.ts +7 -0
- package/dist/context.js +9 -0
- package/dist/hooks/useEffectState.cjs +23 -0
- package/dist/hooks/useEffectState.d.ts +5 -0
- package/dist/hooks/useEffectState.js +18 -0
- package/dist/index.cjs +12 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5 -0
- package/dist/util.cjs +65 -0
- package/dist/util.d.ts +37 -0
- package/dist/util.js +59 -0
- package/package.json +40 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
|
|
3
|
+
let vue = require("vue");
|
|
4
|
+
var MentionsContextKey = Symbol("MentionsContext");
|
|
5
|
+
function useMentionsContext() {
|
|
6
|
+
return (0, vue.inject)(MentionsContextKey, (0, vue.ref)());
|
|
7
|
+
}
|
|
8
|
+
const MentionsProvider = (0, vue.defineComponent)((props, { slots }) => {
|
|
9
|
+
(0, vue.provide)(MentionsContextKey, (0, vue.computed)(() => props.value));
|
|
10
|
+
return () => {
|
|
11
|
+
return slots?.default?.();
|
|
12
|
+
};
|
|
13
|
+
}, {
|
|
14
|
+
name: "MentionsProvider",
|
|
15
|
+
inheritAttrs: false,
|
|
16
|
+
props: ["value"]
|
|
17
|
+
});
|
|
18
|
+
exports.MentionsProvider = MentionsProvider;
|
|
19
|
+
exports.useMentionsContext = useMentionsContext;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { VueNode } from '../../util/src';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
import { OptionProps } from './Option.tsx';
|
|
4
|
+
export interface MentionsContextProps {
|
|
5
|
+
notFoundContent: VueNode;
|
|
6
|
+
activeIndex: number;
|
|
7
|
+
setActiveIndex: (index: number) => void;
|
|
8
|
+
selectOption: (option: OptionProps) => void;
|
|
9
|
+
onFocus: (e: FocusEvent) => void;
|
|
10
|
+
onBlur: (e: FocusEvent) => void;
|
|
11
|
+
onScroll: (e: UIEvent) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useMentionsContext(): Ref<MentionsContextProps, MentionsContextProps>;
|
|
14
|
+
export declare const MentionsProvider: import('vue').DefineSetupFnComponent<{
|
|
15
|
+
value: MentionsContextProps;
|
|
16
|
+
}, {}, {}, {
|
|
17
|
+
value: MentionsContextProps;
|
|
18
|
+
} & {}, import('vue').PublicProps>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { computed, defineComponent, inject, provide, ref } from "vue";
|
|
2
|
+
var MentionsContextKey = Symbol("MentionsContext");
|
|
3
|
+
function useMentionsContext() {
|
|
4
|
+
return inject(MentionsContextKey, ref());
|
|
5
|
+
}
|
|
6
|
+
const MentionsProvider = defineComponent((props, { slots }) => {
|
|
7
|
+
provide(MentionsContextKey, computed(() => props.value));
|
|
8
|
+
return () => {
|
|
9
|
+
return slots?.default?.();
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
name: "MentionsProvider",
|
|
13
|
+
inheritAttrs: false,
|
|
14
|
+
props: ["value"]
|
|
15
|
+
});
|
|
16
|
+
export { MentionsProvider, useMentionsContext };
|
package/dist/Option.cjs
ADDED
package/dist/Option.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CSSProperties, FunctionalComponent } from 'vue';
|
|
2
|
+
export interface OptionProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
key?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
class?: string;
|
|
7
|
+
style?: CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
declare const Option: FunctionalComponent<OptionProps>;
|
|
10
|
+
export default Option;
|
package/dist/Option.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
9
|
+
key = keys[i];
|
|
10
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
11
|
+
get: ((k) => from[k]).bind(null, key),
|
|
12
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
18
|
+
value: mod,
|
|
19
|
+
enumerable: true
|
|
20
|
+
}) : target, mod));
|
|
21
|
+
exports.__toESM = __toESM;
|
package/dist/context.cjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
|
|
3
|
+
let vue = require("vue");
|
|
4
|
+
var UnstableContextKey = Symbol("UnstableContext");
|
|
5
|
+
function useUnstableContext() {
|
|
6
|
+
return (0, vue.inject)(UnstableContextKey, {});
|
|
7
|
+
}
|
|
8
|
+
function useUnstableContextProvider(value) {
|
|
9
|
+
(0, vue.provide)(UnstableContextKey, value);
|
|
10
|
+
}
|
|
11
|
+
exports.useUnstableContext = useUnstableContext;
|
|
12
|
+
exports.useUnstableContextProvider = useUnstableContextProvider;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
export interface UnstableContextProps {
|
|
3
|
+
/** Only used for antd site v6 preview usage. */
|
|
4
|
+
open?: Ref<boolean>;
|
|
5
|
+
}
|
|
6
|
+
export declare function useUnstableContext(): UnstableContextProps;
|
|
7
|
+
export declare function useUnstableContextProvider(value: UnstableContextProps): void;
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
var UnstableContextKey = Symbol("UnstableContext");
|
|
3
|
+
function useUnstableContext() {
|
|
4
|
+
return inject(UnstableContextKey, {});
|
|
5
|
+
}
|
|
6
|
+
function useUnstableContextProvider(value) {
|
|
7
|
+
provide(UnstableContextKey, value);
|
|
8
|
+
}
|
|
9
|
+
export { useUnstableContext, useUnstableContextProvider };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
|
|
6
|
+
let vue = require("vue");
|
|
7
|
+
function useEffectState() {
|
|
8
|
+
const effectId = (0, vue.shallowRef)({
|
|
9
|
+
id: 0,
|
|
10
|
+
callback: void 0
|
|
11
|
+
});
|
|
12
|
+
const update = (callback) => {
|
|
13
|
+
effectId.value = {
|
|
14
|
+
id: effectId.value.id + 1,
|
|
15
|
+
callback
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
(0, vue.watch)(() => effectId?.value?.id, () => {
|
|
19
|
+
effectId.value?.callback?.();
|
|
20
|
+
});
|
|
21
|
+
return update;
|
|
22
|
+
}
|
|
23
|
+
exports.default = useEffectState;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { shallowRef, watch } from "vue";
|
|
2
|
+
function useEffectState() {
|
|
3
|
+
const effectId = shallowRef({
|
|
4
|
+
id: 0,
|
|
5
|
+
callback: void 0
|
|
6
|
+
});
|
|
7
|
+
const update = (callback) => {
|
|
8
|
+
effectId.value = {
|
|
9
|
+
id: effectId.value.id + 1,
|
|
10
|
+
callback
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
watch(() => effectId?.value?.id, () => {
|
|
14
|
+
effectId.value?.callback?.();
|
|
15
|
+
});
|
|
16
|
+
return update;
|
|
17
|
+
}
|
|
18
|
+
export { useEffectState as default };
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
const require_context = require("./context.cjs");
|
|
6
|
+
const require_Mentions = require("./Mentions.cjs");
|
|
7
|
+
const require_Option = require("./Option.cjs");
|
|
8
|
+
var src_default = require_Mentions.default;
|
|
9
|
+
exports.Option = require_Option.default;
|
|
10
|
+
exports.default = src_default;
|
|
11
|
+
exports.useUnstableContext = require_context.useUnstableContext;
|
|
12
|
+
exports.useUnstableContextProvider = require_context.useUnstableContextProvider;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as Mentions } from './Mentions';
|
|
2
|
+
export { useUnstableContext, useUnstableContextProvider } from './context';
|
|
3
|
+
export type { DataDrivenOptionProps, Direction, MentionsProps, MentionsRef, Placement, } from './Mentions';
|
|
4
|
+
export type { OptionProps } from './Option';
|
|
5
|
+
export { default as Option } from './Option';
|
|
6
|
+
export default Mentions;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { useUnstableContext, useUnstableContextProvider } from "./context.js";
|
|
2
|
+
import Mentions_default from "./Mentions.js";
|
|
3
|
+
import Option_default from "./Option.js";
|
|
4
|
+
var src_default = Mentions_default;
|
|
5
|
+
export { Option_default as Option, src_default as default, useUnstableContext, useUnstableContextProvider };
|
package/dist/util.cjs
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
function getBeforeSelectionText(input) {
|
|
3
|
+
const { selectionStart } = input;
|
|
4
|
+
return input.value.slice(0, selectionStart);
|
|
5
|
+
}
|
|
6
|
+
function getLastMeasureIndex(text, prefix) {
|
|
7
|
+
return prefix.reduce((lastMatch, prefixStr) => {
|
|
8
|
+
const lastIndex = text.lastIndexOf(prefixStr);
|
|
9
|
+
if (lastIndex > lastMatch.location) return {
|
|
10
|
+
location: lastIndex,
|
|
11
|
+
prefix: prefixStr
|
|
12
|
+
};
|
|
13
|
+
return lastMatch;
|
|
14
|
+
}, {
|
|
15
|
+
location: -1,
|
|
16
|
+
prefix: ""
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function lower(char) {
|
|
20
|
+
return (char || "").toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
function reduceText(text, targetText, split) {
|
|
23
|
+
const firstChar = text[0];
|
|
24
|
+
if (!firstChar || firstChar === split) return text;
|
|
25
|
+
let restText = text;
|
|
26
|
+
const targetTextLen = targetText.length;
|
|
27
|
+
for (let i = 0; i < targetTextLen; i += 1) if (lower(restText[i]) !== lower(targetText[i])) {
|
|
28
|
+
restText = restText.slice(i);
|
|
29
|
+
break;
|
|
30
|
+
} else if (i === targetTextLen - 1) restText = restText.slice(targetTextLen);
|
|
31
|
+
return restText;
|
|
32
|
+
}
|
|
33
|
+
function replaceWithMeasure(text, measureConfig) {
|
|
34
|
+
const { measureLocation, prefix, targetText, selectionStart, split } = measureConfig;
|
|
35
|
+
let beforeMeasureText = text.slice(0, measureLocation);
|
|
36
|
+
if (beforeMeasureText[beforeMeasureText.length - split.length] === split) beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);
|
|
37
|
+
if (beforeMeasureText) beforeMeasureText = `${beforeMeasureText}${split}`;
|
|
38
|
+
let restText = reduceText(text.slice(selectionStart), targetText.slice(selectionStart - measureLocation - prefix.length), split);
|
|
39
|
+
if (restText.slice(0, split.length) === split) restText = restText.slice(split.length);
|
|
40
|
+
const connectedStartText = `${beforeMeasureText}${prefix}${targetText}${split}`;
|
|
41
|
+
return {
|
|
42
|
+
text: `${connectedStartText}${restText}`,
|
|
43
|
+
selectionLocation: connectedStartText.length
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function setInputSelection(input, location) {
|
|
47
|
+
input.setSelectionRange(location, location);
|
|
48
|
+
input.blur();
|
|
49
|
+
input.focus();
|
|
50
|
+
}
|
|
51
|
+
function validateSearch(text, split) {
|
|
52
|
+
if (text === void 0 && split === void 0) return validateSearch;
|
|
53
|
+
return !split || !(text ?? "").includes(split);
|
|
54
|
+
}
|
|
55
|
+
function filterOption(input, option) {
|
|
56
|
+
if (input === void 0 && option === void 0) return filterOption;
|
|
57
|
+
const lowerCase = (typeof input === "string" ? input : String(input ?? "")).toLowerCase();
|
|
58
|
+
return (option?.value ?? "").toLowerCase().includes(lowerCase);
|
|
59
|
+
}
|
|
60
|
+
exports.filterOption = filterOption;
|
|
61
|
+
exports.getBeforeSelectionText = getBeforeSelectionText;
|
|
62
|
+
exports.getLastMeasureIndex = getLastMeasureIndex;
|
|
63
|
+
exports.replaceWithMeasure = replaceWithMeasure;
|
|
64
|
+
exports.setInputSelection = setInputSelection;
|
|
65
|
+
exports.validateSearch = validateSearch;
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MentionsProps } from './Mentions';
|
|
2
|
+
import { OptionProps } from './Option';
|
|
3
|
+
/**
|
|
4
|
+
* Cut input selection into 2 part and return text before selection start
|
|
5
|
+
*/
|
|
6
|
+
export declare function getBeforeSelectionText(input: HTMLTextAreaElement): string;
|
|
7
|
+
interface MeasureIndex {
|
|
8
|
+
location: number;
|
|
9
|
+
prefix: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Find the last match prefix index
|
|
13
|
+
*/
|
|
14
|
+
export declare function getLastMeasureIndex(text: string, prefix: string[]): MeasureIndex;
|
|
15
|
+
interface MeasureConfig {
|
|
16
|
+
measureLocation: number;
|
|
17
|
+
prefix: string;
|
|
18
|
+
targetText: string;
|
|
19
|
+
selectionStart: number;
|
|
20
|
+
split: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Paint targetText into current text:
|
|
24
|
+
* text: little@litest
|
|
25
|
+
* targetText: light
|
|
26
|
+
* => little @light test
|
|
27
|
+
*/
|
|
28
|
+
export declare function replaceWithMeasure(text: string, measureConfig: MeasureConfig): {
|
|
29
|
+
text: string;
|
|
30
|
+
selectionLocation: number;
|
|
31
|
+
};
|
|
32
|
+
export declare function setInputSelection(input: HTMLTextAreaElement, location: number): void;
|
|
33
|
+
export declare function validateSearch(): typeof validateSearch;
|
|
34
|
+
export declare function validateSearch(text: string, split: MentionsProps['split']): boolean;
|
|
35
|
+
export declare function filterOption(): typeof filterOption;
|
|
36
|
+
export declare function filterOption(input: string, option: OptionProps): boolean;
|
|
37
|
+
export {};
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
function getBeforeSelectionText(input) {
|
|
2
|
+
const { selectionStart } = input;
|
|
3
|
+
return input.value.slice(0, selectionStart);
|
|
4
|
+
}
|
|
5
|
+
function getLastMeasureIndex(text, prefix) {
|
|
6
|
+
return prefix.reduce((lastMatch, prefixStr) => {
|
|
7
|
+
const lastIndex = text.lastIndexOf(prefixStr);
|
|
8
|
+
if (lastIndex > lastMatch.location) return {
|
|
9
|
+
location: lastIndex,
|
|
10
|
+
prefix: prefixStr
|
|
11
|
+
};
|
|
12
|
+
return lastMatch;
|
|
13
|
+
}, {
|
|
14
|
+
location: -1,
|
|
15
|
+
prefix: ""
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function lower(char) {
|
|
19
|
+
return (char || "").toLowerCase();
|
|
20
|
+
}
|
|
21
|
+
function reduceText(text, targetText, split) {
|
|
22
|
+
const firstChar = text[0];
|
|
23
|
+
if (!firstChar || firstChar === split) return text;
|
|
24
|
+
let restText = text;
|
|
25
|
+
const targetTextLen = targetText.length;
|
|
26
|
+
for (let i = 0; i < targetTextLen; i += 1) if (lower(restText[i]) !== lower(targetText[i])) {
|
|
27
|
+
restText = restText.slice(i);
|
|
28
|
+
break;
|
|
29
|
+
} else if (i === targetTextLen - 1) restText = restText.slice(targetTextLen);
|
|
30
|
+
return restText;
|
|
31
|
+
}
|
|
32
|
+
function replaceWithMeasure(text, measureConfig) {
|
|
33
|
+
const { measureLocation, prefix, targetText, selectionStart, split } = measureConfig;
|
|
34
|
+
let beforeMeasureText = text.slice(0, measureLocation);
|
|
35
|
+
if (beforeMeasureText[beforeMeasureText.length - split.length] === split) beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);
|
|
36
|
+
if (beforeMeasureText) beforeMeasureText = `${beforeMeasureText}${split}`;
|
|
37
|
+
let restText = reduceText(text.slice(selectionStart), targetText.slice(selectionStart - measureLocation - prefix.length), split);
|
|
38
|
+
if (restText.slice(0, split.length) === split) restText = restText.slice(split.length);
|
|
39
|
+
const connectedStartText = `${beforeMeasureText}${prefix}${targetText}${split}`;
|
|
40
|
+
return {
|
|
41
|
+
text: `${connectedStartText}${restText}`,
|
|
42
|
+
selectionLocation: connectedStartText.length
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function setInputSelection(input, location) {
|
|
46
|
+
input.setSelectionRange(location, location);
|
|
47
|
+
input.blur();
|
|
48
|
+
input.focus();
|
|
49
|
+
}
|
|
50
|
+
function validateSearch(text, split) {
|
|
51
|
+
if (text === void 0 && split === void 0) return validateSearch;
|
|
52
|
+
return !split || !(text ?? "").includes(split);
|
|
53
|
+
}
|
|
54
|
+
function filterOption(input, option) {
|
|
55
|
+
if (input === void 0 && option === void 0) return filterOption;
|
|
56
|
+
const lowerCase = (typeof input === "string" ? input : String(input ?? "")).toLowerCase();
|
|
57
|
+
return (option?.value ?? "").toLowerCase().includes(lowerCase);
|
|
58
|
+
}
|
|
59
|
+
export { filterOption, getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection, validateSearch };
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@v-c/mentions",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"description": "",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./dist/*": "./dist/*",
|
|
16
|
+
"./package.json": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"main": "dist/index.js",
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"package.json"
|
|
22
|
+
],
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"vue": "^3.0.0"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@v-c/input": "^1.0.0",
|
|
28
|
+
"@v-c/textarea": "^1.0.1",
|
|
29
|
+
"@v-c/menu": "^1.0.1",
|
|
30
|
+
"@v-c/util": "^1.0.4",
|
|
31
|
+
"@v-c/trigger": "^1.0.2"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "vite build",
|
|
35
|
+
"prepublish": "pnpm build",
|
|
36
|
+
"test": "vitest run",
|
|
37
|
+
"patch": "bumpp --release patch",
|
|
38
|
+
"bump": "bumpp"
|
|
39
|
+
}
|
|
40
|
+
}
|