persagy-vant 0.0.27 → 0.0.28

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 (163) hide show
  1. package/es/cascader/Cascader.d.ts +1 -1
  2. package/es/cascader/index.d.ts +1 -1
  3. package/es/coupon-list/style/index.mjs +1 -1
  4. package/es/coupon-list/style/less.mjs +1 -1
  5. package/es/index.d.ts +2 -2
  6. package/es/index.mjs +4 -4
  7. package/es/label/Label.d.ts +92 -0
  8. package/es/label/Label.mjs +95 -0
  9. package/es/label/index.css +1 -0
  10. package/es/label/index.d.ts +64 -0
  11. package/es/label/index.less +113 -0
  12. package/es/label/index.mjs +8 -0
  13. package/es/label/style/index.mjs +6 -0
  14. package/es/label/style/less.mjs +6 -0
  15. package/es/label/var.less +11 -0
  16. package/es/location-select/style/index.mjs +1 -1
  17. package/es/location-select/style/less.mjs +1 -1
  18. package/es/material-add/MaterialAdd.d.ts +105 -1
  19. package/es/material-add/MaterialAdd.mjs +63 -23
  20. package/es/material-add/index.d.ts +73 -1
  21. package/es/quantity-input/QuantityInput.d.ts +1 -1
  22. package/es/quantity-input/index.d.ts +2 -2
  23. package/es/radio-panel/RadioPanel.d.ts +46 -1
  24. package/es/radio-panel/RadioPanel.mjs +115 -29
  25. package/es/radio-panel/index.css +1 -1
  26. package/es/radio-panel/index.d.ts +35 -1
  27. package/es/radio-panel/index.less +17 -0
  28. package/es/radio-panel/style/index.mjs +4 -0
  29. package/es/radio-panel/style/less.mjs +4 -0
  30. package/es/sticky/Sticky.d.ts +1 -1
  31. package/es/sticky/index.d.ts +1 -1
  32. package/es/tabs/TabsTitle.mjs +1 -0
  33. package/es/tabs/index.css +1 -1
  34. package/es/tabs/index.less +11 -0
  35. package/es/tag/Tag.d.ts +1 -1
  36. package/es/tag/index.css +1 -1
  37. package/es/tag/index.less +7 -0
  38. package/es/tag/var.less +3 -0
  39. package/lib/cascader/Cascader.d.ts +1 -1
  40. package/lib/cascader/index.d.ts +1 -1
  41. package/lib/coupon-list/style/index.js +1 -1
  42. package/lib/coupon-list/style/less.js +1 -1
  43. package/lib/index.css +1 -1
  44. package/lib/index.d.ts +2 -2
  45. package/lib/index.js +4 -4
  46. package/lib/index.less +6 -6
  47. package/lib/label/Label.d.ts +92 -0
  48. package/lib/label/Label.js +114 -0
  49. package/lib/label/index.css +1 -0
  50. package/lib/label/index.d.ts +64 -0
  51. package/lib/{bot-mobile/session-filter.js → label/index.js} +16 -13
  52. package/lib/label/index.less +113 -0
  53. package/lib/label/style/index.js +6 -0
  54. package/lib/label/style/less.js +6 -0
  55. package/lib/label/var.less +11 -0
  56. package/lib/location-select/style/index.js +1 -1
  57. package/lib/location-select/style/less.js +1 -1
  58. package/lib/material-add/MaterialAdd.d.ts +105 -1
  59. package/lib/material-add/MaterialAdd.js +63 -23
  60. package/lib/material-add/index.d.ts +73 -1
  61. package/lib/quantity-input/QuantityInput.d.ts +1 -1
  62. package/lib/quantity-input/index.d.ts +2 -2
  63. package/lib/radio-panel/RadioPanel.d.ts +46 -1
  64. package/lib/radio-panel/RadioPanel.js +114 -28
  65. package/lib/radio-panel/index.css +1 -1
  66. package/lib/radio-panel/index.d.ts +35 -1
  67. package/lib/radio-panel/index.less +17 -0
  68. package/lib/radio-panel/style/index.js +4 -0
  69. package/lib/radio-panel/style/less.js +4 -0
  70. package/lib/sticky/Sticky.d.ts +1 -1
  71. package/lib/sticky/index.d.ts +1 -1
  72. package/lib/tabs/TabsTitle.js +1 -0
  73. package/lib/tabs/index.css +1 -1
  74. package/lib/tabs/index.less +11 -0
  75. package/lib/tag/Tag.d.ts +1 -1
  76. package/lib/tag/index.css +1 -1
  77. package/lib/tag/index.less +7 -0
  78. package/lib/tag/var.less +3 -0
  79. package/lib/vant.cjs.js +1212 -1769
  80. package/lib/vant.es.js +1212 -1769
  81. package/lib/vant.js +13016 -24376
  82. package/lib/vant.min.js +1 -1
  83. package/lib/web-types.json +1 -1
  84. package/package.json +4 -4
  85. package/es/bot-mobile/BotFab.d.ts +0 -72
  86. package/es/bot-mobile/BotFab.mjs +0 -152
  87. package/es/bot-mobile/BotHistoryDrawer.d.ts +0 -72
  88. package/es/bot-mobile/BotHistoryDrawer.mjs +0 -97
  89. package/es/bot-mobile/BotMobile.d.ts +0 -83
  90. package/es/bot-mobile/BotMobile.mjs +0 -47
  91. package/es/bot-mobile/BotMobileContextTags.d.ts +0 -52
  92. package/es/bot-mobile/BotMobileContextTags.mjs +0 -52
  93. package/es/bot-mobile/BotMobilePrompts.d.ts +0 -54
  94. package/es/bot-mobile/BotMobilePrompts.mjs +0 -49
  95. package/es/bot-mobile/BotMobileSheet.d.ts +0 -92
  96. package/es/bot-mobile/BotMobileSheet.mjs +0 -50
  97. package/es/bot-mobile/BotMobileView.d.ts +0 -82
  98. package/es/bot-mobile/BotMobileView.mjs +0 -45
  99. package/es/bot-mobile/BotSessionList.d.ts +0 -71
  100. package/es/bot-mobile/BotSessionList.mjs +0 -99
  101. package/es/bot-mobile/BotVoiceBar.d.ts +0 -80
  102. package/es/bot-mobile/BotVoiceBar.mjs +0 -138
  103. package/es/bot-mobile/fab-position.d.ts +0 -9
  104. package/es/bot-mobile/fab-position.mjs +0 -10
  105. package/es/bot-mobile/fab-position.test.d.ts +0 -1
  106. package/es/bot-mobile/fab-position.test.mjs +0 -29
  107. package/es/bot-mobile/index.css +0 -1
  108. package/es/bot-mobile/index.d.ts +0 -469
  109. package/es/bot-mobile/index.less +0 -464
  110. package/es/bot-mobile/index.mjs +0 -50
  111. package/es/bot-mobile/session-filter.d.ts +0 -6
  112. package/es/bot-mobile/session-filter.mjs +0 -15
  113. package/es/bot-mobile/session-item.d.ts +0 -15
  114. package/es/bot-mobile/session-item.mjs +0 -73
  115. package/es/bot-mobile/style/index.mjs +0 -15
  116. package/es/bot-mobile/style/less.mjs +0 -15
  117. package/es/bot-mobile/types.d.ts +0 -23
  118. package/es/bot-mobile/types.mjs +0 -0
  119. package/es/bot-mobile/var.less +0 -58
  120. package/es/bot-mobile/voice-zone.d.ts +0 -6
  121. package/es/bot-mobile/voice-zone.mjs +0 -6
  122. package/es/bot-mobile/voice-zone.test.d.ts +0 -1
  123. package/es/bot-mobile/voice-zone.test.mjs +0 -19
  124. package/lib/bot-mobile/BotFab.d.ts +0 -72
  125. package/lib/bot-mobile/BotFab.js +0 -171
  126. package/lib/bot-mobile/BotHistoryDrawer.d.ts +0 -72
  127. package/lib/bot-mobile/BotHistoryDrawer.js +0 -116
  128. package/lib/bot-mobile/BotMobile.d.ts +0 -83
  129. package/lib/bot-mobile/BotMobile.js +0 -66
  130. package/lib/bot-mobile/BotMobileContextTags.d.ts +0 -52
  131. package/lib/bot-mobile/BotMobileContextTags.js +0 -71
  132. package/lib/bot-mobile/BotMobilePrompts.d.ts +0 -54
  133. package/lib/bot-mobile/BotMobilePrompts.js +0 -68
  134. package/lib/bot-mobile/BotMobileSheet.d.ts +0 -92
  135. package/lib/bot-mobile/BotMobileSheet.js +0 -79
  136. package/lib/bot-mobile/BotMobileView.d.ts +0 -82
  137. package/lib/bot-mobile/BotMobileView.js +0 -64
  138. package/lib/bot-mobile/BotSessionList.d.ts +0 -71
  139. package/lib/bot-mobile/BotSessionList.js +0 -118
  140. package/lib/bot-mobile/BotVoiceBar.d.ts +0 -80
  141. package/lib/bot-mobile/BotVoiceBar.js +0 -157
  142. package/lib/bot-mobile/fab-position.d.ts +0 -9
  143. package/lib/bot-mobile/fab-position.js +0 -29
  144. package/lib/bot-mobile/fab-position.test.d.ts +0 -1
  145. package/lib/bot-mobile/fab-position.test.js +0 -29
  146. package/lib/bot-mobile/index.css +0 -1
  147. package/lib/bot-mobile/index.d.ts +0 -469
  148. package/lib/bot-mobile/index.js +0 -79
  149. package/lib/bot-mobile/index.less +0 -464
  150. package/lib/bot-mobile/session-filter.d.ts +0 -6
  151. package/lib/bot-mobile/session-item.d.ts +0 -15
  152. package/lib/bot-mobile/session-item.js +0 -92
  153. package/lib/bot-mobile/style/index.js +0 -15
  154. package/lib/bot-mobile/style/less.js +0 -15
  155. package/lib/bot-mobile/types.d.ts +0 -23
  156. package/lib/bot-mobile/types.js +0 -15
  157. package/lib/bot-mobile/var.less +0 -58
  158. package/lib/bot-mobile/voice-zone.d.ts +0 -6
  159. package/lib/bot-mobile/voice-zone.js +0 -25
  160. package/lib/bot-mobile/voice-zone.test.d.ts +0 -1
  161. package/lib/bot-mobile/voice-zone.test.js +0 -19
  162. /package/es/{bot-mobile → label}/var.css +0 -0
  163. /package/lib/{bot-mobile → label}/var.css +0 -0
