@voicenter-team/voicenter-ui-plus 3.3.3 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +502 -502
  2. package/library/assets/assets/sass/main.css +1 -1
  3. package/library/assets/components/VcSoundplayer/VcSoundPlayerMarker.css +1 -0
  4. package/library/assets/components/VcSoundplayer/VcSoundPlayerProgress.css +1 -1
  5. package/library/components/VcSoundplayer/VcSoundPlayer.vue.mjs +54 -14
  6. package/library/components/VcSoundplayer/VcSoundPlayerMarker.vue.mjs +131 -0
  7. package/library/components/VcSoundplayer/VcSoundPlayerMarker.vue3.mjs +5 -0
  8. package/library/components/VcSoundplayer/VcSoundPlayerMarkers.vue.mjs +49 -0
  9. package/library/components/VcSoundplayer/VcSoundPlayerMarkers.vue2.mjs +4 -0
  10. package/library/components/VcSoundplayer/VcSoundPlayerProgress.vue.mjs +13 -3
  11. package/library/components/VcSoundplayer/VcSoundPlayerWrapper.vue.mjs +17 -1
  12. package/library/index.mjs +53 -48
  13. package/library/index.mjs.br +0 -0
  14. package/library/index.mjs.gz +0 -0
  15. package/library/localization/index.mjs.gz +0 -0
  16. package/library/plugin-components.gen.mjs +47 -42
  17. package/library/plugin.mjs +53 -48
  18. package/library/plugin.mjs.br +0 -0
  19. package/library/plugin.mjs.gz +0 -0
  20. package/library/style.css +4 -2
  21. package/library/style.css.br +0 -0
  22. package/library/style.css.gz +0 -0
  23. package/library/theme/index.mjs.gz +0 -0
  24. package/library/types/components/VcModal/VcModal.vue.d.ts +1 -1
  25. package/library/types/components/VcNotification/VcNotification.vue.d.ts +1 -1
  26. package/library/types/components/VcRadioTabs/UiComponents/VcRadioTabsNav.vue.d.ts +3 -3
  27. package/library/types/components/VcSoundplayer/VcSoundPlayer.vue.d.ts +43 -3
  28. package/library/types/components/VcSoundplayer/VcSoundPlayerMarker.vue.d.ts +95 -0
  29. package/library/types/components/VcSoundplayer/VcSoundPlayerMarkers.vue.d.ts +52 -0
  30. package/library/types/components/VcSoundplayer/VcSoundPlayerProgress.vue.d.ts +10 -2
  31. package/library/types/components/VcSoundplayer/VcSoundPlayerWrapper.vue.d.ts +2 -0
  32. package/library/types/components/VcSoundplayer/soundPlayerParts.d.ts +3 -1
  33. package/library/types/components/exports.d.ts +5 -1
  34. package/library/types/components.gen.d.ts +2 -0
  35. package/library/types/types/VcSoundPlayer.types.d.ts +36 -1
  36. package/library/utils/jsonSchema/index.mjs.gz +0 -0
  37. package/package.json +185 -185
  38. package/tailwind.config.js +192 -192
@@ -0,0 +1,52 @@
1
+ import type { VcSoundPlayerMarkerItem } from '../../types/VcSoundPlayer.types';
2
+ interface IMarkersProps {
3
+ /** Array of marker descriptors to render on top of the waveform. */
4
+ markers: VcSoundPlayerMarkerItem[];
5
+ /** Whether clicking a marker seeks the player. Forwarded to each VcSoundPlayerMarker. */
6
+ seekOnClick?: boolean;
7
+ }
8
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<IMarkersProps>, {
9
+ seekOnClick: boolean;
10
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ click: (marker: VcSoundPlayerMarkerItem, index: number, time: number, event: MouseEvent | KeyboardEvent) => void;
12
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<IMarkersProps>, {
13
+ seekOnClick: boolean;
14
+ }>>> & Readonly<{
15
+ onClick?: ((marker: VcSoundPlayerMarkerItem, index: number, time: number, event: MouseEvent | KeyboardEvent) => any) | undefined;
16
+ }>, {
17
+ seekOnClick: boolean;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
19
+ marker?(_: {
20
+ marker: VcSoundPlayerMarkerItem;
21
+ index: number;
22
+ time: number;
23
+ position: number;
24
+ isPast: boolean;
25
+ label: string;
26
+ disabled: boolean;
27
+ icon: import("../..").TIcon;
28
+ }): any;
29
+ }>;
30
+ export default _default;
31
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
32
+ type __VLS_TypePropsToRuntimeProps<T> = {
33
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
34
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
35
+ } : {
36
+ type: import('vue').PropType<T[K]>;
37
+ required: true;
38
+ };
39
+ };
40
+ type __VLS_WithDefaults<P, D> = {
41
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
42
+ default: D[K];
43
+ }> : P[K];
44
+ };
45
+ type __VLS_Prettify<T> = {
46
+ [K in keyof T]: T[K];
47
+ } & {};
48
+ type __VLS_WithTemplateSlots<T, S> = T & {
49
+ new (): {
50
+ $slots: S;
51
+ };
52
+ };
@@ -1,8 +1,11 @@
1
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
2
  showByInit?: boolean | undefined;
