@vite-plugin-opencode-assistant/components 1.0.78 → 1.0.80

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 (36) hide show
  1. package/es/index.d.ts +1 -1
  2. package/es/index.mjs +1 -1
  3. package/es/open-code-widget/index.d.ts +1 -0
  4. package/es/open-code-widget/index.mjs +1 -0
  5. package/es/open-code-widget/src/components/ChatPanel.vue.d.ts +12 -11
  6. package/es/open-code-widget/src/components/FloatingBubble/FloatingBubble.vue.d.ts +5 -4
  7. package/es/open-code-widget/src/components/Frame.vue.d.ts +3 -2
  8. package/es/open-code-widget/src/components/Header.vue.d.ts +3 -2
  9. package/es/open-code-widget/src/components/ResizeHandle.vue.d.ts +2 -1
  10. package/es/open-code-widget/src/components/SelectHint.vue.d.ts +2 -1
  11. package/es/open-code-widget/src/components/SelectedBubbles.vue.d.ts +2 -1
  12. package/es/open-code-widget/src/components/SelectedNodes.vue.d.ts +2 -1
  13. package/es/open-code-widget/src/components/SessionList.vue.d.ts +3 -2
  14. package/es/open-code-widget/src/components/SplitTrigger.vue.d.ts +2 -1
  15. package/es/open-code-widget/src/components/Trigger.vue.d.ts +5 -4
  16. package/es/open-code-widget/src/index.vue.d.ts +13 -12
  17. package/lib/@vite-plugin-opencode-assistant/components.cjs.js +16 -8
  18. package/lib/@vite-plugin-opencode-assistant/components.es.js +15 -7
  19. package/lib/index.cjs +1 -1
  20. package/lib/index.d.ts +1 -1
  21. package/lib/open-code-widget/index.cjs +1 -0
  22. package/lib/open-code-widget/index.d.ts +1 -0
  23. package/lib/open-code-widget/src/components/ChatPanel.vue.d.ts +12 -11
  24. package/lib/open-code-widget/src/components/FloatingBubble/FloatingBubble.vue.d.ts +5 -4
  25. package/lib/open-code-widget/src/components/Frame.vue.d.ts +3 -2
  26. package/lib/open-code-widget/src/components/Header.vue.d.ts +3 -2
  27. package/lib/open-code-widget/src/components/ResizeHandle.vue.d.ts +2 -1
  28. package/lib/open-code-widget/src/components/SelectHint.vue.d.ts +2 -1
  29. package/lib/open-code-widget/src/components/SelectedBubbles.vue.d.ts +2 -1
  30. package/lib/open-code-widget/src/components/SelectedNodes.vue.d.ts +2 -1
  31. package/lib/open-code-widget/src/components/SessionList.vue.d.ts +3 -2
  32. package/lib/open-code-widget/src/components/SplitTrigger.vue.d.ts +2 -1
  33. package/lib/open-code-widget/src/components/Trigger.vue.d.ts +5 -4
  34. package/lib/open-code-widget/src/index.vue.d.ts +13 -12
  35. package/lib/web-types.json +1 -1
  36. package/package.json +3 -3
package/es/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import OpenCodeWidget from './open-code-widget';
2
2
  import type { App } from 'vue';
3
- declare const version = "1.0.78";
3
+ declare const version = "1.0.80";
4
4
  declare function install(app: App<any>, options?: any): void;
5
5
  export { install, version, OpenCodeWidget };
6
6
  export default install;