@@ -1,138 +0,0 @@
1
- import { ref, watch, onMounted, defineComponent, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { makeArrayProp, makeNumberProp, makeStringProp, createNamespace } from "../utils/index.mjs";
3
- import { Loading } from "../loading/index.mjs";
4
- import { isInCancelZone } from "./voice-zone.mjs";
5
- const [name, bem] = createNamespace("bot-mobile-voice-bar");
6
- const CANVAS_WIDTH = 240;
7
- const CANVAS_HEIGHT = 32;
8
- const BAR_WIDTH = 3;
9
- const BAR_GAP = 2;
10
- const MIN_BAR_HEIGHT = 2;
11
- const FALLBACK_WAVE_COLOR = "#246fe5";
12
- const botVoiceBarProps = {
13
- state: makeStringProp("idle"),
14
- elapsedLabel: makeStringProp("0:00"),
15
- amplitudes: makeArrayProp(),
16
- cancelDistance: makeNumberProp(60),
17
- hint: makeStringProp("")
18
- };
19
- var stdin_default = defineComponent({
20
- name,
21
- props: botVoiceBarProps,
22
- emits: ["start", "cancel", "adopt", "cancelZoneChange"],
23
- setup(props, {
24
- emit
25
- }) {
26
- const canvasRef = ref();
27
- const inCancelZone = ref(false);
28
- let pressing = false;
29
- let startY = 0;
30
- const onPointerDown = (event) => {
31
- if (event.button !== 0) {
32
- return;
33
- }
34
- if (props.state !== "idle") {
35
- return;
36
- }
37
- const el = event.currentTarget;
38
- try {
39
- el.setPointerCapture(event.pointerId);
40
- } catch (e) {
41
- }
42
- pressing = true;
43
- startY = event.clientY;
44
- inCancelZone.value = false;
45
- emit("start");
46
- };
47
- const onPointerMove = (event) => {
48
- if (!pressing) {
49
- return;
50
- }
51
- const next = isInCancelZone(startY, event.clientY, props.cancelDistance);
52
- if (next !== inCancelZone.value) {
53
- inCancelZone.value = next;
54
- emit("cancelZoneChange", next);
55
- }
56
- };
57
- const finishGesture = (cancelled) => {
58
- if (!pressing) {
59
- return;
60
- }
61
- pressing = false;
62
- const shouldCancel = cancelled || inCancelZone.value;
63
- inCancelZone.value = false;
64
- emit(shouldCancel ? "cancel" : "adopt");
65
- };
66
- const onPointerUp = () => finishGesture(false);
67
- const onPointerCancel = () => finishGesture(true);
68
- const resolveWaveColor = (el) => {
69
- if (typeof getComputedStyle !== "function") {
70
- return FALLBACK_WAVE_COLOR;
71
- }
72
- const value = getComputedStyle(el).color;
73
- return value || FALLBACK_WAVE_COLOR;
74
- };
75
- const drawWave = () => {
76
- const canvas = canvasRef.value;
77
- if (!canvas) {
78
- return;
79
- }
80
- const ctx = canvas.getContext("2d");
81
- if (!ctx) {
82
- return;
83
- }
84
- ctx.clearRect(0, 0, canvas.width, canvas.height);
85
- ctx.fillStyle = resolveWaveColor(canvas);
86
- const step = BAR_WIDTH + BAR_GAP;
87
- const maxBars = Math.max(1, Math.floor(canvas.width / step));
88
- const bars = props.amplitudes.slice(-maxBars);
89
- const offsetX = canvas.width - bars.length * step;
90
- bars.forEach((amplitude, index) => {
91
- const clamped = Math.min(1, Math.max(0, amplitude));
92
- const barHeight = Math.max(MIN_BAR_HEIGHT, clamped * canvas.height);
93
- const x = offsetX + index * step;
94
- const y = (canvas.height - barHeight) / 2;
95
- ctx.fillRect(x, y, BAR_WIDTH, barHeight);
96
- });
97
- };
98
- onMounted(drawWave);
99
- watch(() => props.amplitudes, drawWave);
100
- watch(() => props.state, drawWave);
101
- const renderTranscribing = () => _createVNode("div", {
102
- "class": bem("transcribing")
103
- }, [_createVNode(Loading, {
104
- "size": "16"
105
- }, null), _createVNode("span", {
106
- "class": bem("transcribing-text")
107
- }, [props.hint || "\u6B63\u5728\u8BC6\u522B..."])]);
108
- const renderWave = () => _createVNode(_Fragment, null, [_createVNode("canvas", {
109
- "ref": canvasRef,
110
- "class": bem("wave"),
111
- "width": CANVAS_WIDTH,
112
- "height": CANVAS_HEIGHT
113
- }, null), _createVNode("div", {
114
- "class": bem("info")
115
- }, [_createVNode("span", {
116
- "class": bem("elapsed")
117
- }, [props.elapsedLabel]), props.hint && _createVNode("span", {
118
- "class": bem("hint")
119
- }, [props.hint])])]);
120
- return () => _createVNode("div", {
121
- "class": bem({
122
- recording: props.state === "recording",
123
- transcribing: props.state === "transcribing",
124
- "cancel-zone": inCancelZone.value
125
- }),
126
- "role": "button",
127
- "tabindex": 0,
128
- "onPointerdown": onPointerDown,
129
- "onPointermove": onPointerMove,
130
- "onPointerup": onPointerUp,
131
- "onPointercancel": onPointerCancel
132
- }, [props.state === "transcribing" ? renderTranscribing() : renderWave()]);
133
- }
134
- });
135
- export {
136
- botVoiceBarProps,
137
- stdin_default as default
138
- };
@@ -1,9 +0,0 @@
1
- /**
2
- * BotFab 纯几何逻辑:吸边判定 + 拖拽/点击判定。
3
- * 拆成纯函数便于单测,组件内 pointer 事件处理只负责采集坐标、调用这里。
4
- */
5
- export declare type FabSide = 'left' | 'right';
6
- /** 松手时按水平中线吸到最近边;恰好落在中点视为右半区(>=) */
7
- export declare function resolveSnapSide(x: number, viewportWidth: number): FabSide;
8
- /** 位移在阈值内视为点击,否则视为拖拽;阈值默认 6px,按欧氏距离计算 */
9
- export declare function isTapNotDrag(dx: number, dy: number, threshold?: number): boolean;
@@ -1,10 +0,0 @@
1
- function resolveSnapSide(x, viewportWidth) {
2
- return x >= viewportWidth / 2 ? "right" : "left";
3
- }
4
- function isTapNotDrag(dx, dy, threshold = 6) {
5
- return Math.sqrt(dx * dx + dy * dy) < threshold;
6
- }
7
- export {
8
- isTapNotDrag,
9
- resolveSnapSide
10
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { resolveSnapSide, isTapNotDrag } from "./fab-position.mjs";
2
- describe("resolveSnapSide", () => {
3
- test("should resolve to left when x is in the left half of the viewport", () => {
4
- expect(resolveSnapSide(50, 375)).toBe("left");
5
- });
6
- test("should resolve to right when x is in the right half of the viewport", () => {
7
- expect(resolveSnapSide(300, 375)).toBe("right");
8
- });
9
- test("should resolve to right when x is exactly at the horizontal midline", () => {
10
- expect(resolveSnapSide(187.5, 375)).toBe("right");
11
- });
12
- });
13
- describe("isTapNotDrag", () => {
14
- test("should be a tap when displacement is below the default 6px threshold", () => {
15
- expect(isTapNotDrag(5, 0)).toBe(true);
16
- });
17
- test("should be a drag when displacement reaches the default 6px threshold", () => {
18
- expect(isTapNotDrag(6, 0)).toBe(false);
19
- });
20
- test("should combine x/y displacement as euclidean distance", () => {
21
- expect(isTapNotDrag(3, 4)).toBe(true);
22
- expect(isTapNotDrag(4, 3)).toBe(true);
23
- expect(isTapNotDrag(6, 8)).toBe(false);
24
- });
25
- test("should respect a custom threshold", () => {
26
- expect(isTapNotDrag(10, 0, 20)).toBe(true);
27
- expect(isTapNotDrag(20, 0, 20)).toBe(false);
28
- });
29
- });
@@ -1 +0,0 @@
1
- :root{--van-bot-mobile-primary-color: var(--van-primary-color);--van-bot-mobile-text-color: var(--van-text-color);--van-bot-mobile-border-color: var(--van-border-color);--van-bot-mobile-background-color: var(--van-background-color-light);--van-bot-mobile-prompts-title-color: var(--van-text-color-2);--van-bot-mobile-prompts-title-font-size: var(--van-font-size-sm);--van-bot-mobile-prompts-item-background: var(--van-background-color-light);--van-bot-mobile-prompts-item-border-color: var(--van-border-color);--van-bot-mobile-prompts-item-active-background: var(--van-active-color);--van-bot-mobile-prompts-item-selected-background: var(--van-blue-100);--van-bot-mobile-prompts-item-selected-border-color: var(--van-primary-color);--van-bot-mobile-prompts-item-selected-color: var(--van-primary-color);--van-bot-mobile-prompts-item-title-color: var(--van-text-color);--van-bot-mobile-prompts-item-desc-color: var(--van-text-color-2);--van-bot-mobile-context-tags-gap: 8px;--van-bot-mobile-context-tags-padding: 4px 12px;--van-bot-mobile-context-tags-font-size: var(--van-font-size-md);--van-bot-mobile-context-tags-line-height: var(--van-line-height-lg);--van-bot-mobile-context-tags-border-radius: var(--van-border-radius-lg);--van-bot-mobile-context-tags-color: var(--van-gray-8);--van-bot-mobile-context-tags-background-color: var(--van-gray-2);--van-bot-mobile-context-tags-selected-color: var(--van-bot-mobile-primary-color);--van-bot-mobile-context-tags-selected-background-color: var(--van-blue-100);--van-bot-mobile-context-tags-active-opacity: var(--van-active-opacity);--van-bot-mobile-sheet-height: 90%;--van-bot-mobile-fab-size: 56px;--van-bot-mobile-fab-z-index: 999;--van-bot-mobile-fab-color: var(--van-white);--van-bot-mobile-fab-background: var(--van-bot-mobile-primary-color);--van-bot-mobile-fab-shadow: 0 2px 8px rgba(0, 0, 0, .2);--van-bot-mobile-session-item-active-background: var(--van-active-color);--van-bot-mobile-session-item-name-color: var(--van-text-color);--van-bot-mobile-session-item-meta-color: var(--van-text-color-2);--van-bot-mobile-session-item-action-color: var(--van-text-color-3);--van-bot-mobile-session-item-danger-color: var(--van-danger-color);--van-bot-mobile-history-drawer-header-height: 52px;--van-bot-mobile-history-drawer-title-color: var(--van-text-color);--van-bot-mobile-voice-bar-height: 64px;--van-bot-mobile-voice-bar-background: var(--van-background-color-light);--van-bot-mobile-voice-bar-border-color: var(--van-border-color);--van-bot-mobile-voice-bar-recording-background: var(--van-blue-50);--van-bot-mobile-voice-bar-cancel-zone-background: var(--van-red);--van-bot-mobile-voice-bar-elapsed-color: var(--van-text-color);--van-bot-mobile-voice-bar-hint-color: var(--van-text-color-2);--van-bot-mobile-voice-bar-wave-color: var(--van-bot-mobile-primary-color);--van-bot-mobile-session-list-toolbar-padding: 8px 16px;--van-bot-mobile-session-list-create-color: var(--van-bot-mobile-primary-color)}.van-bot-mobile,.van-bot-mobile-view{width:100%;height:100%}.van-bot-mobile .bot-card,.van-bot-mobile-view .bot-card{--primary-color: var(--van-bot-mobile-primary-color);--accent: var(--van-bot-mobile-primary-color);--ink-1: var(--van-bot-mobile-text-color);--line: var(--van-bot-mobile-border-color);--gray-0: var(--van-bot-mobile-background-color)}.van-bot-mobile-prompts{width:100%}.van-bot-mobile-prompts__title{margin-bottom:8px;color:var(--van-bot-mobile-prompts-title-color);font-size:var(--van-bot-mobile-prompts-title-font-size);line-height:1.4}.van-bot-mobile-prompts__list{display:flex;flex-direction:column;gap:8px}.van-bot-mobile-prompts__item{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:44px;padding:8px 12px;background:var(--van-bot-mobile-prompts-item-background);border:1px solid var(--van-bot-mobile-prompts-item-border-color);border-radius:8px;cursor:pointer}.van-bot-mobile-prompts__item:active{background:var(--van-bot-mobile-prompts-item-active-background)}.van-bot-mobile-prompts__item--active{background:var(--van-bot-mobile-prompts-item-selected-background);border-color:var(--van-bot-mobile-prompts-item-selected-border-color)}.van-bot-mobile-prompts__item--active .van-bot-mobile-prompts__item-title{color:var(--van-bot-mobile-prompts-item-selected-color);font-weight:var(--van-font-weight-bold)}.van-bot-mobile-prompts__item-title{color:var(--van-bot-mobile-prompts-item-title-color);font-size:var(--van-font-size-md);font-weight:500;line-height:1.4}.van-bot-mobile-prompts__item-desc{overflow:hidden;color:var(--van-bot-mobile-prompts-item-desc-color);font-size:var(--van-bot-mobile-prompts-title-font-size);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.van-bot-mobile-sheet{height:var(--van-bot-mobile-sheet-height)}.van-bot-mobile-sheet .van-bot-mobile{display:flex;flex-direction:column;height:100%}.van-bot-mobile-sheet .van-bot-mobile .bot-card{flex:1;min-height:0}.van-bot-mobile-context-tags{display:flex;flex-wrap:nowrap;gap:var(--van-bot-mobile-context-tags-gap);width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.van-bot-mobile-context-tags__item{box-sizing:border-box;display:flex;flex:none;align-items:center;justify-content:center;min-height:44px;padding:var(--van-bot-mobile-context-tags-padding);color:var(--van-bot-mobile-context-tags-color);font-size:var(--van-bot-mobile-context-tags-font-size);line-height:var(--van-bot-mobile-context-tags-line-height);white-space:nowrap;background:var(--van-bot-mobile-context-tags-background-color);border-radius:var(--van-bot-mobile-context-tags-border-radius);cursor:pointer}.van-bot-mobile-context-tags__item:active{opacity:var(--van-bot-mobile-context-tags-active-opacity)}.van-bot-mobile-context-tags__item--selected{color:var(--van-bot-mobile-context-tags-selected-color);background:var(--van-bot-mobile-context-tags-selected-background-color)}.van-bot-mobile-fab{position:fixed;z-index:var(--van-bot-mobile-fab-z-index);box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:var(--van-bot-mobile-fab-size);height:var(--van-bot-mobile-fab-size);color:var(--van-bot-mobile-fab-color);background:var(--van-bot-mobile-fab-background);border-radius:50%;box-shadow:var(--van-bot-mobile-fab-shadow);cursor:pointer;touch-action:none;transition:left .25s ease,right .25s ease,top .25s ease}.van-bot-mobile-fab--dragging{transition:none}.van-bot-mobile-fab__icon{font-size:24px}.van-bot-mobile-history-drawer{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.van-bot-mobile-history-drawer__header{box-sizing:border-box;display:flex;flex:none;align-items:center;justify-content:space-between;height:var(--van-bot-mobile-history-drawer-header-height);padding:0 16px;border-bottom:1px solid var(--van-bot-mobile-border-color)}.van-bot-mobile-history-drawer__close,.van-bot-mobile-history-drawer__create{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:20px;cursor:pointer}.van-bot-mobile-history-drawer__title{overflow:hidden;color:var(--van-bot-mobile-history-drawer-title-color);font-size:var(--van-font-size-lg);font-weight:500;text-align:center;text-overflow:ellipsis;white-space:nowrap}.van-bot-mobile-history-drawer__search{flex:none}.van-bot-mobile-history-drawer__list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.van-bot-mobile-session-item{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:8px 16px;border-bottom:1px solid var(--van-bot-mobile-border-color)}.van-bot-mobile-session-item--active{background:var(--van-bot-mobile-session-item-active-background)}.van-bot-mobile-session-item__body{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;min-height:44px;cursor:pointer}.van-bot-mobile-session-item__name{overflow:hidden;color:var(--van-bot-mobile-session-item-name-color);font-size:var(--van-font-size-md);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.van-bot-mobile-session-item__meta{display:flex;gap:8px;overflow:hidden;color:var(--van-bot-mobile-session-item-meta-color);font-size:var(--van-font-size-sm);line-height:1.4}.van-bot-mobile-session-item__preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-bot-mobile-session-item__time{flex:none}.van-bot-mobile-session-item__input{flex:1;box-sizing:border-box;min-height:44px;padding:0 8px;color:var(--van-bot-mobile-session-item-name-color);font-size:var(--van-font-size-md);background:var(--van-background-color);border:1px solid var(--van-bot-mobile-primary-color);border-radius:var(--van-border-radius-md);outline:none}.van-bot-mobile-session-item__actions{display:flex;flex:none;gap:4px;margin-left:8px}.van-bot-mobile-session-item__action{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--van-bot-mobile-session-item-action-color);font-size:18px;cursor:pointer}.van-bot-mobile-session-item__action--danger{color:var(--van-bot-mobile-session-item-danger-color)}.van-bot-mobile-voice-bar{box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:var(--van-bot-mobile-voice-bar-height);padding:0 16px;background:var(--van-bot-mobile-voice-bar-background);border:1px solid var(--van-bot-mobile-voice-bar-border-color);border-radius:var(--van-border-radius-lg);cursor:pointer;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-bot-mobile-voice-bar--recording{background:var(--van-bot-mobile-voice-bar-recording-background)}.van-bot-mobile-voice-bar--cancel-zone{background:var(--van-bot-mobile-voice-bar-cancel-zone-background)}.van-bot-mobile-voice-bar__wave{width:100%;height:32px;color:var(--van-bot-mobile-voice-bar-wave-color)}.van-bot-mobile-voice-bar__info{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.van-bot-mobile-voice-bar__elapsed{color:var(--van-bot-mobile-voice-bar-elapsed-color);font-size:var(--van-font-size-sm)}.van-bot-mobile-voice-bar__hint{color:var(--van-bot-mobile-voice-bar-hint-color);font-size:var(--van-font-size-sm)}.van-bot-mobile-voice-bar__transcribing{display:flex;align-items:center;gap:8px}.van-bot-mobile-voice-bar__transcribing-text{color:var(--van-bot-mobile-voice-bar-hint-color);font-size:var(--van-font-size-sm)}.van-bot-mobile-session-list{display:flex;flex-direction:column;width:100%;height:100%}.van-bot-mobile-session-list__toolbar{box-sizing:border-box;display:flex;flex:none;align-items:center;gap:8px;padding:var(--van-bot-mobile-session-list-toolbar-padding)}.van-bot-mobile-session-list__search{flex:1}.van-bot-mobile-session-list__create{display:flex;flex:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--van-bot-mobile-session-list-create-color);font-size:20px;cursor:pointer}.van-bot-mobile-session-list__list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.van-bot-mobile-session-list__loading{display:flex;flex:1;align-items:center;justify-content:center;padding:32px 0}.van-bot-mobile-session-list__empty{flex:1}
@@ -1,469 +0,0 @@
1
- export declare const BotMobile: import("../utils").WithInstall<import("vue").DefineComponent<{
2
- gatewayBaseUrl: {
3
- type: import("vue").PropType<string>;
4
- default: string;
5
- };
6
- businessContext: import("vue").PropType<Record<string, unknown>>;
7
- references: {
8
- type: import("vue").PropType<unknown[]>;
9
- default: () => never[];
10
- };
11
- title: StringConstructor;
12
- showHeader: {
13
- type: BooleanConstructor;
14
- default: true;
15
- };
16
- showFooter: {
17
- type: BooleanConstructor;
18
- default: true;
19
- };
20
- clientId: StringConstructor;
21
- autoConnect: {
22
- type: BooleanConstructor;
23
- default: true;
24
- };
25
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
26
- gatewayBaseUrl: {
27
- type: import("vue").PropType<string>;
28
- default: string;
29
- };
30
- businessContext: import("vue").PropType<Record<string, unknown>>;
31
- references: {
32
- type: import("vue").PropType<unknown[]>;
33
- default: () => never[];
34
- };
35
- title: StringConstructor;
36
- showHeader: {
37
- type: BooleanConstructor;
38
- default: true;
39
- };
40
- showFooter: {
41
- type: BooleanConstructor;
42
- default: true;
43
- };
44
- clientId: StringConstructor;
45
- autoConnect: {
46
- type: BooleanConstructor;
47
- default: true;
48
- };
49
- }>>, {
50
- gatewayBaseUrl: string;
51
- references: unknown[];
52
- showHeader: boolean;
53
- showFooter: boolean;
54
- autoConnect: boolean;
55
- }>>;
56
- export default BotMobile;
57
- export declare const BotMobilePrompts: import("../utils").WithInstall<import("vue").DefineComponent<{
58
- items: {
59
- type: import("vue").PropType<import("./types").BotMobilePromptItem[]>;
60
- default: () => never[];
61
- };
62
- title: {
63
- type: import("vue").PropType<string>;
64
- default: string;
65
- };
66
- activeId: {
67
- type: import("vue").PropType<string>;
68
- default: string;
69
- };
70
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
71
- items: {
72
- type: import("vue").PropType<import("./types").BotMobilePromptItem[]>;
73
- default: () => never[];
74
- };
75
- title: {
76
- type: import("vue").PropType<string>;
77
- default: string;
78
- };
79
- activeId: {
80
- type: import("vue").PropType<string>;
81
- default: string;
82
- };
83
- }>> & {
84
- onSelect?: ((...args: any[]) => any) | undefined;
85
- }, {
86
- title: string;
87
- items: import("./types").BotMobilePromptItem[];
88
- activeId: string;
89
- }>>;
90
- export declare const BotMobileContextTags: import("../utils").WithInstall<import("vue").DefineComponent<{
91
- tags: {
92
- type: import("vue").PropType<import("./types").BotMobileContextTag[]>;
93
- default: () => never[];
94
- };
95
- modelValue: {
96
- type: import("vue").PropType<string[]>;
97
- default: () => never[];
98
- };
99
- max: {
100
- type: NumberConstructor;
101
- default: number;
102
- };
103
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
104
- tags: {
105
- type: import("vue").PropType<import("./types").BotMobileContextTag[]>;
106
- default: () => never[];
107
- };
108
- modelValue: {
109
- type: import("vue").PropType<string[]>;
110
- default: () => never[];
111
- };
112
- max: {
113
- type: NumberConstructor;
114
- default: number;
115
- };
116
- }>> & {
117
- onChange?: ((...args: any[]) => any) | undefined;
118
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
119
- }, {
120
- max: number;
121
- tags: import("./types").BotMobileContextTag[];
122
- modelValue: string[];
123
- }>>;
124
- export declare const BotMobileSheet: import("../utils").WithInstall<import("vue").DefineComponent<{
125
- gatewayBaseUrl: {
126
- type: import("vue").PropType<string>;
127
- default: string;
128
- };
129
- businessContext: import("vue").PropType<Record<string, unknown>>;
130
- references: {
131
- type: import("vue").PropType<unknown[]>;
132
- default: () => never[];
133
- };
134
- title: StringConstructor;
135
- showHeader: {
136
- type: BooleanConstructor;
137
- default: true;
138
- };
139
- showFooter: {
140
- type: BooleanConstructor;
141
- default: true;
142
- };
143
- clientId: StringConstructor;
144
- autoConnect: {
145
- type: BooleanConstructor;
146
- default: true;
147
- };
148
- } & {
149
- show: BooleanConstructor;
150
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
151
- gatewayBaseUrl: {
152
- type: import("vue").PropType<string>;
153
- default: string;
154
- };
155
- businessContext: import("vue").PropType<Record<string, unknown>>;
156
- references: {
157
- type: import("vue").PropType<unknown[]>;
158
- default: () => never[];
159
- };
160
- title: StringConstructor;
161
- showHeader: {
162
- type: BooleanConstructor;
163
- default: true;
164
- };
165
- showFooter: {
166
- type: BooleanConstructor;
167
- default: true;
168
- };
169
- clientId: StringConstructor;
170
- autoConnect: {
171
- type: BooleanConstructor;
172
- default: true;
173
- };
174
- } & {
175
- show: BooleanConstructor;
176
- }>> & {
177
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
178
- }, {
179
- show: boolean;
180
- gatewayBaseUrl: string;
181
- references: unknown[];
182
- showHeader: boolean;
183
- showFooter: boolean;
184
- autoConnect: boolean;
185
- }>>;
186
- export declare const BotMobileView: import("../utils").WithInstall<import("vue").DefineComponent<{
187
- messages: {
188
- type: import("vue").PropType<unknown[]>;
189
- default: () => never[];
190
- };
191
- title: {
192
- type: import("vue").PropType<string>;
193
- default: string;
194
- };
195
- showHeader: {
196
- type: BooleanConstructor;
197
- default: true;
198
- };
199
- showFooter: {
200
- type: BooleanConstructor;
201
- default: true;
202
- };
203
- placeholder: {
204
- type: import("vue").PropType<string>;
205
- default: string;
206
- };
207
- generating: BooleanConstructor;
208
- disabled: BooleanConstructor;
209
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
210
- messages: {
211
- type: import("vue").PropType<unknown[]>;
212
- default: () => never[];
213
- };
214
- title: {
215
- type: import("vue").PropType<string>;
216
- default: string;
217
- };
218
- showHeader: {
219
- type: BooleanConstructor;
220
- default: true;
221
- };
222
- showFooter: {
223
- type: BooleanConstructor;
224
- default: true;
225
- };
226
- placeholder: {
227
- type: import("vue").PropType<string>;
228
- default: string;
229
- };
230
- generating: BooleanConstructor;
231
- disabled: BooleanConstructor;
232
- }>>, {
233
- title: string;
234
- disabled: boolean;
235
- placeholder: string;
236
- showHeader: boolean;
237
- showFooter: boolean;
238
- messages: unknown[];
239
- generating: boolean;
240
- }>>;
241
- export declare const BotFab: import("../utils").WithInstall<import("vue").DefineComponent<{
242
- icon: {
243
- type: import("vue").PropType<string>;
244
- default: string;
245
- };
246
- side: {
247
- type: import("vue").PropType<import("./fab-position").FabSide>;
248
- default: import("./fab-position").FabSide;
249
- };
250
- offsetBottom: {
251
- type: NumberConstructor;
252
- default: number;
253
- };
254
- draggable: {
255
- type: BooleanConstructor;
256
- default: true;
257
- };
258
- badge: (NumberConstructor | StringConstructor)[];
259
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "positionChange")[], "click" | "positionChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
260
- icon: {
261
- type: import("vue").PropType<string>;
262
- default: string;
263
- };
264
- side: {
265
- type: import("vue").PropType<import("./fab-position").FabSide>;
266
- default: import("./fab-position").FabSide;
267
- };
268
- offsetBottom: {
269
- type: NumberConstructor;
270
- default: number;
271
- };
272
- draggable: {
273
- type: BooleanConstructor;
274
- default: true;
275
- };
276
- badge: (NumberConstructor | StringConstructor)[];
277
- }>> & {
278
- onClick?: ((...args: any[]) => any) | undefined;
279
- onPositionChange?: ((...args: any[]) => any) | undefined;
280
- }, {
281
- icon: string;
282
- side: import("./fab-position").FabSide;
283
- offsetBottom: number;
284
- draggable: boolean;
285
- }>>;
286
- export declare const BotHistoryDrawer: import("../utils").WithInstall<import("vue").DefineComponent<{
287
- show: BooleanConstructor;
288
- sessions: {
289
- type: import("vue").PropType<import("./types").BotMobileSession[]>;
290
- default: () => never[];
291
- };
292
- activeId: {
293
- type: import("vue").PropType<string>;
294
- default: string;
295
- };
296
- searchable: {
297
- type: BooleanConstructor;
298
- default: true;
299
- };
300
- title: {
301
- type: import("vue").PropType<string>;
302
- default: string;
303
- };
304
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "update:show" | "delete" | "rename" | "create")[], "select" | "update:show" | "delete" | "rename" | "create", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
305
- show: BooleanConstructor;
306
- sessions: {
307
- type: import("vue").PropType<import("./types").BotMobileSession[]>;
308
- default: () => never[];
309
- };
310
- activeId: {
311
- type: import("vue").PropType<string>;
312
- default: string;
313
- };
314
- searchable: {
315
- type: BooleanConstructor;
316
- default: true;
317
- };
318
- title: {
319
- type: import("vue").PropType<string>;
320
- default: string;
321
- };
322
- }>> & {
323
- onSelect?: ((...args: any[]) => any) | undefined;
324
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
325
- onDelete?: ((...args: any[]) => any) | undefined;
326
- onRename?: ((...args: any[]) => any) | undefined;
327
- onCreate?: ((...args: any[]) => any) | undefined;
328
- }, {
329
- title: string;
330
- show: boolean;
331
- activeId: string;
332
- sessions: import("./types").BotMobileSession[];
333
- searchable: boolean;
334
- }>>;
335
- export declare const BotVoiceBar: import("../utils").WithInstall<import("vue").DefineComponent<{
336
- state: {
337
- type: import("vue").PropType<import("./BotVoiceBar").BotVoiceBarState>;
338
- default: import("./BotVoiceBar").BotVoiceBarState;
339
- };
340
- elapsedLabel: {
341
- type: import("vue").PropType<string>;
342
- default: string;
343
- };
344
- amplitudes: {
345
- type: import("vue").PropType<number[]>;
346
- default: () => never[];
347
- };
348
- cancelDistance: {
349
- type: NumberConstructor;
350
- default: number;
351
- };
352
- hint: {
353
- type: import("vue").PropType<string>;
354
- default: string;
355
- };
356
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("start" | "cancel" | "adopt" | "cancelZoneChange")[], "start" | "cancel" | "adopt" | "cancelZoneChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
357
- state: {
358
- type: import("vue").PropType<import("./BotVoiceBar").BotVoiceBarState>;
359
- default: import("./BotVoiceBar").BotVoiceBarState;
360
- };
361
- elapsedLabel: {
362
- type: import("vue").PropType<string>;
363
- default: string;
364
- };
365
- amplitudes: {
366
- type: import("vue").PropType<number[]>;
367
- default: () => never[];
368
- };
369
- cancelDistance: {
370
- type: NumberConstructor;
371
- default: number;
372
- };
373
- hint: {
374
- type: import("vue").PropType<string>;
375
- default: string;
376
- };
377
- }>> & {
378
- onCancel?: ((...args: any[]) => any) | undefined;
379
- onStart?: ((...args: any[]) => any) | undefined;
380
- onAdopt?: ((...args: any[]) => any) | undefined;
381
- onCancelZoneChange?: ((...args: any[]) => any) | undefined;
382
- }, {
383
- state: import("./BotVoiceBar").BotVoiceBarState;
384
- elapsedLabel: string;
385
- amplitudes: number[];
386
- cancelDistance: number;
387
- hint: string;
388
- }>>;
389
- export declare const BotSessionList: import("../utils").WithInstall<import("vue").DefineComponent<{
390
- sessions: {
391
- type: import("vue").PropType<import("./types").BotMobileSession[]>;
392
- default: () => never[];
393
- };
394
- activeId: {
395
- type: import("vue").PropType<string>;
396
- default: string;
397
- };
398
- searchable: {
399
- type: BooleanConstructor;
400
- default: true;
401
- };
402
- loading: BooleanConstructor;
403
- emptyText: {
404
- type: import("vue").PropType<string>;
405
- default: string;
406
- };
407
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "delete" | "rename" | "create")[], "select" | "delete" | "rename" | "create", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
408
- sessions: {
409
- type: import("vue").PropType<import("./types").BotMobileSession[]>;
410
- default: () => never[];
411
- };
412
- activeId: {
413
- type: import("vue").PropType<string>;
414
- default: string;
415
- };
416
- searchable: {
417
- type: BooleanConstructor;
418
- default: true;
419
- };
420
- loading: BooleanConstructor;
421
- emptyText: {
422
- type: import("vue").PropType<string>;
423
- default: string;
424
- };
425
- }>> & {
426
- onSelect?: ((...args: any[]) => any) | undefined;
427
- onDelete?: ((...args: any[]) => any) | undefined;
428
- onRename?: ((...args: any[]) => any) | undefined;
429
- onCreate?: ((...args: any[]) => any) | undefined;
430
- }, {
431
- loading: boolean;
432
- activeId: string;
433
- sessions: import("./types").BotMobileSession[];
434
- searchable: boolean;
435
- emptyText: string;
436
- }>>;
437
- export { botMobileProps } from './BotMobile';
438
- export type { BotMobileProps } from './BotMobile';
439
- export { botMobilePromptsProps } from './BotMobilePrompts';
440
- export type { BotMobilePromptsProps } from './BotMobilePrompts';
441
- export { botMobileContextTagsProps } from './BotMobileContextTags';
442
- export type { BotMobileContextTagsProps } from './BotMobileContextTags';
443
- export { botMobileSheetProps } from './BotMobileSheet';
444
- export type { BotMobileSheetProps } from './BotMobileSheet';
445
- export { botMobileViewProps } from './BotMobileView';
446
- export type { BotMobileViewProps } from './BotMobileView';
447
- export { botFabProps } from './BotFab';
448
- export type { BotFabProps, BotFabPositionChangePayload } from './BotFab';
449
- export { botHistoryDrawerProps } from './BotHistoryDrawer';
450
- export type { BotHistoryDrawerProps } from './BotHistoryDrawer';
451
- export { botVoiceBarProps } from './BotVoiceBar';
452
- export type { BotVoiceBarProps, BotVoiceBarState } from './BotVoiceBar';
453
- export { botSessionListProps } from './BotSessionList';
454
- export type { BotSessionListProps } from './BotSessionList';
455
- export type { BotMobileExpose, BotMobileBotRef, BotMobilePromptItem, BotMobileContextTag, BotMobileSession, } from './types';
456
- export type { FabSide } from './fab-position';
457
- declare module 'vue' {
458
- interface GlobalComponents {
459
- VanBotMobile: typeof BotMobile;
460
- VanBotMobilePrompts: typeof BotMobilePrompts;
461
- VanBotMobileContextTags: typeof BotMobileContextTags;
462
- VanBotMobileSheet: typeof BotMobileSheet;
463
- VanBotMobileView: typeof BotMobileView;
464
- VanBotFab: typeof BotFab;
465
- VanBotHistoryDrawer: typeof BotHistoryDrawer;
466
- VanBotVoiceBar: typeof BotVoiceBar;
467
- VanBotSessionList: typeof BotSessionList;
468
- }
469
- }