@semi-kit/component 1.4.10 → 1.4.12

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.
@@ -1,2 +1,2 @@
1
- import { t as _default } from "../index-C-Oqap1P.js";
1
+ import { t as _default } from "../index-D5VhkB_N.js";
2
2
  export { _default as default };
@@ -1,3 +1,3 @@
1
- import { t as app_provider_default } from "../app-provider-BNtVdZn9.js";
1
+ import { t as app_provider_default } from "../app-provider-chfjw9Ns.js";
2
2
 
3
3
  export { app_provider_default as default };
@@ -4,7 +4,8 @@ import { defineComponent, provide, toRef } from "vue";
4
4
  const appProviderProps = {
5
5
  locale: String,
6
6
  formRuleConfig: Object,
7
- theme: Object
7
+ theme: Object,
8
+ tab: Object
8
9
  };
9
10
 
10
11
  //#endregion
@@ -16,7 +17,8 @@ var app_provider_default = /* @__PURE__ */ defineComponent({
16
17
  provide("app-provider", {
17
18
  locale: toRef(props, "locale"),
18
19
  formRuleConfig: toRef(props, "formRuleConfig"),
19
- theme: toRef(props, "theme")
20
+ theme: toRef(props, "theme"),
21
+ tab: toRef(props, "tab")
20
22
  });
21
23
  return () => {
22
24
  return slots.default?.();
@@ -0,0 +1,41 @@
1
+ import * as vue11 from "vue";
2
+ import { Ref } from "vue";
3
+
4
+ //#region src/app-provider/type.d.ts
5
+ interface AppProviderFormRuleConfig {
6
+ stringLength?: number;
7
+ numberLength?: number;
8
+ numberSize?: number;
9
+ decimalPlace?: number;
10
+ }
11
+ interface AppProviderTheme {
12
+ primaryColor?: string;
13
+ secondaryColor?: string;
14
+ radius?: number;
15
+ }
16
+ interface AppProviderTab {
17
+ sortable?: boolean;
18
+ }
19
+ interface AppProviderContext {
20
+ locale?: Ref<string | undefined>;
21
+ formRuleConfig?: Ref<AppProviderFormRuleConfig>;
22
+ theme?: Ref<AppProviderTheme | undefined>;
23
+ tab?: Ref<AppProviderTab | undefined>;
24
+ }
25
+ //#endregion
26
+ //#region src/app-provider/index.d.ts
27
+ declare const _default: vue11.DefineComponent<vue11.ExtractPropTypes<{
28
+ readonly locale: StringConstructor;
29
+ readonly formRuleConfig: vue11.PropType<AppProviderFormRuleConfig>;
30
+ readonly theme: vue11.PropType<AppProviderTheme>;
31
+ readonly tab: vue11.PropType<AppProviderTab>;
32
+ }>, () => vue11.VNode<vue11.RendererNode, vue11.RendererElement, {
33
+ [key: string]: any;
34
+ }>[] | undefined, {}, {}, {}, vue11.ComponentOptionsMixin, vue11.ComponentOptionsMixin, {}, string, vue11.PublicProps, Readonly<vue11.ExtractPropTypes<{
35
+ readonly locale: StringConstructor;
36
+ readonly formRuleConfig: vue11.PropType<AppProviderFormRuleConfig>;
37
+ readonly theme: vue11.PropType<AppProviderTheme>;
38
+ readonly tab: vue11.PropType<AppProviderTab>;
39
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, vue11.ComponentProvideOptions, true, {}, any>;
40
+ //#endregion
41
+ export { AppProviderContext as n, AppProviderFormRuleConfig as r, _default as t };
package/lib/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { n as AppProviderContext, r as AppProviderFormRuleConfig, t as _default } from "./index-C-Oqap1P.js";
2
- import { t as _default$3 } from "./index-D_b-QxXC.js";
3
- import { t as _default$2 } from "./index-Dn5-VvYJ.js";
4
- import { t as _default$1 } from "./index-CXNKqOza.js";
5
- import { t as SemiComponentResolver } from "./resolver-BVvgCCAW.js";
6
- import { i as TabView } from "./index-B7r2qmH2.js";
1
+ import { n as AppProviderContext, r as AppProviderFormRuleConfig, t as _default } from "./index-D5VhkB_N.js";
2
+ import _default$3 from "./wrapper/scroll-wrapper/index.js";
3
+ import _default$2 from "./wrapper/flex-row-wrapper/index.js";
4
+ import _default$1 from "./wrapper/flex-col-wrapper/index.js";
5
+ import { SemiComponentResolver } from "./resolver.js";
6
+ import TabView from "./tab-view/index.js";
7
7
 
8
8
  //#region src/_utils/get-provider.d.ts
9
9
  declare function getAppProvider(): AppProviderContext;
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { n as getAppProvider, t as tab_view_default } from "./tab-view-BXYSwLG9.js";
1
+ import { n as getAppProvider, t as tab_view_default } from "./tab-view-CaI2kmjx.js";
2
2
  import "./cssr-D9_M6jAV.js";
3
3
  import { t as scroll_wrapper_default } from "./scroll-wrapper-DVAnbCLj.js";
4
4
  import { t as flex_row_wrapper_default } from "./flex-row-wrapper-70R3tK7w.js";
5
5
  import { t as flex_col_wrapper_default } from "./flex-col-wrapper-BYnCXcY5.js";
6
- import { t as app_provider_default } from "./app-provider-BNtVdZn9.js";
7
- import { t as SemiComponentResolver } from "./resolver-DP3BDWck.js";
6
+ import { t as app_provider_default } from "./app-provider-chfjw9Ns.js";
7
+ import { SemiComponentResolver } from "./resolver.js";
8
8
 
9
9
  export { app_provider_default as AppProvider, flex_col_wrapper_default as FlexColWrapper, flex_row_wrapper_default as FlexRowWrapper, scroll_wrapper_default as ScrollWrapper, SemiComponentResolver, tab_view_default as TabView, getAppProvider };
package/lib/resolver.d.ts CHANGED
@@ -1,2 +1,10 @@
1
- import { t as SemiComponentResolver } from "./resolver-BVvgCCAW.js";
1
+ //#region src/resolver.d.ts
2
+ declare const SemiComponentResolver: () => {
3
+ type: "component";
4
+ resolve: (name: string) => {
5
+ name: string;
6
+ from: string;
7
+ } | undefined;
8
+ };
9
+ //#endregion
2
10
  export { SemiComponentResolver };
package/lib/resolver.js CHANGED
@@ -1,3 +1,19 @@
1
- import { t as SemiComponentResolver } from "./resolver-DP3BDWck.js";
1
+ //#region src/resolver.ts
2
+ const SemiComponentResolver = () => {
3
+ return {
4
+ type: "component",
5
+ resolve: (name) => {
6
+ if ([
7
+ "ScrollWrapper",
8
+ "FlexRowWrapper",
9
+ "FlexColWrapper"
10
+ ].includes(name)) return {
11
+ name,
12
+ from: "@semi-kit/component"
13
+ };
14
+ }
15
+ };
16
+ };
2
17
 
18
+ //#endregion
3
19
  export { SemiComponentResolver };
@@ -1,2 +1,44 @@
1
- import { i as TabView, n as SlotType, r as TabActionType, t as PropsType } from "../index-B7r2qmH2.js";
1
+ import * as vue9 from "vue";
2
+ import { VNode } from "vue";
3
+
4
+ //#region src/tab-view/index.d.ts
5
+ type TabActionType = 'closeTab' | 'closeOtherTabs' | 'closeLeftTabs' | 'closeRightTabs';
6
+ interface PropsType<T> {
7
+ rowKey: (item: T) => string | number;
8
+ activeTab: (item: T) => boolean;
9
+ tabs: T[];
10
+ type?: 'chrome' | 'tab' | 'tag';
11
+ onClickItem?: (item: T) => void;
12
+ onMouseUpItem?: (e: MouseEvent, item: T, index: number) => void;
13
+ onDropdownSelect?: (key: TabActionType, index: number) => void;
14
+ onContextMenuItem?: (e: MouseEvent, item: T, index: number) => void;
15
+ onSortEnd?: (newIndex: number, oldIndex: number) => void;
16
+ }
17
+ interface SlotType<T> {
18
+ default?: (props: {
19
+ item: T;
20
+ index: number;
21
+ }) => VNode;
22
+ extra?: () => VNode;
23
+ }
24
+ declare const TabView: vue9.DefineSetupFnComponent<{
25
+ tabs: any;
26
+ rowKey: any;
27
+ activeTab: any;
28
+ type: any;
29
+ onClickItem: any;
30
+ onMouseUpItem: any;
31
+ onContextMenuItem: any;
32
+ onSortEnd: any;
33
+ }, {}, {}, {
34
+ tabs: any;
35
+ rowKey: any;
36
+ activeTab: any;
37
+ type: any;
38
+ onClickItem: any;
39
+ onMouseUpItem: any;
40
+ onContextMenuItem: any;
41
+ onSortEnd: any;
42
+ } & {}, vue9.PublicProps>;
43
+ //#endregion
2
44
  export { PropsType, SlotType, TabActionType, TabView as default };
@@ -1,4 +1,4 @@
1
- import { t as tab_view_default } from "../tab-view-BXYSwLG9.js";
1
+ import { t as tab_view_default } from "../tab-view-CaI2kmjx.js";
2
2
  import "../cssr-D9_M6jAV.js";
3
3
 
4
4
  export { tab_view_default as default };
@@ -1,8 +1,9 @@
1
1
  import { a as useStyle, i as cM, n as cB, r as cE, t as c } from "./cssr-D9_M6jAV.js";
2
- import { computed, createVNode, defineComponent, getCurrentInstance, inject, isVNode, nextTick, onMounted, ref } from "vue";
2
+ import { computed, createVNode, defineComponent, getCurrentInstance, inject, isVNode, nextTick, onMounted, onUnmounted, ref, watch } from "vue";
3
3
  import { NTag } from "naive-ui";
4
4
  import { useRouter } from "vue-router";
5
5
  import { useEventListener } from "@vueuse/core";
6
+ import { useSortable } from "@semi-kit/hooks/sortable";
6
7
 
7
8
  //#region src/_utils/get-provider.ts
8
9
  let cachedProvider = null;
@@ -20,10 +21,7 @@ function getAppProvider() {
20
21
 
21
22
  //#endregion
22
23
  //#region src/tab-view/styles/index.ts
23
- var styles_default = c([c("@keyframes fade", {
24
- "0%": { opacity: 0 },
25
- "100%": { opacity: 1 }
26
- }), cB("tab-view", {
24
+ var styles_default = c([cB("tab-view", {
27
25
  display: "flex",
28
26
  gap: "4px",
29
27
  height: "42px",
@@ -47,8 +45,7 @@ var styles_default = c([c("@keyframes fade", {
47
45
  alignItems: "center",
48
46
  margin: "0 4px",
49
47
  padding: "0 8px",
50
- position: "relative",
51
- transition: "all 200ms"
48
+ position: "relative"
52
49
  }),
53
50
  cM("chrome", [cE("tab-item", [c("&:hover:not(.sk-tab-view__tab-item--active)::before", {
54
51
  content: "\"\"",
@@ -86,7 +83,6 @@ var styles_default = c([c("@keyframes fade", {
86
83
  padding: "0 4px",
87
84
  marginRight: "10px",
88
85
  transition: "border var(--duration) ease",
89
- animation: "fade var(--duration) ease",
90
86
  boxSizing: "border-box",
91
87
  borderBottom: "2px solid transparent",
92
88
  "&:hover": {
@@ -106,7 +102,8 @@ var styles_default = c([c("@keyframes fade", {
106
102
  }), c("&:hover .n-tag", {
107
103
  color: "var(--sk-tab-primary-color)",
108
104
  backgroundColor: "var(--sk-tab-secondary-color)"
109
- }, [c("button", { color: "var(--sk-tab-primary-color)" })])])])
105
+ }, [c("button", { color: "var(--sk-tab-primary-color)" })])])]),
106
+ c(".sk-tab-view-ghost", { opacity: .4 }, [c("*", { opacity: 0 })])
110
107
  ])]);
111
108
 
112
109
  //#endregion
@@ -135,7 +132,23 @@ const TabView = /* @__PURE__ */ defineComponent((props, { slots }) => {
135
132
  });
136
133
  });
137
134
  };
138
- onMounted(syncScroll);
135
+ watch(() => provider.tab?.value?.sortable, (v) => {
136
+ console.log(v, 222);
137
+ const instance = getInstance();
138
+ if (instance) instance.option("disabled", !v);
139
+ });
140
+ const { initSortable, destroy, getInstance } = useSortable(".sk-tab-view__tabs-wrapper", {
141
+ ghostClass: "sk-tab-view-ghost",
142
+ onEnd({ newIndex, oldIndex }) {
143
+ if (newIndex === void 0 || oldIndex === void 0 || newIndex === oldIndex) return;
144
+ props.onSortEnd?.(newIndex, oldIndex);
145
+ }
146
+ });
147
+ onMounted(() => {
148
+ nextTick(initSortable);
149
+ syncScroll();
150
+ });
151
+ onUnmounted(destroy);
139
152
  router.afterEach(syncScroll);
140
153
  useEventListener(scrollContainer, "wheel", (e) => {
141
154
  if (e.deltaY === 0) return;
@@ -191,7 +204,8 @@ const TabView = /* @__PURE__ */ defineComponent((props, { slots }) => {
191
204
  "type",
192
205
  "onClickItem",
193
206
  "onMouseUpItem",
194
- "onContextMenuItem"
207
+ "onContextMenuItem",
208
+ "onSortEnd"
195
209
  ] });
196
210
  var tab_view_default = TabView;
197
211
 
@@ -1,2 +1,7 @@
1
- import { t as _default } from "../../index-CXNKqOza.js";
1
+ import * as vue27 from "vue";
2
+ import * as vue_jsx_runtime1 from "vue/jsx-runtime";
3
+
4
+ //#region src/wrapper/flex-col-wrapper/index.d.ts
5
+ declare const _default: vue27.DefineComponent<{}, () => vue_jsx_runtime1.JSX.Element, {}, {}, {}, vue27.ComponentOptionsMixin, vue27.ComponentOptionsMixin, {}, string, vue27.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue27.ComponentProvideOptions, true, {}, any>;
6
+ //#endregion
2
7
  export { _default as default };
@@ -1,2 +1,7 @@
1
- import { t as _default } from "../../index-Dn5-VvYJ.js";
1
+ import * as vue4 from "vue";
2
+ import * as vue_jsx_runtime0 from "vue/jsx-runtime";
3
+
4
+ //#region src/wrapper/flex-row-wrapper/index.d.ts
5
+ declare const _default: vue4.DefineComponent<{}, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue4.ComponentOptionsMixin, vue4.ComponentOptionsMixin, {}, string, vue4.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue4.ComponentProvideOptions, true, {}, any>;
6
+ //#endregion
2
7
  export { _default as default };
@@ -1,2 +1,7 @@
1
- import { t as _default } from "../../index-D_b-QxXC.js";
1
+ import * as vue0 from "vue";
2
+ import * as vue_jsx_runtime0 from "vue/jsx-runtime";
3
+
4
+ //#region src/wrapper/scroll-wrapper/index.d.ts
5
+ declare const _default: vue0.DefineComponent<{}, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue0.ComponentOptionsMixin, vue0.ComponentOptionsMixin, {}, string, vue0.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue0.ComponentProvideOptions, true, {}, any>;
6
+ //#endregion
2
7
  export { _default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semi-kit/component",
3
- "version": "1.4.10",
3
+ "version": "1.4.12",
4
4
  "description": "Semi-Kit Component Library",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -61,7 +61,9 @@
61
61
  "vite": "catalog:",
62
62
  "vue": "catalog:",
63
63
  "vue-router": "catalog:",
64
- "vue-tsc": "catalog:"
64
+ "vue-tsc": "catalog:",
65
+ "sortablejs": "catalog:",
66
+ "@types/sortablejs": "catalog:"
65
67
  },
66
68
  "peerDependencies": {
67
69
  "@css-render/plugin-bem": "*",
@@ -73,6 +75,8 @@
73
75
  "less": "*",
74
76
  "naive-ui": "*",
75
77
  "vue": "*",
76
- "vue-router": "*"
78
+ "vue-router": "*",
79
+ "sortablejs": "*",
80
+ "@types/sortablejs": "*"
77
81
  }
78
82
  }
@@ -1,41 +0,0 @@
1
- import * as vue14 from "vue";
2
- import { VNode } from "vue";
3
-
4
- //#region src/tab-view/index.d.ts
5
- type TabActionType = 'closeTab' | 'closeOtherTabs' | 'closeLeftTabs' | 'closeRightTabs';
6
- interface PropsType<T> {
7
- rowKey: (item: T) => string | number;
8
- activeTab: (item: T) => boolean;
9
- tabs: T[];
10
- type?: 'chrome' | 'tab' | 'tag';
11
- onClickItem?: (item: T) => void;
12
- onMouseUpItem?: (e: MouseEvent, item: T, index: number) => void;
13
- onDropdownSelect?: (key: TabActionType, index: number) => void;
14
- onContextMenuItem?: (e: MouseEvent, item: T, index: number) => void;
15
- }
16
- interface SlotType<T> {
17
- default?: (props: {
18
- item: T;
19
- index: number;
20
- }) => VNode;
21
- extra?: () => VNode;
22
- }
23
- declare const TabView: vue14.DefineSetupFnComponent<{
24
- tabs: any;
25
- rowKey: any;
26
- activeTab: any;
27
- type: any;
28
- onClickItem: any;
29
- onMouseUpItem: any;
30
- onContextMenuItem: any;
31
- }, {}, {}, {
32
- tabs: any;
33
- rowKey: any;
34
- activeTab: any;
35
- type: any;
36
- onClickItem: any;
37
- onMouseUpItem: any;
38
- onContextMenuItem: any;
39
- } & {}, vue14.PublicProps>;
40
- //#endregion
41
- export { TabView as i, SlotType as n, TabActionType as r, PropsType as t };
@@ -1,35 +0,0 @@
1
- import * as vue16 from "vue";
2
- import { Ref } from "vue";
3
-
4
- //#region src/app-provider/type.d.ts
5
- interface AppProviderFormRuleConfig {
6
- stringLength?: number;
7
- numberLength?: number;
8
- numberSize?: number;
9
- decimalPlace?: number;
10
- }
11
- interface AppProviderTheme {
12
- primaryColor?: string;
13
- secondaryColor?: string;
14
- radius?: number;
15
- }
16
- interface AppProviderContext {
17
- locale?: Ref<string | undefined>;
18
- formRuleConfig?: Ref<AppProviderFormRuleConfig>;
19
- theme?: Ref<AppProviderTheme | undefined>;
20
- }
21
- //#endregion
22
- //#region src/app-provider/index.d.ts
23
- declare const _default: vue16.DefineComponent<vue16.ExtractPropTypes<{
24
- readonly locale: StringConstructor;
25
- readonly formRuleConfig: vue16.PropType<AppProviderFormRuleConfig>;
26
- readonly theme: vue16.PropType<AppProviderTheme>;
27
- }>, () => vue16.VNode<vue16.RendererNode, vue16.RendererElement, {
28
- [key: string]: any;
29
- }>[] | undefined, {}, {}, {}, vue16.ComponentOptionsMixin, vue16.ComponentOptionsMixin, {}, string, vue16.PublicProps, Readonly<vue16.ExtractPropTypes<{
30
- readonly locale: StringConstructor;
31
- readonly formRuleConfig: vue16.PropType<AppProviderFormRuleConfig>;
32
- readonly theme: vue16.PropType<AppProviderTheme>;
33
- }>> & Readonly<{}>, {}, {}, {}, {}, string, vue16.ComponentProvideOptions, true, {}, any>;
34
- //#endregion
35
- export { AppProviderContext as n, AppProviderFormRuleConfig as r, _default as t };
@@ -1,7 +0,0 @@
1
- import * as vue0 from "vue";
2
- import * as vue_jsx_runtime0 from "vue/jsx-runtime";
3
-
4
- //#region src/wrapper/flex-col-wrapper/index.d.ts
5
- declare const _default: vue0.DefineComponent<{}, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue0.ComponentOptionsMixin, vue0.ComponentOptionsMixin, {}, string, vue0.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue0.ComponentProvideOptions, true, {}, any>;
6
- //#endregion
7
- export { _default as t };
@@ -1,7 +0,0 @@
1
- import * as vue4 from "vue";
2
- import * as vue_jsx_runtime0 from "vue/jsx-runtime";
3
-
4
- //#region src/wrapper/scroll-wrapper/index.d.ts
5
- declare const _default: vue4.DefineComponent<{}, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue4.ComponentOptionsMixin, vue4.ComponentOptionsMixin, {}, string, vue4.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue4.ComponentProvideOptions, true, {}, any>;
6
- //#endregion
7
- export { _default as t };
@@ -1,7 +0,0 @@
1
- import * as vue9 from "vue";
2
- import * as vue_jsx_runtime1 from "vue/jsx-runtime";
3
-
4
- //#region src/wrapper/flex-row-wrapper/index.d.ts
5
- declare const _default: vue9.DefineComponent<{}, () => vue_jsx_runtime1.JSX.Element, {}, {}, {}, vue9.ComponentOptionsMixin, vue9.ComponentOptionsMixin, {}, string, vue9.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue9.ComponentProvideOptions, true, {}, any>;
6
- //#endregion
7
- export { _default as t };
@@ -1,10 +0,0 @@
1
- //#region src/resolver.d.ts
2
- declare const SemiComponentResolver: () => {
3
- type: "component";
4
- resolve: (name: string) => {
5
- name: string;
6
- from: string;
7
- } | undefined;
8
- };
9
- //#endregion
10
- export { SemiComponentResolver as t };
@@ -1,19 +0,0 @@
1
- //#region src/resolver.ts
2
- const SemiComponentResolver = () => {
3
- return {
4
- type: "component",
5
- resolve: (name) => {
6
- if ([
7
- "ScrollWrapper",
8
- "FlexRowWrapper",
9
- "FlexColWrapper"
10
- ].includes(name)) return {
11
- name,
12
- from: "@semi-kit/component"
13
- };
14
- }
15
- };
16
- };
17
-
18
- //#endregion
19
- export { SemiComponentResolver as t };