3
3
  }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
4
  showByInit?: boolean | undefined;
5
- }>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
5
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
6
+ markers?(_: {}): any;
7
+ default?(_: {}): any;
8
+ }>;
6
9
  export default _default;
7
10
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
8
11
  type __VLS_TypePropsToRuntimeProps<T> = {
@@ -13,3 +16,8 @@ type __VLS_TypePropsToRuntimeProps<T> = {
13
16
  required: true;
14
17
  };
15
18
  };
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -23,6 +23,7 @@ declare function skipForward(seconds?: number): void;
23
23
  declare function setVolume(val: number): void;
24
24
  declare function initSound(): void;
25
25
  declare function setTime(time: number): void;
26
+ declare function seekTo(time: number): void;
26
27
  declare function setTimeAndPlay(time: number): void;
27
28
  declare function resetInitSound(): void;
28
29
  declare function setPlaybackRate(rate: number): void;
@@ -91,6 +92,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
91
92
  skipBackward: typeof skipBackward;
92
93
  skipForward: typeof skipForward;
93
94
  setTime: typeof setTime;
95
+ seekTo: typeof seekTo;
94
96
  getCurrentTime: () => number;
95
97
  getDurationTime: () => number;
96
98
  setDurationTime: typeof setDurationTime;
@@ -5,7 +5,9 @@ import VcPlayerSkipButtons from './VcPlayerSkipButtons.vue';
5
5
  import VcSoundCurrentTime from './VcSoundCurrentTime.vue';
6
6
  import VcSoundDuration from './VcSoundDuration.vue';
7
7
  import VcSoundPlayerError from './VcSoundPlayerError.vue';
8
+ import VcSoundPlayerMarker from './VcSoundPlayerMarker.vue';
9
+ import VcSoundPlayerMarkers from './VcSoundPlayerMarkers.vue';
8
10
  import VcSoundPlayerProgress from './VcSoundPlayerProgress.vue';
9
11
  import VcSoundPlayerWrapper from './VcSoundPlayerWrapper.vue';
10
12
  import VcSoundVolume from './VcSoundVolume.vue';
11
- export { VcPlayerPlaybackRate, VcPlayerPlaybackRatePopup, VcPlayerPlayStopButton, VcPlayerSkipButtons, VcSoundCurrentTime, VcSoundDuration, VcSoundPlayerError, VcSoundPlayerProgress, VcSoundPlayerWrapper, VcSoundVolume };
13
+ export { VcPlayerPlaybackRate, VcPlayerPlaybackRatePopup, VcPlayerPlayStopButton, VcPlayerSkipButtons, VcSoundCurrentTime, VcSoundDuration, VcSoundPlayerError, VcSoundPlayerMarker, VcSoundPlayerMarkers, VcSoundPlayerProgress, VcSoundPlayerWrapper, VcSoundVolume };
@@ -82,6 +82,8 @@ import VcPlayerSkipButtons from './VcSoundplayer/VcPlayerSkipButtons.vue';
82
82
  import VcSoundCurrentTime from './VcSoundplayer/VcSoundCurrentTime.vue';
83
83
  import VcSoundDuration from './VcSoundplayer/VcSoundDuration.vue';
84
84
  import VcSoundPlayerError from './VcSoundplayer/VcSoundPlayerError.vue';
85
+ import VcSoundPlayerMarker from './VcSoundplayer/VcSoundPlayerMarker.vue';
86
+ import VcSoundPlayerMarkers from './VcSoundplayer/VcSoundPlayerMarkers.vue';
85
87
  import VcSoundPlayerProgress from './VcSoundplayer/VcSoundPlayerProgress.vue';
86
88
  import VcSoundPlayerWrapper from './VcSoundplayer/VcSoundPlayerWrapper.vue';
87
89
  import VcSoundVolume from './VcSoundplayer/VcSoundVolume.vue';