package/es/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import OpenCodeWidget from "./open-code-widget/index.mjs";
2
- const version = "1.0.78";
2
+ const version = "1.0.80";
3
3
  function install(app, options) {
4
4
  const components = [
5
5
  OpenCodeWidget
@@ -1,3 +1,4 @@
1
1
  import OpenCodeWidget from "./src/index.vue";
2
+ export { OpenCodeWidget };
2
3
  export default OpenCodeWidget;
3
4
  export * from "./src/types";
@@ -2,5 +2,6 @@ import OpenCodeWidget from "./src/index.vue.mjs";
2
2
  var open_code_widget_default = OpenCodeWidget;
3
3
  export * from "./src/types.mjs";
4
4
  export {
5
+ OpenCodeWidget,
5
6
  open_code_widget_default as default
6
7
  };
@@ -21,25 +21,25 @@ type __VLS_Props = {
21
21
  splitPosition?: "left" | "right";
22
22
  extension?: boolean;
23
23
  };
24
- declare var __VLS_13: {}, __VLS_15: {}, __VLS_17: {}, __VLS_22: {}, __VLS_29: {}, __VLS_31: {}, __VLS_33: {}, __VLS_35: {};
24
+ declare var __VLS_17: {}, __VLS_20: {}, __VLS_23: {}, __VLS_32: {}, __VLS_43: {}, __VLS_46: {}, __VLS_49: {}, __VLS_52: {};
25
25
  type __VLS_Slots = {} & {
26
- 'session-toggle-icon'?: (props: typeof __VLS_13) => any;
26
+ 'session-toggle-icon'?: (props: typeof __VLS_17) => any;
27
27
  } & {
28
- 'select-icon'?: (props: typeof __VLS_15) => any;
28
+ 'select-icon'?: (props: typeof __VLS_20) => any;
29
29
  } & {
30
- 'close-icon'?: (props: typeof __VLS_17) => any;
30
+ 'close-icon'?: (props: typeof __VLS_23) => any;
31
31
  } & {
32
- 'sessions-empty'?: (props: typeof __VLS_22) => any;
32
+ 'sessions-empty'?: (props: typeof __VLS_32) => any;
33
33
  } & {
34
- 'empty-state'?: (props: typeof __VLS_29) => any;
34
+ 'empty-state'?: (props: typeof __VLS_43) => any;
35
35
  } & {
36
- loading?: (props: typeof __VLS_31) => any;
36
+ loading?: (props: typeof __VLS_46) => any;
37
37
  } & {
38
- error?: (props: typeof __VLS_33) => any;
38
+ error?: (props: typeof __VLS_49) => any;
39
39
  } & {
40
- content?: (props: typeof __VLS_35) => any;
40
+ content?: (props: typeof __VLS_52) => any;
41
41
  };
42
- declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
42
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
43
43
  sendMessageToIframe: (type: string, data?: Record<string, unknown>) => void;
44
44
  frameRef: import("vue").Ref<({
45
45
  $: import("vue").ComponentInternalInstance;
@@ -175,7 +175,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
175
175
  notificationMessage: string;
176
176
  notificationMode: "widget" | "page";
177
177
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
178
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
178
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
179
+ declare const _default: typeof __VLS_export;
179
180
  export default _default;
180
181
  type __VLS_WithSlots<T, S> = T & {
181
182
  new (): {
@@ -6,11 +6,11 @@ type __VLS_Props = {
6
6
  gap?: number | FloatingBubbleGap;
7
7
  teleport?: string | Element;
8
8
  };
9
- declare var __VLS_5: {};
9
+ declare var __VLS_7: {};
10
10
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_5) => any;
11
+ default?: (props: typeof __VLS_7) => any;
12
12
  };
13
- declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
13
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
14
14
  offset: import("vue").ComputedRef<{
15
15
  x: number;
16
16
  y: number;
@@ -34,7 +34,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
34
34
  gap: number | FloatingBubbleGap;
35
35
  teleport: string | Element;
36
36
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
37
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
+ declare const _default: typeof __VLS_export;
38
39
  export default _default;
39
40
  type __VLS_WithSlots<T, S> = T & {
40
41
  new (): {
@@ -9,10 +9,11 @@ type __VLS_Slots = {} & {
9
9
  } & {
10
10
  content?: (props: typeof __VLS_7) => any;
11
11
  };
12
- declare const __VLS_component: import("vue").DefineComponent<{}, {
12
+ declare const __VLS_base: import("vue").DefineComponent<{}, {
13
13
  sendMessageToIframe: typeof sendMessageToIframe;
14
14
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
16
17
  export default _default;
17
18
  type __VLS_WithSlots<T, S> = T & {
18
19
  new (): {
@@ -16,8 +16,9 @@ type __VLS_Slots = {} & {
16
16
  } & {
17
17
  'close-icon'?: (props: typeof __VLS_15) => any;
18
18
  };
19
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
+ declare const _default: typeof __VLS_export;
21
22
  export default _default;
22
23
  type __VLS_WithSlots<T, S> = T & {
23
24
  new (): {
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  maxWidth?: number;
5
5
  position?: "left" | "right";
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  resize: (width: number) => any;
9
9
  "resize-start": () => any;
10
10
  "resize-end": () => any;
@@ -18,4 +18,5 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
18
18
  maxWidth: number;
19
19
  position: "left" | "right";
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
21
22
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -2,8 +2,9 @@ declare var __VLS_1: {};
2
2
  type __VLS_Slots = {} & {
3
3
  empty?: (props: typeof __VLS_1) => any;
4
4
  };
5
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
7
8
  export default _default;
8
9
  type __VLS_WithSlots<T, S> = T & {
9
10
  new (): {
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  resolvedTheme?: "light" | "dark";
5
5
  panelWidth?: number;
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  toggle: () => any;
9
9
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
10
  onToggle?: (() => any) | undefined;
@@ -14,4 +14,5 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
14
14
  open: boolean;
15
15
  panelWidth: number;
16
16
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
17
18
  export default _default;
@@ -1,9 +1,9 @@
1
1
  import type { FloatingBubbleOffset } from "./FloatingBubble/types";
2
- declare var __VLS_13: {};
2
+ declare var __VLS_14: {};
3
3
  type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_13) => any;
4
+ default?: (props: typeof __VLS_14) => any;
5
5
  };
6
- declare const __VLS_component: import("vue").DefineComponent<{}, {
6
+ declare const __VLS_base: import("vue").DefineComponent<{}, {
7
7
  offset: import("vue").Ref<{
8
8
  x: number;
9
9
  y: number;
@@ -18,7 +18,8 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
18
18
  "onDrag-start"?: (() => any) | undefined;
19
19
  "onDrag-end"?: (() => any) | undefined;
20
20
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
22
23
  export default _default;
23
24
  type __VLS_WithSlots<T, S> = T & {
24
25
  new (): {
@@ -1,25 +1,25 @@
1
1
  import type { OpenCodeWidgetProps } from "./types";
2
- declare var __VLS_11: {}, __VLS_25: {}, __VLS_27: {}, __VLS_29: {}, __VLS_31: {}, __VLS_33: {}, __VLS_35: {}, __VLS_37: {}, __VLS_39: {};
2
+ declare var __VLS_13: {}, __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_38: {}, __VLS_41: {}, __VLS_44: {}, __VLS_47: {}, __VLS_50: {};
3
3
  type __VLS_Slots = {} & {
4
- 'button-icon'?: (props: typeof __VLS_11) => any;
4
+ 'button-icon'?: (props: typeof __VLS_13) => any;
5
5
  } & {
6
- 'session-toggle-icon'?: (props: typeof __VLS_25) => any;
6
+ 'session-toggle-icon'?: (props: typeof __VLS_29) => any;
7
7
  } & {
8
- 'select-icon'?: (props: typeof __VLS_27) => any;
8
+ 'select-icon'?: (props: typeof __VLS_32) => any;
9
9
  } & {
10
- 'close-icon'?: (props: typeof __VLS_29) => any;
10
+ 'close-icon'?: (props: typeof __VLS_35) => any;
11
11
  } & {
12
- 'sessions-empty'?: (props: typeof __VLS_31) => any;
12
+ 'sessions-empty'?: (props: typeof __VLS_38) => any;
13
13
  } & {
14
- 'empty-state'?: (props: typeof __VLS_33) => any;
14
+ 'empty-state'?: (props: typeof __VLS_41) => any;
15
15
  } & {
16
- loading?: (props: typeof __VLS_35) => any;
16
+ loading?: (props: typeof __VLS_44) => any;
17
17
  } & {
18
- error?: (props: typeof __VLS_37) => any;
18
+ error?: (props: typeof __VLS_47) => any;
19
19
  } & {
20
- content?: (props: typeof __VLS_39) => any;
20
+ content?: (props: typeof __VLS_50) => any;
21
21
  };
22
- declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps, {
22
+ declare const __VLS_base: import("vue").DefineComponent<OpenCodeWidgetProps, {
23
23
  showNotification: (message: string, options?: {
24
24
  duration?: number;
25
25
  mode?: "widget" | "page";
@@ -58,7 +58,8 @@ declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps
58
58
  splitMode: import("@vite-plugin-opencode-assistant/shared").SplitModeOptions;
59
59
  hideBubble: boolean;
60
60
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
61
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
61
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
62
+ declare const _default: typeof __VLS_export;
62
63
  export default _default;
63
64
  type __VLS_WithSlots<T, S> = T & {
64
65
  new (): {
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  let vue = require("vue");
28
28
  let _vite_plugin_opencode_assistant_shared = require("@vite-plugin-opencode-assistant/shared");
29
29
  let css_selector_generator = require("css-selector-generator");
30
- css_selector_generator = __toESM(css_selector_generator);
30
+ css_selector_generator = __toESM(css_selector_generator, 1);
31
31
  //#region es/open-code-widget/src/context.mjs
32
32
  var CONTEXT_KEY = /* @__PURE__ */ Symbol("OpenCodeWidgetContext");
33
33
  function provideOpenCodeWidgetContext(context) {
@@ -804,7 +804,8 @@ var __vue_sfc__$5 = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps$3(__s
804
804
  let deltaX;
805
805
  if (props.position === "right") deltaX = startX.value - e.clientX;
806
806
  else deltaX = e.clientX - startX.value;
807
- emit("resize", Math.max(props.minWidth, Math.min(props.maxWidth, startWidth.value + deltaX)));
807
+ const newWidth = Math.max(props.minWidth, Math.min(props.maxWidth, startWidth.value + deltaX));
808
+ emit("resize", newWidth);
808
809
  };
809
810
  const handleMouseUp = () => {
810
811
  isResizing.value = false;
@@ -1413,10 +1414,11 @@ var __vue_sfc__$2 = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps$1(__s
1413
1414
  if (nextY > boundary.value.bottom) nextY = boundary.value.bottom;
1414
1415
  state.value.y = nextY;
1415
1416
  }
1416
- emit("update:offset", {
1417
+ const offset = {
1417
1418
  x: state.value.x,
1418
1419
  y: state.value.y
1419
- });
1420
+ };
1421
+ emit("update:offset", offset);
1420
1422
  }
1421
1423
  };
1422
1424
  const onTouchEnd = (e) => {
@@ -1427,7 +1429,11 @@ var __vue_sfc__$2 = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps$1(__s
1427
1429
  window.removeEventListener("mouseup", onTouchEnd);
1428
1430
  }
1429
1431
  requestAnimationFrame(() => {
1430
- if (props.magnetic === "x" && !touch.isTap.value) magneticSide.value = state.value.x + state.value.width / 2 < windowWidth.value / 2 ? "left" : "right";
1432
+ if (props.magnetic === "x" && !touch.isTap.value) {
1433
+ const centerX = state.value.x + state.value.width / 2;
1434
+ const windowCenterX = windowWidth.value / 2;
1435
+ magneticSide.value = centerX < windowCenterX ? "left" : "right";
1436
+ }
1431
1437
  applyMagnetic();
1432
1438
  if (!touch.isTap.value) {
1433
1439
  emit("drag-end");
@@ -2118,9 +2124,10 @@ function useInspector(options) {
2118
2124
  lineInfo = `:${fileInfo.line}`;
2119
2125
  if (fileInfo.column) lineInfo += `:${fileInfo.column}`;
2120
2126
  }
2127
+ const fileInfoText = fileName ? `${fileName}${lineInfo}` : "";
2121
2128
  tooltipContent.value = {
2122
2129
  description,
2123
- fileInfo: fileName ? `${fileName}${lineInfo}` : ""
2130
+ fileInfo: fileInfoText
2124
2131
  };
2125
2132
  const rect = elementToHighlight.getBoundingClientRect();
2126
2133
  const newTop = `${rect.top}px`;
@@ -2747,7 +2754,8 @@ var __vue_sfc__ = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps(__sprea
2747
2754
  "split",
2748
2755
  "auto"
2749
2756
  ];
2750
- localDisplayMode.value = modes[(modes.indexOf(localDisplayMode.value) + 1) % modes.length];
2757
+ const nextIndex = (modes.indexOf(localDisplayMode.value) + 1) % modes.length;
2758
+ localDisplayMode.value = modes[nextIndex];
2751
2759
  };
2752
2760
  const { buttonActive, containerClasses, iframeSource, sessionListTitle, resolvedTheme, handleClose, handleEmptyAction, handleToggle, handleToggleSessionList, handleToggleTheme } = useWidget({
2753
2761
  theme: (0, vue.toRef)(props, "theme"),
@@ -3321,7 +3329,7 @@ __vue_sfc__.render = __vue_render__;
3321
3329
  var open_code_widget_default = __vue_sfc__;
3322
3330
  //#endregion
3323
3331
  //#region es/index.mjs
3324
- var version = "1.0.78";
3332
+ var version = "1.0.80";
3325
3333
  function install(app, options) {
3326
3334
  [open_code_widget_default].forEach((item) => {
3327
3335
  if (item.install) app.use(item, options);
@@ -777,7 +777,8 @@ var __vue_sfc__$5 = /* @__PURE__ */ defineComponent(__spreadProps$3(__spreadValu
777
777
  let deltaX;
778
778
  if (props.position === "right") deltaX = startX.value - e.clientX;
779
779
  else deltaX = e.clientX - startX.value;
780
- emit("resize", Math.max(props.minWidth, Math.min(props.maxWidth, startWidth.value + deltaX)));
780
+ const newWidth = Math.max(props.minWidth, Math.min(props.maxWidth, startWidth.value + deltaX));
781
+ emit("resize", newWidth);
781
782
  };
782
783
  const handleMouseUp = () => {
783
784
  isResizing.value = false;
@@ -1386,10 +1387,11 @@ var __vue_sfc__$2 = /* @__PURE__ */ defineComponent(__spreadProps$1(__spreadValu
1386
1387
  if (nextY > boundary.value.bottom) nextY = boundary.value.bottom;
1387
1388
  state.value.y = nextY;
1388
1389
  }
1389
- emit("update:offset", {
1390
+ const offset = {
1390
1391
  x: state.value.x,
1391
1392
  y: state.value.y
1392
- });
1393
+ };
1394
+ emit("update:offset", offset);
1393
1395
  }
1394
1396
  };
1395
1397
  const onTouchEnd = (e) => {
@@ -1400,7 +1402,11 @@ var __vue_sfc__$2 = /* @__PURE__ */ defineComponent(__spreadProps$1(__spreadValu
1400
1402
  window.removeEventListener("mouseup", onTouchEnd);
1401
1403
  }
1402
1404
  requestAnimationFrame(() => {
1403
- if (props.magnetic === "x" && !touch.isTap.value) magneticSide.value = state.value.x + state.value.width / 2 < windowWidth.value / 2 ? "left" : "right";
1405
+ if (props.magnetic === "x" && !touch.isTap.value) {
1406
+ const centerX = state.value.x + state.value.width / 2;
1407
+ const windowCenterX = windowWidth.value / 2;
1408
+ magneticSide.value = centerX < windowCenterX ? "left" : "right";
1409
+ }
1404
1410
  applyMagnetic();
1405
1411
  if (!touch.isTap.value) {
1406
1412
  emit("drag-end");
@@ -2091,9 +2097,10 @@ function useInspector(options) {
2091
2097
  lineInfo = `:${fileInfo.line}`;
2092
2098
  if (fileInfo.column) lineInfo += `:${fileInfo.column}`;
2093
2099
  }
2100
+ const fileInfoText = fileName ? `${fileName}${lineInfo}` : "";
2094
2101
  tooltipContent.value = {
2095
2102
  description,
2096
- fileInfo: fileName ? `${fileName}${lineInfo}` : ""
2103
+ fileInfo: fileInfoText
2097
2104
  };
2098
2105
  const rect = elementToHighlight.getBoundingClientRect();
2099
2106
  const newTop = `${rect.top}px`;
@@ -2720,7 +2727,8 @@ var __vue_sfc__ = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
2720
2727
  "split",
2721
2728
  "auto"
2722
2729
  ];
2723
- localDisplayMode.value = modes[(modes.indexOf(localDisplayMode.value) + 1) % modes.length];
2730
+ const nextIndex = (modes.indexOf(localDisplayMode.value) + 1) % modes.length;
2731
+ localDisplayMode.value = modes[nextIndex];
2724
2732
  };
2725
2733
  const { buttonActive, containerClasses, iframeSource, sessionListTitle, resolvedTheme, handleClose, handleEmptyAction, handleToggle, handleToggleSessionList, handleToggleTheme } = useWidget({
2726
2734
  theme: toRef(props, "theme"),
@@ -3294,7 +3302,7 @@ __vue_sfc__.render = __vue_render__;
3294
3302
  var open_code_widget_default = __vue_sfc__;
3295
3303
  //#endregion
3296
3304
  //#region es/index.mjs
3297
- var version = "1.0.78";
3305
+ var version = "1.0.80";
3298
3306
  function install(app, options) {
3299
3307
  [open_code_widget_default].forEach((item) => {
3300
3308
  if (item.install) app.use(item, options);
package/lib/index.cjs CHANGED
@@ -34,7 +34,7 @@ __export(lib_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(lib_exports);
36
36
  var import_open_code_widget = __toESM(require("./open-code-widget/index.cjs"));
37
- const version = "1.0.78";
37
+ const version = "1.0.80";
38
38
  function install(app, options) {
39
39
  const components = [
40
40
  import_open_code_widget.default
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import OpenCodeWidget from './open-code-widget';
2
2
  import type { App } from 'vue';
3
- declare const version = "1.0.78";
3
+ declare const version = "1.0.80";
4
4
  declare function install(app: App<any>, options?: any): void;
5
5
  export { install, version, OpenCodeWidget };
6
6
  export default install;
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var open_code_widget_exports = {};
30
30
  __export(open_code_widget_exports, {
31
+ OpenCodeWidget: () => import_index_vue.default,
31
32
  default: () => open_code_widget_default
32
33
  });
33
34
  module.exports = __toCommonJS(open_code_widget_exports);
@@ -1,3 +1,4 @@
1
1
  import OpenCodeWidget from "./src/index.vue";
2
+ export { OpenCodeWidget };
2
3
  export default OpenCodeWidget;
3
4
  export * from "./src/types";
@@ -21,25 +21,25 @@ type __VLS_Props = {
21
21
  splitPosition?: "left" | "right";
22
22
  extension?: boolean;
23
23
  };
24
- declare var __VLS_13: {}, __VLS_15: {}, __VLS_17: {}, __VLS_22: {}, __VLS_29: {}, __VLS_31: {}, __VLS_33: {}, __VLS_35: {};
24
+ declare var __VLS_17: {}, __VLS_20: {}, __VLS_23: {}, __VLS_32: {}, __VLS_43: {}, __VLS_46: {}, __VLS_49: {}, __VLS_52: {};
25
25
  type __VLS_Slots = {} & {
26
- 'session-toggle-icon'?: (props: typeof __VLS_13) => any;
26
+ 'session-toggle-icon'?: (props: typeof __VLS_17) => any;
27
27
  } & {
28
- 'select-icon'?: (props: typeof __VLS_15) => any;
28
+ 'select-icon'?: (props: typeof __VLS_20) => any;
29
29
  } & {
30
- 'close-icon'?: (props: typeof __VLS_17) => any;
30
+ 'close-icon'?: (props: typeof __VLS_23) => any;
31
31
  } & {
32
- 'sessions-empty'?: (props: typeof __VLS_22) => any;
32
+ 'sessions-empty'?: (props: typeof __VLS_32) => any;
33
33
  } & {
34
- 'empty-state'?: (props: typeof __VLS_29) => any;
34
+ 'empty-state'?: (props: typeof __VLS_43) => any;
35
35
  } & {
36
- loading?: (props: typeof __VLS_31) => any;
36
+ loading?: (props: typeof __VLS_46) => any;
37
37
  } & {
38
- error?: (props: typeof __VLS_33) => any;
38
+ error?: (props: typeof __VLS_49) => any;
39
39
  } & {
40
- content?: (props: typeof __VLS_35) => any;
40
+ content?: (props: typeof __VLS_52) => any;
41
41
  };
42
- declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
42
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
43
43
  sendMessageToIframe: (type: string, data?: Record<string, unknown>) => void;
44
44
  frameRef: import("vue").Ref<({
45
45
  $: import("vue").ComponentInternalInstance;
@@ -175,7 +175,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
175
175
  notificationMessage: string;
176
176
  notificationMode: "widget" | "page";
177
177
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
178
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
178
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
179
+ declare const _default: typeof __VLS_export;
179
180
  export default _default;
180
181
  type __VLS_WithSlots<T, S> = T & {
181
182
  new (): {
@@ -6,11 +6,11 @@ type __VLS_Props = {
6
6
  gap?: number | FloatingBubbleGap;
7
7
  teleport?: string | Element;
8
8
  };
9
- declare var __VLS_5: {};
9
+ declare var __VLS_7: {};
10
10
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_5) => any;
11
+ default?: (props: typeof __VLS_7) => any;
12
12
  };
13
- declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
13
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
14
14
  offset: import("vue").ComputedRef<{
15
15
  x: number;
16
16
  y: number;
@@ -34,7 +34,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
34
34
  gap: number | FloatingBubbleGap;
35
35
  teleport: string | Element;
36
36
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
37
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
+ declare const _default: typeof __VLS_export;
38
39
  export default _default;
39
40
  type __VLS_WithSlots<T, S> = T & {
40
41
  new (): {
@@ -9,10 +9,11 @@ type __VLS_Slots = {} & {
9
9
  } & {
10
10
  content?: (props: typeof __VLS_7) => any;
11
11
  };
12
- declare const __VLS_component: import("vue").DefineComponent<{}, {
12
+ declare const __VLS_base: import("vue").DefineComponent<{}, {
13
13
  sendMessageToIframe: typeof sendMessageToIframe;
14
14
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
16
17
  export default _default;
17
18
  type __VLS_WithSlots<T, S> = T & {
18
19
  new (): {
@@ -16,8 +16,9 @@ type __VLS_Slots = {} & {
16
16
  } & {
17
17
  'close-icon'?: (props: typeof __VLS_15) => any;
18
18
  };
19
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
+ declare const _default: typeof __VLS_export;
21
22
  export default _default;
22
23
  type __VLS_WithSlots<T, S> = T & {
23
24
  new (): {
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  maxWidth?: number;
5
5
  position?: "left" | "right";
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  resize: (width: number) => any;
9
9
  "resize-start": () => any;
10
10
  "resize-end": () => any;
@@ -18,4 +18,5 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
18
18
  maxWidth: number;
19
19
  position: "left" | "right";
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
21
22
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
2
3
  export default _default;
@@ -2,8 +2,9 @@ declare var __VLS_1: {};
2
2
  type __VLS_Slots = {} & {
3
3
  empty?: (props: typeof __VLS_1) => any;
4
4
  };
5
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
7
8
  export default _default;
8
9
  type __VLS_WithSlots<T, S> = T & {
9
10
  new (): {
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  resolvedTheme?: "light" | "dark";
5
5
  panelWidth?: number;
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  toggle: () => any;
9
9
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
10
  onToggle?: (() => any) | undefined;
@@ -14,4 +14,5 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
14
14
  open: boolean;
15
15
  panelWidth: number;
16
16
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
17
18
  export default _default;
@@ -1,9 +1,9 @@
1
1
  import type { FloatingBubbleOffset } from "./FloatingBubble/types";
2
- declare var __VLS_13: {};
2
+ declare var __VLS_14: {};
3
3
  type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_13) => any;
4
+ default?: (props: typeof __VLS_14) => any;
5
5
  };
6
- declare const __VLS_component: import("vue").DefineComponent<{}, {
6
+ declare const __VLS_base: import("vue").DefineComponent<{}, {
7
7
  offset: import("vue").Ref<{
8
8
  x: number;
9
9
  y: number;
@@ -18,7 +18,8 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
18
18
  "onDrag-start"?: (() => any) | undefined;
19
19
  "onDrag-end"?: (() => any) | undefined;
20
20
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
22
23
  export default _default;
23
24
  type __VLS_WithSlots<T, S> = T & {
24
25
  new (): {
@@ -1,25 +1,25 @@
1
1
  import type { OpenCodeWidgetProps } from "./types";
2
- declare var __VLS_11: {}, __VLS_25: {}, __VLS_27: {}, __VLS_29: {}, __VLS_31: {}, __VLS_33: {}, __VLS_35: {}, __VLS_37: {}, __VLS_39: {};
2
+ declare var __VLS_13: {}, __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_38: {}, __VLS_41: {}, __VLS_44: {}, __VLS_47: {}, __VLS_50: {};
3
3
  type __VLS_Slots = {} & {
4
- 'button-icon'?: (props: typeof __VLS_11) => any;
4
+ 'button-icon'?: (props: typeof __VLS_13) => any;
5
5
  } & {
6
- 'session-toggle-icon'?: (props: typeof __VLS_25) => any;
6
+ 'session-toggle-icon'?: (props: typeof __VLS_29) => any;
7
7
  } & {
8
- 'select-icon'?: (props: typeof __VLS_27) => any;
8
+ 'select-icon'?: (props: typeof __VLS_32) => any;
9
9
  } & {
10
- 'close-icon'?: (props: typeof __VLS_29) => any;
10
+ 'close-icon'?: (props: typeof __VLS_35) => any;
11
11
  } & {
12
- 'sessions-empty'?: (props: typeof __VLS_31) => any;
12
+ 'sessions-empty'?: (props: typeof __VLS_38) => any;
13
13
  } & {
14
- 'empty-state'?: (props: typeof __VLS_33) => any;
14
+ 'empty-state'?: (props: typeof __VLS_41) => any;
15
15
  } & {
16
- loading?: (props: typeof __VLS_35) => any;
16
+ loading?: (props: typeof __VLS_44) => any;
17
17
  } & {
18
- error?: (props: typeof __VLS_37) => any;
18
+ error?: (props: typeof __VLS_47) => any;
19
19
  } & {
20
- content?: (props: typeof __VLS_39) => any;
20
+ content?: (props: typeof __VLS_50) => any;
21
21
  };
22
- declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps, {
22
+ declare const __VLS_base: import("vue").DefineComponent<OpenCodeWidgetProps, {
23
23
  showNotification: (message: string, options?: {
24
24
  duration?: number;
25
25
  mode?: "widget" | "page";
@@ -58,7 +58,8 @@ declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps
58
58
  splitMode: import("@vite-plugin-opencode-assistant/shared").SplitModeOptions;
59
59
  hideBubble: boolean;
60
60
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
61
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
61
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
62
+ declare const _default: typeof __VLS_export;
62
63
  export default _default;
63
64
  type __VLS_WithSlots<T, S> = T & {
64
65
  new (): {
@@ -1 +1 @@
1
- {"$schema":"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json","framework":"vue","name":"@vite-plugin-opencode-assistant/components","version":"1.0.78","contributions":{"html":{"tags":[{"name":"open-code","attributes":[{"name":"","default":"`'bottom-right'`","description":"挂件显示的位置","value":{"type":"`'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'`","kind":"expression"}},{"name":"","default":"`false`","description":"挂件是否打开","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'auto'`","description":"主题模式","value":{"type":"`'light' | 'dark' | 'auto'`","kind":"expression"}},{"name":"","default":"`'AI 助手'`","description":"助手头部显示的标题","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'Ctrl+K'`","description":"快捷键提示文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'按 ESC 或 Ctrl+P 退出'`","description":"选择模式快捷键提示文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`false`","description":"是否进入选择页面元素模式","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`true`","description":"会话列表是否折叠","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'id'`","description":"会话列表项的唯一键字段","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`false`","description":"iframe 是否显示加载状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`undefined`","description":"会话列表是否加载中","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示会话列表骨架屏","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示空状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示错误状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'当前项目暂无会话'`","description":"空状态显示的文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'立即创建'`","description":"空状态操作按钮文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`''`","description":"Web UI 的 URL 来源","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`[]`","description":"会话列表数据","value":{"type":"`OpenCodeWidgetSession[]`","kind":"expression"}},{"name":"","default":"`null`","description":"当前选中的会话 ID","value":{"type":"`string | null`","kind":"expression"}},{"name":"","default":"`[]`","description":"已选中的元素列表","value":{"type":"`OpenCodeSelectedElement[]`","kind":"expression"}},{"name":"","default":"`true`","description":"是否显示\"一键清空\"按钮","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`true`","description":"是否启用选择模式","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示思考状态(加载中)","value":{"type":"`boolean`","kind":"expression"}}],"events":[{"name":"`update:open`","description":"当挂件打开或关闭时触发","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"`update:selectMode`","description":"当选择模式切换时触发","arguments":[{"name":"mode","type":"de"},{"name":"boolean"}]},{"name":"`update:sessionListCollapsed`","description":"当会话列表折叠状态改变时触发","arguments":[{"name":"collapsed","type":"ed"},{"name":"boolean"}]},{"name":"`update:currentSessionId`","description":"当选中的会话 ID 改变时触发","arguments":[{"name":"sessionId","type":"Id"},{"name":"string | null"}]},{"name":"`update:selectedElements`","description":"当已选中的元素列表改变时触发","arguments":[{"name":"elements","type":"ts"},{"name":"OpenCodeSelectedElement[]"}]},{"name":"`update:theme`","description":"当主题模式改变时触发","arguments":[{"name":"theme","type":"me"},{"name":"'light' | 'dark' | 'auto'"}]},{"name":"`update:thinking`","description":"当思考状态改变时触发","arguments":[{"name":"thinking","type":"ng"},{"name":"boolean"}]},{"name":"","description":"点击触发挂件开关","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"","description":"点击关闭按钮时触发","arguments":[]},{"name":"`toggle-session-list`","description":"点击会话列表切换按钮时触发","arguments":[{"name":"collapsed","type":"ed"},{"name":"boolean"}]},{"name":"`toggle-select-mode`","description":"点击选择模式切换按钮时触发","arguments":[{"name":"mode","type":"de"},{"name":"boolean"}]},{"name":"`toggle-theme`","description":"点击主题切换按钮时触发","arguments":[{"name":"theme","type":"me"},{"name":"'light' | 'dark' | 'auto'"}]},{"name":"`create-session`","description":"点击创建新会话时触发","arguments":[]},{"name":"`select-session`","description":"选中某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSession"}]},{"name":"`delete-session`","description":"删除某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSession"}]},{"name":"`click-selected-node`","description":"点击已选中的气泡或节点卡片时触发","arguments":[{"name":"element","type":"nt"},{"name":"OpenCodeSelectedElement"}]},{"name":"`remove-selected-node`","description":"删除已选中的元素时触发","arguments":[{"name":"payload","type":"ad"},{"name":"OpenCodeRemoveSelectedPayload"}]},{"name":"`clear-selected-nodes`","description":"清空所有选中元素时触发","arguments":[]},{"name":"`empty-action`","description":"点击空状态操作按钮时触发","arguments":[]},{"name":"`frame-loaded`","description":"iframe 加载完成时触发","arguments":[]},{"name":"`thinking-change`","description":"思考状态改变时触发(用于显示加载动画)","arguments":[{"name":"thinking","type":"ng"},{"name":"boolean"}]}],"slots":[{"name":"`button-icon`","description":"自定义触发按钮图标"},{"name":"`session-toggle-icon`","description":"自定义会话列表切换图标"},{"name":"`select-icon`","description":"自定义选择模式切换图标"},{"name":"`close-icon`","description":"自定义关闭按钮图标"},{"name":"`theme-icon`","description":"自定义主题切换图标"},{"name":"`sessions-empty`","description":"自定义会话列表空状态"},{"name":"`empty-state`","description":"自定义 iframe 空状态"},{"name":"","description":"自定义 iframe 加载状态"},{"name":"","description":"自定义错误状态"},{"name":"","description":"自定义 iframe 内容"}]}],"attributes":[]}},"js-types-syntax":"typescript"}
1
+ {"$schema":"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json","framework":"vue","name":"@vite-plugin-opencode-assistant/components","version":"1.0.80","contributions":{"html":{"tags":[{"name":"open-code","attributes":[{"name":"","default":"`'bottom-right'`","description":"挂件显示的位置","value":{"type":"`'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'`","kind":"expression"}},{"name":"","default":"`false`","description":"挂件是否打开","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'auto'`","description":"主题模式","value":{"type":"`'light' | 'dark' | 'auto'`","kind":"expression"}},{"name":"","default":"`'AI 助手'`","description":"助手头部显示的标题","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'Ctrl+K'`","description":"快捷键提示文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'按 ESC 或 Ctrl+P 退出'`","description":"选择模式快捷键提示文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`false`","description":"是否进入选择页面元素模式","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`true`","description":"会话列表是否折叠","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'id'`","description":"会话列表项的唯一键字段","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`false`","description":"iframe 是否显示加载状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`undefined`","description":"会话列表是否加载中","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示会话列表骨架屏","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示空状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示错误状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'当前项目暂无会话'`","description":"空状态显示的文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`'立即创建'`","description":"空状态操作按钮文本","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`''`","description":"Web UI 的 URL 来源","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`[]`","description":"会话列表数据","value":{"type":"`OpenCodeWidgetSession[]`","kind":"expression"}},{"name":"","default":"`null`","description":"当前选中的会话 ID","value":{"type":"`string | null`","kind":"expression"}},{"name":"","default":"`[]`","description":"已选中的元素列表","value":{"type":"`OpenCodeSelectedElement[]`","kind":"expression"}},{"name":"","default":"`true`","description":"是否显示\"一键清空\"按钮","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`true`","description":"是否启用选择模式","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示思考状态(加载中)","value":{"type":"`boolean`","kind":"expression"}}],"events":[{"name":"`update:open`","description":"当挂件打开或关闭时触发","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"`update:selectMode`","description":"当选择模式切换时触发","arguments":[{"name":"mode","type":"de"},{"name":"boolean"}]},{"name":"`update:sessionListCollapsed`","description":"当会话列表折叠状态改变时触发","arguments":[{"name":"collapsed","type":"ed"},{"name":"boolean"}]},{"name":"`update:currentSessionId`","description":"当选中的会话 ID 改变时触发","arguments":[{"name":"sessionId","type":"Id"},{"name":"string | null"}]},{"name":"`update:selectedElements`","description":"当已选中的元素列表改变时触发","arguments":[{"name":"elements","type":"ts"},{"name":"OpenCodeSelectedElement[]"}]},{"name":"`update:theme`","description":"当主题模式改变时触发","arguments":[{"name":"theme","type":"me"},{"name":"'light' | 'dark' | 'auto'"}]},{"name":"`update:thinking`","description":"当思考状态改变时触发","arguments":[{"name":"thinking","type":"ng"},{"name":"boolean"}]},{"name":"","description":"点击触发挂件开关","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"","description":"点击关闭按钮时触发","arguments":[]},{"name":"`toggle-session-list`","description":"点击会话列表切换按钮时触发","arguments":[{"name":"collapsed","type":"ed"},{"name":"boolean"}]},{"name":"`toggle-select-mode`","description":"点击选择模式切换按钮时触发","arguments":[{"name":"mode","type":"de"},{"name":"boolean"}]},{"name":"`toggle-theme`","description":"点击主题切换按钮时触发","arguments":[{"name":"theme","type":"me"},{"name":"'light' | 'dark' | 'auto'"}]},{"name":"`create-session`","description":"点击创建新会话时触发","arguments":[]},{"name":"`select-session`","description":"选中某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSession"}]},{"name":"`delete-session`","description":"删除某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSession"}]},{"name":"`click-selected-node`","description":"点击已选中的气泡或节点卡片时触发","arguments":[{"name":"element","type":"nt"},{"name":"OpenCodeSelectedElement"}]},{"name":"`remove-selected-node`","description":"删除已选中的元素时触发","arguments":[{"name":"payload","type":"ad"},{"name":"OpenCodeRemoveSelectedPayload"}]},{"name":"`clear-selected-nodes`","description":"清空所有选中元素时触发","arguments":[]},{"name":"`empty-action`","description":"点击空状态操作按钮时触发","arguments":[]},{"name":"`frame-loaded`","description":"iframe 加载完成时触发","arguments":[]},{"name":"`thinking-change`","description":"思考状态改变时触发(用于显示加载动画)","arguments":[{"name":"thinking","type":"ng"},{"name":"boolean"}]}],"slots":[{"name":"`button-icon`","description":"自定义触发按钮图标"},{"name":"`session-toggle-icon`","description":"自定义会话列表切换图标"},{"name":"`select-icon`","description":"自定义选择模式切换图标"},{"name":"`close-icon`","description":"自定义关闭按钮图标"},{"name":"`theme-icon`","description":"自定义主题切换图标"},{"name":"`sessions-empty`","description":"自定义会话列表空状态"},{"name":"`empty-state`","description":"自定义 iframe 空状态"},{"name":"","description":"自定义 iframe 加载状态"},{"name":"","description":"自定义错误状态"},{"name":"","description":"自定义 iframe 内容"}]}],"attributes":[]}},"js-types-syntax":"typescript"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vite-plugin-opencode-assistant/components",
3
- "version": "1.0.78",
3
+ "version": "1.0.80",
4
4
  "description": "Reusable OpenCode widget components built with Pagoda CLI",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
@@ -30,8 +30,8 @@
30
30
  "vue": "^3.5.0"
31
31
  },
32
32
  "dependencies": {
33
- "css-selector-generator": "^3.9.1",
34
- "@vite-plugin-opencode-assistant/shared": "1.0.78"
33
+ "css-selector-generator": "^3.9.2",
34
+ "@vite-plugin-opencode-assistant/shared": "1.0.80"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "pagoda-cli build",