@adminforth/text-complete 2.1.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build.log CHANGED
@@ -10,5 +10,5 @@ custom/package.json
10
10
  custom/pnpm-lock.yaml
11
11
  custom/tsconfig.json
12
12
 
13
- sent 31,440 bytes received 115 bytes 63,110.00 bytes/sec
14
- total size is 31,014 speedup is 0.98
13
+ sent 29,022 bytes received 115 bytes 58,274.00 bytes/sec
14
+ total size is 28,596 speedup is 0.98
@@ -1,70 +1,59 @@
1
1
  <template>
2
- <div class="flex bg-gray-50 border border-gray-300 rounded-lg focus:ring-blue-500
3
- focus:border-blue-500 w-full p-2.5 dark:bg-gray-700 dark:border-gray-600
4
- dark:focus:ring-blue-500 dark:focus:border-blue-500 relative max-w-full"
5
- :class="'bg-lightInputBackground placeholder-lightInputPlaceholderText text-lightInputText border-lightInputBorder dark:!bg-darkInputBackground dark:!placeholder-darkInputPlaceholderText dark:!text-darkInputText dark:!border-darkInputBorder'"
2
+ <div
3
+ class="af-text-complete-input flex gap-2 w-full px-2.5 text-sm leading-5 bg-lightInputBackground text-lightInputText border border-lightInputBorder rounded-default shadow-customLight dark:bg-darkInputBackground dark:text-darkInputText dark:border-darkInputBorder transition-colors"
4
+ :class="[
5
+ column.type === 'text' ? 'min-h-[3.625rem] py-2' : 'py-1.5',
6
+ isFocused
7
+ ? 'ring-[3px] ring-lightInputFocusRing border-lightInputFocusBorder dark:ring-darkInputFocusRing dark:border-darkInputFocusBorder'
8
+ : 'hover:border-lightInputBorderHover dark:hover:border-darkInputBorderHover',
9
+ ]"
10
+ @focusin="isFocused = true"
11
+ @focusout="isFocused = false"
6
12
  >
7
- <SuggestionInput
13
+ <SuggestionInput
8
14
  ref="suggestionInputRef"
9
- class="w-full !border-none text-gray-900 text-sm dark:placeholder-gray-400 dark:text-white whitespace-normal mr-28"
15
+ class="flex-1 min-w-0 !border-0"
10
16
  v-model="currentValue"
11
17
  :type="column.type"
12
18
  :completionRequest="complete"
13
19
  :debounceTime="meta.debounceTime"
14
20
  @completion-approved="handleCompletionApproved"
15
21
  />
16
- <div class="absolute right-2 bottom-1">
22
+ <!-- the actions take one line of text so the field keeps the height of AFCL Input -->
23
+ <div class="af-text-complete-actions flex items-center h-5 shrink-0">
17
24
  <Tooltip v-if="isUntouched || (!currentValue.trim() && !isFocused)">
18
- <button
25
+ <Button
26
+ variant="ghost"
27
+ size="sm"
28
+ iconOnly
29
+ class="w-5 h-5"
19
30
  @click.stop="handleFocus"
20
31
  @mousedown.prevent
21
- class="text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-4 focus:outline-none focus:ring-purple-300 dark:focus:ring-purple-800
22
- font-medium rounded-lg text-sm w-6 h-6 flex items-center justify-center">
23
- <IconMagic class="w-4 h-4"/>
24
- </button>
32
+ >
33
+ <IconSparkles />
34
+ </Button>
25
35
  <template #tooltip>
26
36
  {{ $t('Start completion') }}
27
37
  </template>
28
- </Tooltip>
38
+ </Tooltip>
29
39
 
30
- <Spinner v-else-if="isLoading" class="w-6 h-6" lightFill="#000000" darkFill="#ffffff" />
40
+ <Spinner v-else-if="isLoading" class="w-4 h-4" />
31
41
  <Tooltip v-else-if="isFocused">
32
- <button
42
+ <Button
43
+ variant="ghost"
44
+ size="sm"
45
+ class="h-5 px-0.5"
33
46
  @click.stop="approveCompletion"
34
47
  @mousedown.prevent