@@ -103,7 +105,7 @@ import VcBaseVerticalForm from '../entity/components/Form/VcBaseVerticalForm.vue
103
105
  import VcEntityVerticalCreateForm from '../entity/components/Form/VcEntityVerticalCreateForm.vue';
104
106
  import VcEntityVerticalEditForm from '../entity/components/Form/VcEntityVerticalEditForm.vue';
105
107
  import VcEntityEditPageForm from '../entity/components/Form/VcEntityEditPageForm.vue';
106
- export { VcButton, VcButtonIcon, VcToggleButton, VcInput, VcInputNumber, VcInputError, VcInputLabel, VcSelect, VcSelectGrouped, VcSelectOption, VcInfiniteScrollSelect, VcAutocomplete, VcCheckbox, VcCheckboxButton, VcCheckboxButtonGroup, VcCheckboxGroup, VcRadio, VcRadioGroup, VcRadioButtonsGroup, VcSwitch, VcSlider, VcColorPicker, VcDatePicker, VcDatePickerPanel, VcDatetimeRangePicker, VcExtendedDatetimeRangePicker, VcTimeInput, VcPhoneInput, VcTagInput, VcOtpInput, VcFileUploader, VcCard, VcCodeBlock, VcModal, VcConfirmModal, VcPopover, VcConfirmPopover, VcSelectPopover, VcTabs, VcTabNav, VcTabPane, VcVerticalTabs, VcRadioTabs, VcRadioTabsNav, VcCollapse, VcCollapseItem, VcWizard, VcDropdown, VcDropdownItem, VcTable, VcPagination, VcTree, VcTreeSelect, VcTransfer, VcTag, VcDelimitedList, VcSparkline, VcViewSwitcher, VcSegmented, VcLoading, VcProgress, VcProgressCircular, VcSkeletonLoader, VcNotification, VcPluginOverlays, VcForm, VcFormItem, VcSplitButton, VcHyperLink, VcIcon, VcIconPicker, VcMeterGroup, VcMeterGroupLabel, VcMdEditor, VcSystemUserPrompt, VcSoundPlayer, VcJsonSchema, VcPlayerPlaybackRate, VcPlayerPlaybackRatePopup, VcPlayerPlayStopButton, VcPlayerSkipButtons, VcSoundCurrentTime, VcSoundDuration, VcSoundPlayerError, VcSoundPlayerProgress, VcSoundPlayerWrapper, VcSoundVolume, VcHtmlEditor, VcPdfDocument, VcExcelFileUploader, VcImageUploader, VcTour, VcSipFlow, VcEntityAddButton, VcEntityCancelButton, VcEntityDeleteIconButton, VcEntityEditIconButton, VcEntityRestoreButton, VcEntityStatusButton, VcEntityEditableTabs, VcEntityListTable, VcBaseVerticalForm, VcEntityVerticalCreateForm, VcEntityVerticalEditForm, VcEntityEditPageForm, };
108
+ export { VcButton, VcButtonIcon, VcToggleButton, VcInput, VcInputNumber, VcInputError, VcInputLabel, VcSelect, VcSelectGrouped, VcSelectOption, VcInfiniteScrollSelect, VcAutocomplete, VcCheckbox, VcCheckboxButton, VcCheckboxButtonGroup, VcCheckboxGroup, VcRadio, VcRadioGroup, VcRadioButtonsGroup, VcSwitch, VcSlider, VcColorPicker, VcDatePicker, VcDatePickerPanel, VcDatetimeRangePicker, VcExtendedDatetimeRangePicker, VcTimeInput, VcPhoneInput, VcTagInput, VcOtpInput, VcFileUploader, VcCard, VcCodeBlock, VcModal, VcConfirmModal, VcPopover, VcConfirmPopover, VcSelectPopover, VcTabs, VcTabNav, VcTabPane, VcVerticalTabs, VcRadioTabs, VcRadioTabsNav, VcCollapse, VcCollapseItem, VcWizard, VcDropdown, VcDropdownItem, VcTable, VcPagination, VcTree, VcTreeSelect, VcTransfer, VcTag, VcDelimitedList, VcSparkline, VcViewSwitcher, VcSegmented, VcLoading, VcProgress, VcProgressCircular, VcSkeletonLoader, VcNotification, VcPluginOverlays, VcForm, VcFormItem, VcSplitButton, VcHyperLink, VcIcon, VcIconPicker, VcMeterGroup, VcMeterGroupLabel, VcMdEditor, VcSystemUserPrompt, VcSoundPlayer, VcJsonSchema, VcPlayerPlaybackRate, VcPlayerPlaybackRatePopup, VcPlayerPlayStopButton, VcPlayerSkipButtons, VcSoundCurrentTime, VcSoundDuration, VcSoundPlayerError, VcSoundPlayerMarker, VcSoundPlayerMarkers, VcSoundPlayerProgress, VcSoundPlayerWrapper, VcSoundVolume, VcHtmlEditor, VcPdfDocument, VcExcelFileUploader, VcImageUploader, VcTour, VcSipFlow, VcEntityAddButton, VcEntityCancelButton, VcEntityDeleteIconButton, VcEntityEditIconButton, VcEntityRestoreButton, VcEntityStatusButton, VcEntityEditableTabs, VcEntityListTable, VcBaseVerticalForm, VcEntityVerticalCreateForm, VcEntityVerticalEditForm, VcEntityEditPageForm, };
107
109
  declare module '@vue/runtime-core' {
108
110
  interface GlobalComponents {
109
111
  VcButton: typeof VcButton;
@@ -190,6 +192,8 @@ declare module '@vue/runtime-core' {
190
192
  VcSoundCurrentTime: typeof VcSoundCurrentTime;
191
193
  VcSoundDuration: typeof VcSoundDuration;
192
194
  VcSoundPlayerError: typeof VcSoundPlayerError;
195
+ VcSoundPlayerMarker: typeof VcSoundPlayerMarker;
196
+ VcSoundPlayerMarkers: typeof VcSoundPlayerMarkers;
193
197
  VcSoundPlayerProgress: typeof VcSoundPlayerProgress;
194
198
  VcSoundPlayerWrapper: typeof VcSoundPlayerWrapper;
195
199
  VcSoundVolume: typeof VcSoundVolume;
@@ -82,6 +82,8 @@ export { default as VcPlayerSkipButtons } from './components/VcSoundplayer/VcPla
82
82
  export { default as VcSoundCurrentTime } from './components/VcSoundplayer/VcSoundCurrentTime.vue';
83
83
  export { default as VcSoundDuration } from './components/VcSoundplayer/VcSoundDuration.vue';
84
84
  export { default as VcSoundPlayerError } from './components/VcSoundplayer/VcSoundPlayerError.vue';
85
+ export { default as VcSoundPlayerMarker } from './components/VcSoundplayer/VcSoundPlayerMarker.vue';
86
+ export { default as VcSoundPlayerMarkers } from './components/VcSoundplayer/VcSoundPlayerMarkers.vue';
85
87
  export { default as VcSoundPlayerProgress } from './components/VcSoundplayer/VcSoundPlayerProgress.vue';
86
88
  export { default as VcSoundPlayerWrapper } from './components/VcSoundplayer/VcSoundPlayerWrapper.vue';
87
89
  export { default as VcSoundVolume } from './components/VcSoundplayer/VcSoundVolume.vue';
@@ -1,7 +1,9 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { WaveSurferOptions } from 'wavesurfer.js';
3
+ import type { TIcon } from './icons.types';
3
4
  export declare type VcSoundPlayerSize = 'sm' | 'md';
4
5
  export declare type VcSoundDownloads = Array<string>;
6
+ export declare type VcSoundPlayerMarkerPlacement = 'top' | 'center' | 'bottom';
5
7
  export declare type VcSoundPlayerProvideType = {
6
8
  componentId: string;
7
9
  options?: Ref<WaveSurferOptions>;
@@ -17,13 +19,46 @@ export declare type VcSoundPlayerProvideType = {
17
19
  defaultVolume?: () => number;
18
20
  isPlayingInProgress?: Ref<boolean>;
19
21
  initWavesurfer?: (id: string, el?: HTMLElement) => void;
20
- play?: () => void;
22
+ play?: (time?: number) => void;
21
23
  pause?: () => void;
22
24
  stop?: () => void;
23
25
  skipBackward?: (seconds?: number) => void;
24
26
  skipForward?: (seconds?: number) => void;
25
27
  setPlaybackRate?: (speed: number) => void;
28
+ seekTo?: (time: number) => void;
26
29
  };
30
+ /**
31
+ * Descriptor for a clickable point rendered on top of the waveform.
32
+ *
33
+ * `time` is the position of the marker in seconds. Everything else is
34
+ * presentation metadata that consumers can pass through to their own
35
+ * slot renderer.
36
+ */
37
+ export interface VcSoundPlayerMarkerItem {
38
+ id?: string | number;
39
+ time: number;
40
+ label?: string;
41
+ color?: string;
42
+ disabled?: boolean;
43
+ ariaLabel?: string;
44
+ /** Hide the vertical line for a dot/icon-only marker. */
45
+ showStem?: boolean;
46
+ /** Icon rendered instead of the default dot. */
47
+ icon?: TIcon;
48
+ /** Extra classes applied to the rendered icon (e.g. sizing). */
49
+ iconClass?: string;
50
+ /** Vertical anchor of the dot/icon relative to the wave. */
51
+ placement?: VcSoundPlayerMarkerPlacement;
52
+ data?: unknown;
53
+ }
54
+ export interface VcSoundPlayerMarkerSlotProps {
55
+ time: number;
56
+ position: number;
57
+ isPast: boolean;
58
+ label: string;
59
+ disabled: boolean;
60
+ icon?: TIcon;
61
+ }
27
62
  export type HoverPluginOptions = {
28
63
  lineColor?: string;
29
64
  lineWidth?: string | number;
package/package.json CHANGED
@@ -1,185 +1,185 @@
1
- {
2
- "name": "@voicenter-team/voicenter-ui-plus",
3
- "version": "3.3.3",
4
- "scripts": {
5
- "dev": "vite",
6
- "build": "vite build",
7
- "analyze": "cross-env ANALYZE=true vite build",
8
- "build:documentation": "npm run build && cross-env TARGET=doc vite build",
9
- "ts-check": "vue-tsc --noEmit -p tsconfig.prod.json",
10
- "ts-check-all": "vue-tsc --noEmit",
11
- "generate-icon-list": "node ./script/generate/generateIconList.js",
12
- "generate:entries": "node ./script/generate-entries.mjs",
13
- "verify:entries": "node ./script/verify-entries.mjs",
14
- "preview": "vite preview",
15
- "test": "vitest",
16
- "test:ui": "vitest --ui",
17
- "test:coverage": "vitest run --coverage",
18
- "test:coverage:watch": "vitest --coverage",
19
- "test:coverage:ui": "vitest --coverage --ui",
20
- "upload-icons": "node ./script/icons-publish/index.js",
21
- "scan-for-remote": "npm run build && node ./script/scan-for-remote-sources.js",
22
- "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts --fix --ignore-path .gitignore",
23
- "mcp:install": "cd mcp-server && npm install",
24
- "mcp:generate": "cd mcp-server && npm run generate:all",
25
- "mcp:dev": "cd mcp-server && npm run dev",
26
- "mcp:build": "cd mcp-server && npm run build",
27
- "mcp:start": "cd mcp-server && npm start",
28
- "release": "npm ci && npm run build && npm publish",
29
- "prepare": "husky"
30
- },
31
- "lint-staged": {
32
- "*.{vue,js,jsx,cjs,mjs,ts}": "eslint --fix"
33
- },
34
- "main": "./library/index.mjs",
35
- "module": "./library/index.mjs",
36
- "types": "./library/types/index.d.ts",
37
- "sideEffects": [
38
- "**/*.css",
39
- "./library/plugin.mjs"
40
- ],
41
- "typesVersions": {
42
- "*": {
43
- "plugin": [
44
- "./library/types/plugin.d.ts"
45
- ],
46
- "services": [
47
- "./library/types/services/index.d.ts"
48
- ],
49
- "theme": [
50
- "./library/types/theme/index.d.ts"
51
- ],
52
- "font": [
53
- "./library/types/font/index.d.ts"
54
- ]
55
- }
56
- },
57
- "exports": {
58
- ".": {
59
- "types": "./library/types/index.d.ts",
60
- "import": "./library/index.mjs",
61
- "default": "./library/index.mjs"
62
- },
63
- "./plugin": {
64
- "types": "./library/types/plugin.d.ts",
65
- "import": "./library/plugin.mjs",
66
- "default": "./library/plugin.mjs"
67
- },
68
- "./services": {
69
- "types": "./library/types/services/index.d.ts",
70
- "import": "./library/services/index.mjs",
71
- "default": "./library/services/index.mjs"
72
- },
73
- "./theme": {
74
- "types": "./library/types/theme/index.d.ts",
75
- "import": "./library/theme/index.mjs",
76
- "default": "./library/theme/index.mjs"
77
- },
78
- "./font": {
79
- "types": "./library/types/font/index.d.ts",
80
- "import": "./library/font/index.mjs",
81
- "default": "./library/font/index.mjs"
82
- },
83
- "./style.css": "./library/style.css",
84
- "./base.css": "./library/assets/assets/sass/main.css",
85
- "./src/theme/*": "./src/theme/*",
86
- "./src/theme/tailwindScheme": "./src/theme/tailwindScheme.js",
87
- "./src/theme/themes.json": "./src/theme/themes.json",
88
- "./tailwind.config": "./tailwind.config.js",
89
- "./library/types/*": "./library/types/*.d.ts"
90
- },
91
- "files": [
92
- "library",
93
- "src/theme",
94
- "tailwind.config.js",
95
- "tailwind.config.d.ts"
96
- ],
97
- "engines": {
98
- "node": ">= 20"
99
- },
100
- "peerDependencies": {
101
- "@codemirror/lang-html": "^6.0.0",
102
- "@codemirror/lang-json": "^6.0.1",
103
- "@codemirror/lang-markdown": "^6.0.0",
104
- "@lucide/vue": "^1.16.0",
105
- "@milkdown/crepe": "^7.15.5",
106
- "@milkdown/kit": "^7.15.5",
107
- "@milkdown/utils": "^7.15.5",
108
- "@milkdown/vue": "^7.15.5",
109
- "@prosemirror-adapter/vue": "^0.4.1",
110
- "@vueuse/core": ">=10.7.2",
111
- "codemirror": "^6.0.1",
112
- "dayjs": "^1.11.19",
113
- "element-plus": "^2.11.3",
114
- "highlight.js": "^11.6.0",
115
- "libphonenumber-js": "^1.10.13",
116
- "lodash-es": "^4.17.21",
117
- "maska": "^3.2.0",
118
- "pdfjs-dist": "^2.9.359",
119
- "vue": "^3.5.13",
120
- "vue-advanced-cropper": "^2.8.3",
121
- "vue-codemirror6": "^1.3.12",
122
- "wavesurfer.js": "^7.7.15",
123
- "xlsx": "^0.18.5"
124
- },
125
- "devDependencies": {
126
- "@codemirror/lang-json": "^6.0.1",
127
- "@fullhuman/postcss-purgecss": "^7.0.2",
128
- "@highlightjs/vue-plugin": "^2.1.0",
129
- "@lucide/vue": "^1.16.0",
130
- "@milkdown/crepe": "7.15.5",
131
- "@milkdown/kit": "7.15.5",
132
- "@milkdown/utils": "7.15.5",
133
- "@milkdown/vue": "7.15.5",
134
- "@prosemirror-adapter/vue": "^0.4.1",
135
- "@types/json-schema": "^7.0.15",
136
- "@types/lodash-es": "^4.17.12",
137
- "@types/node": "^18.7.6",
138
- "@types/wavesurfer.js": "^6.0.3",
139
- "@types/webfontloader": "^1.6.38",
140
- "@vitejs/plugin-vue": "5.2.4",
141
- "@vitest/coverage-v8": "3.2.7",
142
- "@vitest/ui": "3.2.7",
143
- "@voicenter-team/aws-uploader": "^1.0.10",
144
- "@voicenter-team/eslint-config-vue": "^1.0.21",
145
- "@vue/server-renderer": "^3.5.13",
146
- "@vue/test-utils": "^2.4.6",
147
- "@vueuse/core": "10.7.2",
148
- "autoprefixer": "10.4.17",
149
- "axios": "^1.6.0",
150
- "chalk": "4.1.2",
151
- "codemirror": "^6.0.1",
152
- "cross-env": "^7.0.3",
153
- "dotenv": "^16.4.7",
154
- "eslint": "^8.57.1",
155
- "eslint-plugin-standard": "^5.0.0",
156
- "eslint-plugin-vue": "9.21.1",
157
- "highlight.js": "^11.6.0",
158
- "husky": "^9.1.7",
159
- "jsdom": "^26.1.0",
160
- "lint-staged": "^17.3.0",
161
- "pdfjs-dist": "2.9.359",
162
- "postcss": "8.5.24",
163
- "readline-sync": "^1.4.10",
164
- "sass": "1.93.3",
165
- "tailwindcss": "^3.1.8",
166
- "terser": "^5.44.0",
167
- "typescript": "5.3.3",
168
- "unplugin-element-plus": "^0.4.1",
169
- "vite": "^5.4.6",
170
- "vite-bundle-analyzer": "^0.15.2",
171
- "vite-plugin-compression": "^0.5.1",
172
- "vite-plugin-dts": "3.7.2",
173
- "vite-plugin-inspect": "0.8.9",
174
- "vite-plugin-lib-inject-css": "^2.2.2",
175
- "vite-plugin-static-copy": "0.17.1",
176
- "vitest": "^3.2.4",
177
- "vue-advanced-cropper": "^2.8.3",
178
- "vue-codemirror6": "^1.3.12",
179
- "vue-component-type-helpers": "^1.8.27",
180
- "vue-router": "4.2.5",
181
- "vue-tsc": "1.8.27",
182
- "wavesurfer.js": "^7.7.15",
183
- "xlsx": "0.18.5"
184
- }
185
- }
1
+ {
2
+ "name": "@voicenter-team/voicenter-ui-plus",
3
+ "version": "3.3.4",
4
+ "scripts": {
5
+ "dev": "vite",
6
+ "build": "vite build",
7
+ "analyze": "cross-env ANALYZE=true vite build",
8
+ "build:documentation": "npm run build && cross-env TARGET=doc vite build",
9
+ "ts-check": "vue-tsc --noEmit -p tsconfig.prod.json",
10
+ "ts-check-all": "vue-tsc --noEmit",
11
+ "generate-icon-list": "node ./script/generate/generateIconList.js",
12
+ "generate:entries": "node ./script/generate-entries.mjs",
13
+ "verify:entries": "node ./script/verify-entries.mjs",
14
+ "preview": "vite preview",
15
+ "test": "vitest",
16
+ "test:ui": "vitest --ui",
17
+ "test:coverage": "vitest run --coverage",
18
+ "test:coverage:watch": "vitest --coverage",
19
+ "test:coverage:ui": "vitest --coverage --ui",
20
+ "upload-icons": "node ./script/icons-publish/index.js",
21
+ "scan-for-remote": "npm run build && node ./script/scan-for-remote-sources.js",
22
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts --fix --ignore-path .gitignore",
23
+ "mcp:install": "cd mcp-server && npm install",
24
+ "mcp:generate": "cd mcp-server && npm run generate:all",
25
+ "mcp:dev": "cd mcp-server && npm run dev",
26
+ "mcp:build": "cd mcp-server && npm run build",
27
+ "mcp:start": "cd mcp-server && npm start",
28
+ "release": "npm ci && npm run build && npm publish",
29
+ "prepare": "husky"
30
+ },
31
+ "lint-staged": {
32
+ "*.{vue,js,jsx,cjs,mjs,ts}": "eslint --fix"
33
+ },
34
+ "main": "./library/index.mjs",
35
+ "module": "./library/index.mjs",
36
+ "types": "./library/types/index.d.ts",
37
+ "sideEffects": [
38
+ "**/*.css",
39
+ "./library/plugin.mjs"
40
+ ],
41
+ "typesVersions": {
42
+ "*": {
43
+ "plugin": [
44
+ "./library/types/plugin.d.ts"
45
+ ],
46
+ "services": [
47
+ "./library/types/services/index.d.ts"
48
+ ],
49
+ "theme": [
50
+ "./library/types/theme/index.d.ts"
51
+ ],
52
+ "font": [
53
+ "./library/types/font/index.d.ts"
54
+ ]
55
+ }
56
+ },
57
+ "exports": {
58
+ ".": {
59
+ "types": "./library/types/index.d.ts",
60
+ "import": "./library/index.mjs",
61
+ "default": "./library/index.mjs"
62
+ },
63
+ "./plugin": {
64
+ "types": "./library/types/plugin.d.ts",
65
+ "import": "./library/plugin.mjs",
66
+ "default": "./library/plugin.mjs"
67
+ },
68
+ "./services": {
69
+ "types": "./library/types/services/index.d.ts",
70
+ "import": "./library/services/index.mjs",
71
+ "default": "./library/services/index.mjs"
72
+ },
73
+ "./theme": {
74
+ "types": "./library/types/theme/index.d.ts",
75
+ "import": "./library/theme/index.mjs",
76
+ "default": "./library/theme/index.mjs"
77
+ },
78
+ "./font": {
79
+ "types": "./library/types/font/index.d.ts",
80
+ "import": "./library/font/index.mjs",
81
+ "default": "./library/font/index.mjs"
82
+ },
83
+ "./style.css": "./library/style.css",
84
+ "./base.css": "./library/assets/assets/sass/main.css",
85
+ "./src/theme/*": "./src/theme/*",
86
+ "./src/theme/tailwindScheme": "./src/theme/tailwindScheme.js",
87
+ "./src/theme/themes.json": "./src/theme/themes.json",
88
+ "./tailwind.config": "./tailwind.config.js",
89
+ "./library/types/*": "./library/types/*.d.ts"
90
+ },
91
+ "files": [
92
+ "library",
93
+ "src/theme",
94
+ "tailwind.config.js",
95
+ "tailwind.config.d.ts"
96
+ ],
97
+ "engines": {
98
+ "node": ">= 20"
99
+ },
100
+ "peerDependencies": {
101
+ "@codemirror/lang-html": "^6.0.0",
102
+ "@codemirror/lang-json": "^6.0.1",
103
+ "@codemirror/lang-markdown": "^6.0.0",
104
+ "@lucide/vue": "^1.16.0",
105
+ "@milkdown/crepe": "^7.15.5",
106
+ "@milkdown/kit": "^7.15.5",
107
+ "@milkdown/utils": "^7.15.5",
108
+ "@milkdown/vue": "^7.15.5",
109
+ "@prosemirror-adapter/vue": "^0.4.1",
110
+ "@vueuse/core": ">=10.7.2",
111
+ "codemirror": "^6.0.1",
112
+ "dayjs": "^1.11.19",
113
+ "element-plus": "^2.11.3",
114
+ "highlight.js": "^11.6.0",
115
+ "libphonenumber-js": "^1.10.13",
116
+ "lodash-es": "^4.17.21",
117
+ "maska": "^3.2.0",
118
+ "pdfjs-dist": "^2.9.359",
119
+ "vue": "^3.5.13",
120
+ "vue-advanced-cropper": "^2.8.3",
121
+ "vue-codemirror6": "^1.3.12",
122
+ "wavesurfer.js": "^7.7.15",
123
+ "xlsx": "^0.18.5"
124
+ },
125
+ "devDependencies": {
126
+ "@codemirror/lang-json": "^6.0.1",
127
+ "@fullhuman/postcss-purgecss": "^7.0.2",
128
+ "@highlightjs/vue-plugin": "^2.1.0",
129
+ "@lucide/vue": "^1.16.0",
130
+ "@milkdown/crepe": "7.15.5",
131
+ "@milkdown/kit": "7.15.5",
132
+ "@milkdown/utils": "7.15.5",
133
+ "@milkdown/vue": "7.15.5",
134
+ "@prosemirror-adapter/vue": "^0.4.1",
135
+ "@types/json-schema": "^7.0.15",
136
+ "@types/lodash-es": "^4.17.12",
137
+ "@types/node": "^18.7.6",
138
+ "@types/wavesurfer.js": "^6.0.3",
139
+ "@types/webfontloader": "^1.6.38",
140
+ "@vitejs/plugin-vue": "5.2.4",
141
+ "@vitest/coverage-v8": "3.2.7",
142
+ "@vitest/ui": "3.2.7",
143
+ "@voicenter-team/aws-uploader": "^1.0.10",
144
+ "@voicenter-team/eslint-config-vue": "^1.0.21",
145
+ "@vue/server-renderer": "^3.5.13",
146
+ "@vue/test-utils": "^2.4.6",
147
+ "@vueuse/core": "10.7.2",
148
+ "autoprefixer": "10.4.17",
149
+ "axios": "^1.6.0",
150
+ "chalk": "4.1.2",
151
+ "codemirror": "^6.0.1",
152
+ "cross-env": "^7.0.3",
153
+ "dotenv": "^16.4.7",
154
+ "eslint": "^8.57.1",
155
+ "eslint-plugin-standard": "^5.0.0",
156
+ "eslint-plugin-vue": "9.21.1",
157
+ "highlight.js": "^11.6.0",
158
+ "husky": "^9.1.7",
159
+ "jsdom": "^26.1.0",
160
+ "lint-staged": "^17.3.0",
161
+ "pdfjs-dist": "2.9.359",
162
+ "postcss": "8.5.24",
163
+ "readline-sync": "^1.4.10",
164
+ "sass": "1.93.3",
165
+ "tailwindcss": "^3.1.8",
166
+ "terser": "^5.44.0",
167
+ "typescript": "5.3.3",
168
+ "unplugin-element-plus": "^0.4.1",
169
+ "vite": "^5.4.6",
170
+ "vite-bundle-analyzer": "^0.15.2",
171
+ "vite-plugin-compression": "^0.5.1",
172
+ "vite-plugin-dts": "3.7.2",
173
+ "vite-plugin-inspect": "0.8.9",
174
+ "vite-plugin-lib-inject-css": "^2.2.2",
175
+ "vite-plugin-static-copy": "0.17.1",
176
+ "vitest": "^3.2.4",
177
+ "vue-advanced-cropper": "^2.8.3",
178
+ "vue-codemirror6": "^1.3.12",
179
+ "vue-component-type-helpers": "^1.8.27",
180
+ "vue-router": "4.2.5",
181
+ "vue-tsc": "1.8.27",
182
+ "wavesurfer.js": "^7.7.15",
183
+ "xlsx": "0.18.5"
184
+ }
185
+ }