35
- :class="[
36
- 'text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-4 focus:outline-none focus:ring-purple-300 dark:focus:ring-purple-800',
37
- 'font-medium rounded-lg text-xs flex items-center justify-center py-1 px-1 ',
38
- buttonText === approveCompletionValue ? 'w-16' : 'w-18'
39
- ]">
40
- <div
41
- class="flex items-center justify-center"
42
- v-if="buttonText === approveCompletionValue"
43
- >
44
- <IconArrowRightThin class="mt-0.5 w-5 h-5 text-white"/>
45
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
46
- <p class="mt-0.5">Tab</p>
47
- </span>
48
- </div>
49
- <div
50
- class="flex items-center justify-center"
51
- v-else-if="buttonText === approveNextWordValue"
52
- >
53
- <IconArrowRightThin class="mt-0.5 w-5 h-5 text-white" />
54
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
55
- <p class="mt-0.5">Ctrl</p>
56
- </span>
57
- <span class="ml-1 text-white">+</span>
58
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
59
- <IconArrowRightThin class="w-3.5 h-3.5" />
60
- </span>
61
- </div>
62
- </button>
48
+ >
49
+ <kbd class="inline-flex items-center h-[18px] px-[5px] rounded border border-lightInputBorder bg-lightInputBackground text-lightInputIconColor font-mono text-[11px] font-normal leading-none dark:border-darkInputBorder dark:bg-darkInputBackground dark:text-darkInputIconColor">
50
+ {{ buttonText }}
51
+ </kbd>
52
+ </Button>
63
53
  <template #tooltip>
64
54
  {{ $t(tooltipText) }}
65
55
  </template>
66
56
  </Tooltip>
67
-
68
57
  </div>
69
58
  </div>
70
59
  </template>
@@ -73,8 +62,8 @@
73
62
  import { ref, onMounted, watch, Ref, computed, defineAsyncComponent } from 'vue';
74
63
  import { callAdminForthApi } from '@/utils';
75
64
  import { AdminForthColumnCommon } from '@/types/Common';
76
- import { Spinner, Tooltip } from '@/afcl';
77
- import { IconMagic, IconCheck, IconArrowRightThin } from '@iconify-prerendered/vue-mdi';
65
+ import { Button, Spinner, Tooltip } from '@/afcl';
66
+ import { IconSparkles } from '@iconify-prerendered/vue-lucide';
78
67
 
79
68
 
80
69
  const SuggestionInput = defineAsyncComponent(async () => {
@@ -92,8 +81,8 @@ const props = defineProps<{
92
81
  const emit = defineEmits([
93
82
  'update:value',
94
83
  ]);
95
- const approveCompletionValue:string='TAB';
96
- const approveNextWordValue:string='CTRL + ->'
84
+ const approveCompletionValue:string='Tab';
85
+ const approveNextWordValue:string='Ctrl →'
97
86
  const isLoading = ref<boolean>(false);
98
87
  const isUntouched = ref<boolean>(true);
99
88
  const isFocused = ref<boolean>(false);
@@ -119,13 +108,6 @@ onMounted(() => {
119
108
  if (value.trim()) {
120
109
  isUntouched.value = false;
121
110
  }
122
- if (suggestionInputRef.value) {
123
- const editor = suggestionInputRef.value.$el.querySelector('.ql-editor');
124
- if (editor) {
125
- editor.addEventListener('focus', handleFocus);
126
- editor.addEventListener('blur', handleBlur);
127
- }
128
- }
129
111
  });
130
112
 
131
113
  watch(() => currentValue.value, (value) => {
@@ -168,7 +150,6 @@ const approveCompletion = async () => {
168
150
  }
169
151
 
170
152
  function handleFocus() {
171
- isFocused.value = true;
172
153
  if (suggestionInputRef.value) {
173
154
  const editor = suggestionInputRef.value.$el.querySelector('.ql-editor');
174
155
  if (editor) {
@@ -177,18 +158,23 @@ function handleFocus() {
177
158
  }
178
159
  }
179
160
 
180
- function handleBlur() {
181
- isFocused.value = false;
182
- }
183
-
184
161
  </script>
185
162
 
186
163
  <style>
187
- .ql-editor::before {
188
- @apply text-gray-500 dark:text-gray-400 text-sm font-normal font-sans !important;
164
+ /* Quill sets its own font and line height, the field uses the ones of AFCL Input */
165
+ .af-text-complete-input .ql-container {
166
+ font: inherit;
167
+ }
168
+
169
+ .af-text-complete-input .ql-editor {
170
+ line-height: inherit;
171
+ }
172
+
173
+ .af-text-complete-input .ql-editor.ql-blank::before {
174
+ @apply text-lightInputPlaceholderText dark:text-darkInputPlaceholderText;
189
175
  }
190
176
 
191
- .ql-editor {
192
- font-size: 0.875rem;
177
+ .af-text-complete-input .ql-container .ql-editor [completer] {
178
+ @apply not-italic text-lightInputPlaceholderText dark:text-darkInputPlaceholderText;
193
179
  }
194
180
  </style>
@@ -9,7 +9,6 @@
9
9
  "version": "1.0.0",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@iconify-prerendered/vue-mdi": "^0.28.1737398331",
13
12
  "vue-suggestion-input": "^1.0.17"
14
13
  }
15
14
  },
@@ -59,18 +58,6 @@
59
58
  "node": ">=6.9.0"
60
59
  }
61
60
  },
62
- "node_modules/@iconify-prerendered/vue-mdi": {
63
- "version": "0.28.1737398331",
64
- "resolved": "https://registry.npmjs.org/@iconify-prerendered/vue-mdi/-/vue-mdi-0.28.1737398331.tgz",
65
- "integrity": "sha512-VzBgRTfdhrUZeuaImPGX+l+Eb94qEQSSLGKKHs6BxQXJV9jPoDGqgQkzsUbZHThC81WQ1aY2EvlhmTgGq9yKEA==",
66
- "license": "Apache-2.0",
67
- "funding": {
68
- "url": "https://www.buymeacoffee.com/kozack/"
69
- },
70
- "peerDependencies": {
71
- "vue": "^3.0.0"
72
- }
73
- },
74
61
  "node_modules/@jridgewell/sourcemap-codec": {
75
62
  "version": "1.5.5",
76
63
  "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
@@ -10,7 +10,6 @@
10
10
  "author": "DevForth (https://devforth.io)",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@iconify-prerendered/vue-mdi": "^0.28.1737398331",
14
13
  "vue-suggestion-input": "^1.0.17"
15
14
  }
16
15
  }
@@ -8,9 +8,6 @@ importers:
8
8
 
9
9
  .:
10
10
  dependencies:
11
- '@iconify-prerendered/vue-mdi':
12
- specifier: ^0.28.1737398331
13
- version: 0.28.1737398331(vue@3.5.30)
14
11
  vue-suggestion-input:
15
12
  specifier: ^1.0.17
16
13
  version: 1.0.17
@@ -34,11 +31,6 @@ packages:
34
31
  resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
35
32
  engines: {node: '>=6.9.0'}
36
33
 
37
- '@iconify-prerendered/vue-mdi@0.28.1737398331':
38
- resolution: {integrity: sha512-VzBgRTfdhrUZeuaImPGX+l+Eb94qEQSSLGKKHs6BxQXJV9jPoDGqgQkzsUbZHThC81WQ1aY2EvlhmTgGq9yKEA==}
39
- peerDependencies:
40
- vue: ^3.0.0
41
-
42
34
  '@jridgewell/sourcemap-codec@1.5.5':
43
35
  resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
44
36
 
@@ -153,10 +145,6 @@ snapshots:
153
145
  '@babel/helper-string-parser': 7.27.1
154
146
  '@babel/helper-validator-identifier': 7.28.5
155
147
 
156
- '@iconify-prerendered/vue-mdi@0.28.1737398331(vue@3.5.30)':
157
- dependencies:
158
- vue: 3.5.30
159
-
160
148
  '@jridgewell/sourcemap-codec@1.5.5': {}
161
149
 
162
150
  '@vue/compiler-core@3.5.30':
@@ -1,70 +1,59 @@
1
1
  <template>
2
- <div class="flex bg-gray-50 border border-gray-300 rounded-lg focus:ring-blue-500
3
- focus:border-blue-500 w-full p-2.5 dark:bg-gray-700 dark:border-gray-600
4
- dark:focus:ring-blue-500 dark:focus:border-blue-500 relative max-w-full"
5
- :class="'bg-lightInputBackground placeholder-lightInputPlaceholderText text-lightInputText border-lightInputBorder dark:!bg-darkInputBackground dark:!placeholder-darkInputPlaceholderText dark:!text-darkInputText dark:!border-darkInputBorder'"
2
+ <div
3
+ class="af-text-complete-input flex gap-2 w-full px-2.5 text-sm leading-5 bg-lightInputBackground text-lightInputText border border-lightInputBorder rounded-default shadow-customLight dark:bg-darkInputBackground dark:text-darkInputText dark:border-darkInputBorder transition-colors"
4
+ :class="[
5
+ column.type === 'text' ? 'min-h-[3.625rem] py-2' : 'py-1.5',
6
+ isFocused
7
+ ? 'ring-[3px] ring-lightInputFocusRing border-lightInputFocusBorder dark:ring-darkInputFocusRing dark:border-darkInputFocusBorder'
8
+ : 'hover:border-lightInputBorderHover dark:hover:border-darkInputBorderHover',
9
+ ]"
10
+ @focusin="isFocused = true"
11
+ @focusout="isFocused = false"
6
12
  >
7
- <SuggestionInput
13
+ <SuggestionInput
8
14
  ref="suggestionInputRef"
9
- class="w-full !border-none text-gray-900 text-sm dark:placeholder-gray-400 dark:text-white whitespace-normal mr-28"
15
+ class="flex-1 min-w-0 !border-0"
10
16
  v-model="currentValue"
11
17
  :type="column.type"
12
18
  :completionRequest="complete"
13
19
  :debounceTime="meta.debounceTime"
14
20
  @completion-approved="handleCompletionApproved"
15
21
  />
16
- <div class="absolute right-2 bottom-1">
22
+ <!-- the actions take one line of text so the field keeps the height of AFCL Input -->
23
+ <div class="af-text-complete-actions flex items-center h-5 shrink-0">
17
24
  <Tooltip v-if="isUntouched || (!currentValue.trim() && !isFocused)">
18
- <button
25
+ <Button
26
+ variant="ghost"
27
+ size="sm"
28
+ iconOnly
29
+ class="w-5 h-5"
19
30
  @click.stop="handleFocus"
20
31
  @mousedown.prevent
21
- class="text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-4 focus:outline-none focus:ring-purple-300 dark:focus:ring-purple-800
22
- font-medium rounded-lg text-sm w-6 h-6 flex items-center justify-center">
23
- <IconMagic class="w-4 h-4"/>
24
- </button>
32
+ >
33
+ <IconSparkles />
34
+ </Button>
25
35
  <template #tooltip>
26
36
  {{ $t('Start completion') }}
27
37
  </template>
28
- </Tooltip>
38
+ </Tooltip>
29
39
 
30
- <Spinner v-else-if="isLoading" class="w-6 h-6" lightFill="#000000" darkFill="#ffffff" />
40
+ <Spinner v-else-if="isLoading" class="w-4 h-4" />
31
41
  <Tooltip v-else-if="isFocused">
32
- <button
42
+ <Button
43
+ variant="ghost"
44
+ size="sm"
45
+ class="h-5 px-0.5"
33
46
  @click.stop="approveCompletion"
34
47
  @mousedown.prevent
35
- :class="[
36
- 'text-white bg-gradient-to-r from-purple-500 via-purple-600 to-purple-700 hover:bg-gradient-to-br focus:ring-4 focus:outline-none focus:ring-purple-300 dark:focus:ring-purple-800',
37
- 'font-medium rounded-lg text-xs flex items-center justify-center py-1 px-1 ',
38
- buttonText === approveCompletionValue ? 'w-16' : 'w-18'
39
- ]">
40
- <div
41
- class="flex items-center justify-center"
42
- v-if="buttonText === approveCompletionValue"
43
- >
44
- <IconArrowRightThin class="mt-0.5 w-5 h-5 text-white"/>
45
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
46
- <p class="mt-0.5">Tab</p>
47
- </span>
48
- </div>
49
- <div
50
- class="flex items-center justify-center"
51
- v-else-if="buttonText === approveNextWordValue"
52
- >
53
- <IconArrowRightThin class="mt-0.5 w-5 h-5 text-white" />
54
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
55
- <p class="mt-0.5">Ctrl</p>
56
- </span>
57
- <span class="ml-1 text-white">+</span>
58
- <span class="ml-1 px-1 h-4 flex items-center justify-center rounded border bg-white text-black text-[10px] font-mono shadow-inner shadow-sm border-gray-300 dark:bg-gray-700 dark:text-white dark:border-gray-500">
59
- <IconArrowRightThin class="w-3.5 h-3.5" />
60
- </span>
61
- </div>
62
- </button>
48
+ >
49
+ <kbd class="inline-flex items-center h-[18px] px-[5px] rounded border border-lightInputBorder bg-lightInputBackground text-lightInputIconColor font-mono text-[11px] font-normal leading-none dark:border-darkInputBorder dark:bg-darkInputBackground dark:text-darkInputIconColor">
50
+ {{ buttonText }}
51
+ </kbd>
52
+ </Button>
63
53
  <template #tooltip>
64
54
  {{ $t(tooltipText) }}
65
55
  </template>
66
56
  </Tooltip>
67
-
68
57
  </div>
69
58
  </div>
70
59
  </template>
@@ -73,8 +62,8 @@
73
62
  import { ref, onMounted, watch, Ref, computed, defineAsyncComponent } from 'vue';
74
63
  import { callAdminForthApi } from '@/utils';
75
64
  import { AdminForthColumnCommon } from '@/types/Common';
76
- import { Spinner, Tooltip } from '@/afcl';
77
- import { IconMagic, IconCheck, IconArrowRightThin } from '@iconify-prerendered/vue-mdi';
65
+ import { Button, Spinner, Tooltip } from '@/afcl';
66
+ import { IconSparkles } from '@iconify-prerendered/vue-lucide';
78
67
 
79
68
 
80
69
  const SuggestionInput = defineAsyncComponent(async () => {
@@ -92,8 +81,8 @@ const props = defineProps<{
92
81
  const emit = defineEmits([
93
82
  'update:value',
94
83
  ]);
95
- const approveCompletionValue:string='TAB';
96
- const approveNextWordValue:string='CTRL + ->'
84
+ const approveCompletionValue:string='Tab';
85
+ const approveNextWordValue:string='Ctrl →'
97
86
  const isLoading = ref<boolean>(false);
98
87
  const isUntouched = ref<boolean>(true);
99
88
  const isFocused = ref<boolean>(false);
@@ -119,13 +108,6 @@ onMounted(() => {
119
108
  if (value.trim()) {
120
109
  isUntouched.value = false;
121
110
  }
122
- if (suggestionInputRef.value) {
123
- const editor = suggestionInputRef.value.$el.querySelector('.ql-editor');
124
- if (editor) {
125
- editor.addEventListener('focus', handleFocus);
126
- editor.addEventListener('blur', handleBlur);
127
- }
128
- }
129
111
  });
130
112
 
131
113
  watch(() => currentValue.value, (value) => {
@@ -168,7 +150,6 @@ const approveCompletion = async () => {
168
150
  }
169
151
 
170
152
  function handleFocus() {
171
- isFocused.value = true;
172
153
  if (suggestionInputRef.value) {
173
154
  const editor = suggestionInputRef.value.$el.querySelector('.ql-editor');
174
155
  if (editor) {
@@ -177,18 +158,23 @@ function handleFocus() {
177
158
  }
178
159
  }
179
160
 
180
- function handleBlur() {
181
- isFocused.value = false;
182
- }
183
-
184
161
  </script>
185
162
 
186
163
  <style>
187
- .ql-editor::before {
188
- @apply text-gray-500 dark:text-gray-400 text-sm font-normal font-sans !important;
164
+ /* Quill sets its own font and line height, the field uses the ones of AFCL Input */
165
+ .af-text-complete-input .ql-container {
166
+ font: inherit;
167
+ }
168
+
169
+ .af-text-complete-input .ql-editor {
170
+ line-height: inherit;
171
+ }
172
+
173
+ .af-text-complete-input .ql-editor.ql-blank::before {
174
+ @apply text-lightInputPlaceholderText dark:text-darkInputPlaceholderText;
189
175
  }
190
176
 
191
- .ql-editor {
192
- font-size: 0.875rem;
177
+ .af-text-complete-input .ql-container .ql-editor [completer] {
178
+ @apply not-italic text-lightInputPlaceholderText dark:text-darkInputPlaceholderText;
193
179
  }
194
180
  </style>
@@ -9,7 +9,6 @@
9
9
  "version": "1.0.0",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@iconify-prerendered/vue-mdi": "^0.28.1737398331",
13
12
  "vue-suggestion-input": "^1.0.17"
14
13
  }
15
14
  },
@@ -59,18 +58,6 @@
59
58
  "node": ">=6.9.0"
60
59
  }
61
60
  },
62
- "node_modules/@iconify-prerendered/vue-mdi": {
63
- "version": "0.28.1737398331",
64
- "resolved": "https://registry.npmjs.org/@iconify-prerendered/vue-mdi/-/vue-mdi-0.28.1737398331.tgz",
65
- "integrity": "sha512-VzBgRTfdhrUZeuaImPGX+l+Eb94qEQSSLGKKHs6BxQXJV9jPoDGqgQkzsUbZHThC81WQ1aY2EvlhmTgGq9yKEA==",
66
- "license": "Apache-2.0",
67
- "funding": {
68
- "url": "https://www.buymeacoffee.com/kozack/"
69
- },
70
- "peerDependencies": {
71
- "vue": "^3.0.0"
72
- }
73
- },
74
61
  "node_modules/@jridgewell/sourcemap-codec": {
75
62
  "version": "1.5.5",
76
63
  "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
@@ -10,7 +10,6 @@
10
10
  "author": "DevForth (https://devforth.io)",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@iconify-prerendered/vue-mdi": "^0.28.1737398331",
14
13
  "vue-suggestion-input": "^1.0.17"
15
14
  }
16
15
  }
@@ -8,9 +8,6 @@ importers:
8
8
 
9
9
  .:
10
10
  dependencies:
11
- '@iconify-prerendered/vue-mdi':
12
- specifier: ^0.28.1737398331
13
- version: 0.28.1737398331(vue@3.5.30)
14
11
  vue-suggestion-input:
15
12
  specifier: ^1.0.17
16
13
  version: 1.0.17
@@ -34,11 +31,6 @@ packages:
34
31
  resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
35
32
  engines: {node: '>=6.9.0'}
36
33
 
37
- '@iconify-prerendered/vue-mdi@0.28.1737398331':
38
- resolution: {integrity: sha512-VzBgRTfdhrUZeuaImPGX+l+Eb94qEQSSLGKKHs6BxQXJV9jPoDGqgQkzsUbZHThC81WQ1aY2EvlhmTgGq9yKEA==}
39
- peerDependencies:
40
- vue: ^3.0.0
41
-
42
34
  '@jridgewell/sourcemap-codec@1.5.5':
43
35
  resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
44
36
 
@@ -153,10 +145,6 @@ snapshots:
153
145
  '@babel/helper-string-parser': 7.27.1
154
146
  '@babel/helper-validator-identifier': 7.28.5
155
147
 
156
- '@iconify-prerendered/vue-mdi@0.28.1737398331(vue@3.5.30)':
157
- dependencies:
158
- vue: 3.5.30
159
-
160
148
  '@jridgewell/sourcemap-codec@1.5.5': {}
161
149
 
162
150
  '@vue/compiler-core@3.5.30':
package/dist/index.js CHANGED
@@ -70,6 +70,7 @@ export default class TextCompletePlugin extends AdminForthPlugin {
70
70
  server.endpoint({
71
71
  method: 'POST',
72
72
  path: `/plugin/${this.pluginInstanceId}/doComplete`,
73
+ agent: { hiddenFromAgents: true },
73
74
  request_schema: doCompleteBodySchema,
74
75
  handler: (_a) => __awaiter(this, [_a], void 0, function* ({ body, headers }) {
75
76
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
package/index.ts CHANGED
@@ -87,6 +87,7 @@ export default class TextCompletePlugin extends AdminForthPlugin {
87
87
  server.endpoint({
88
88
  method: 'POST',
89
89
  path: `/plugin/${this.pluginInstanceId}/doComplete`,
90
+ agent: { hiddenFromAgents: true },
90
91
  request_schema: doCompleteBodySchema,
91
92
  handler: async ({ body, headers }) => {
92
93
  const data = body as z.infer<typeof doCompleteBodySchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminforth/text-complete",
3
- "version": "2.1.1",
3
+ "version": "3.0.1",
4
4
  "description": "Text completion plugin for adminforth",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.10.7",
30
- "adminforth": "^3.8.2",
30
+ "adminforth": "^4.7.3",
31
31
  "semantic-release": "^24.2.1",
32
32
  "semantic-release-slack-bot": "^4.0.2",
33
33
  "typescript": "^5.7.3"
@@ -58,6 +58,6 @@
58
58
  ]
59
59
  },
60
60
  "peerDependencies": {
61
- "adminforth": "^3.8.2"
61
+ "adminforth": "^4.0.0"
62
62
  }
63
63
  }