@blueking/ai-ui-sdk 0.6.0-beta.14 → 0.6.0-beta.15

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 (104) hide show
  1. package/README.md +2 -1
  2. package/dist/components/render-agent/agent-type.vue.css +4 -4
  3. package/dist/components/render-agent/agent-type.vue.js +1 -1
  4. package/dist/components/render-auto-height-textarea/index.vue.css +11 -11
  5. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  6. package/dist/components/render-card/agent/prefix-info-tool.vue.css +5 -5
  7. package/dist/components/render-card/agent/prefix-info-tool.vue.js +1 -1
  8. package/dist/components/render-card/agent/upgrade.vue.css +2 -2
  9. package/dist/components/render-card/agent/upgrade.vue.js +1 -1
  10. package/dist/components/render-card/base.vue.css +13 -13
  11. package/dist/components/render-card/base.vue.js +1 -1
  12. package/dist/components/render-card/llm/corner-badge.vue.css +3 -3
  13. package/dist/components/render-card/llm/corner-badge.vue.js +1 -1
  14. package/dist/components/render-card/llm/icons.vue.css +2 -2
  15. package/dist/components/render-card/llm/icons.vue.js +1 -1
  16. package/dist/components/render-card/llm/info.vue.css +1 -1
  17. package/dist/components/render-card/llm/info.vue.js +1 -1
  18. package/dist/components/render-card/llm/tag-prefix.vue.css +2 -2
  19. package/dist/components/render-card/llm/tag-prefix.vue.js +1 -1
  20. package/dist/components/render-card/mcp/name-suffix.vue.css +2 -2
  21. package/dist/components/render-card/mcp/name-suffix.vue.js +1 -1
  22. package/dist/components/render-card/prompt/icons.vue.css +1 -1
  23. package/dist/components/render-card/prompt/icons.vue.js +1 -1
  24. package/dist/components/render-card/skill/scanner.vue.css +3 -3
  25. package/dist/components/render-card/skill/scanner.vue.js +1 -1
  26. package/dist/components/render-checkbox/index.vue.css +4 -4
  27. package/dist/components/render-checkbox/index.vue.js +1 -1
  28. package/dist/components/render-choose-tag/index.vue.css +7 -7
  29. package/dist/components/render-choose-tag/index.vue.js +1 -1
  30. package/dist/components/render-collapse/index.vue.css +2 -2
  31. package/dist/components/render-collapse/index.vue.js +1 -1
  32. package/dist/components/render-collection/content/index.vue.css +4 -4
  33. package/dist/components/render-collection/content/index.vue.js +1 -1
  34. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.css +3 -3
  35. package/dist/components/render-dataset/components/batch-delete-dataset-data/index.vue.js +1 -1
  36. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  37. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  38. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  39. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  40. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  41. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  42. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  43. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  44. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +1 -1
  45. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  46. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +2 -2
  47. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +1 -1
  48. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  49. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  50. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +1 -1
  51. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  52. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +10 -10
  53. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  54. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  55. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  56. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  57. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  58. package/dist/components/render-dataset-list/index.vue.css +2 -2
  59. package/dist/components/render-dataset-list/index.vue.js +1 -1
  60. package/dist/components/render-dialog/choose-resource.vue.css +3 -3
  61. package/dist/components/render-dialog/choose-resource.vue.js +1 -1
  62. package/dist/components/render-dialog/choose-result.vue.css +14 -14
  63. package/dist/components/render-dialog/choose-result.vue.js +1 -1
  64. package/dist/components/render-dialog/choose-space.vue.css +9 -9
  65. package/dist/components/render-dialog/choose-space.vue.js +1 -1
  66. package/dist/components/render-dialog/index.vue.css +6 -6
  67. package/dist/components/render-dialog/index.vue.js +1 -1
  68. package/dist/components/render-exception/index.vue.css +9 -9
  69. package/dist/components/render-exception/index.vue.js +1 -1
  70. package/dist/components/render-file-card/index.vue.css +11 -11
  71. package/dist/components/render-file-card/index.vue.js +1 -1
  72. package/dist/components/render-file-type-icon/index.vue.css +6 -6
  73. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  74. package/dist/components/render-generate-tag/index.vue.css +7 -7
  75. package/dist/components/render-generate-tag/index.vue.js +1 -1
  76. package/dist/components/render-knowledge/icon/index.vue.css +1 -1
  77. package/dist/components/render-knowledge/icon/index.vue.js +1 -1
  78. package/dist/components/render-prompt/content/index.vue.css +1 -1
  79. package/dist/components/render-prompt/content/index.vue.js +1 -1
  80. package/dist/components/render-reference/index.vue.css +2 -2
  81. package/dist/components/render-reference/index.vue.js +1 -1
  82. package/dist/components/render-resource-version/index.vue.css +2 -2
  83. package/dist/components/render-resource-version/index.vue.js +1 -1
  84. package/dist/components/render-router-tab/index.vue.css +3 -3
  85. package/dist/components/render-router-tab/index.vue.js +1 -1
  86. package/dist/components/render-select-plus-extension/index.vue.css +3 -3
  87. package/dist/components/render-select-plus-extension/index.vue.js +1 -1
  88. package/dist/components/render-t-table/index.vue.css +30 -30
  89. package/dist/components/render-t-table/index.vue.js +1 -1
  90. package/dist/components/render-tag-tree/index.vue.css +7 -7
  91. package/dist/components/render-tag-tree/index.vue.js +1 -1
  92. package/dist/components/render-tags/index.vue.css +6 -6
  93. package/dist/components/render-tags/index.vue.js +1 -1
  94. package/dist/hooks/use-form-rule.d.ts +31 -2
  95. package/dist/hooks/use-form-rule.ts.js +65 -26
  96. package/dist/hooks/use-meta-http.d.ts +6 -2
  97. package/dist/hooks/use-meta-http.ts.js +19 -5
  98. package/dist/hooks.d.ts +1 -0
  99. package/dist/hooks.ts.js +1 -0
  100. package/dist/i18n/en-US.d.ts +3 -0
  101. package/dist/i18n/en-US.ts.js +3 -0
  102. package/dist/i18n/zh-CN.d.ts +3 -0
  103. package/dist/i18n/zh-CN.ts.js +3 -0
  104. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
 
2
- .ai-ui-sdk-icon[data-v-225j9qv8] {
2
+ .ai-ui-sdk-icon[data-v-glg7olrd] {
3
3
  color: var(--aidev-assist-color);
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-225j9qv8";
2
+ script.__scopeId = "data-v-glg7olrd";
3
3
  script.__file = "./src/components/render-knowledge/icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .resource-card-description[data-v-jh2ilf7p] {
2
+ .resource-card-description[data-v-76tjwnfu] {
3
3
  color: var(--aidev-main-color);
4
4
  height: 120px;
5
5
  white-space: pre-wrap;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-jh2ilf7p";
2
+ script.__scopeId = "data-v-76tjwnfu";
3
3
  script.__file = "./src/components/render-prompt/content/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,8 +1,8 @@
1
1
 
2
- .reference-table[data-v-tw95svgt]{
2
+ .reference-table[data-v-0nuc47nw]{
3
3
  padding: 18px 24px;
4
4
  }
5
- .bk-radio-button[data-v-tw95svgt]{
5
+ .bk-radio-button[data-v-0nuc47nw]{
6
6
  flex: 1;
7
7
  text-align: center;
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-tw95svgt";
2
+ script.__scopeId = "data-v-0nuc47nw";
3
3
  script.__file = "./src/components/render-reference/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,11 +1,11 @@
1
1
 
2
- .resource-version[data-v-jar944jv] {
2
+ .resource-version[data-v-1wgw9gmh] {
3
3
  border-radius: var(--aidev-radius-s);
4
4
  text-align: left;
5
5
  color: var(--aidev-tag-color);
6
6
  background-color: var(--aidev-tag-background);
7
7
  white-space: nowrap;
8
8
  }
9
- .resource-version .bkaidev-rizhifenxi[data-v-jar944jv] {
9
+ .resource-version .bkaidev-rizhifenxi[data-v-1wgw9gmh] {
10
10
  color: var(--aidev-clickable-color);
11
11
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-jar944jv";
2
+ script.__scopeId = "data-v-1wgw9gmh";
3
3
  script.__file = "./src/components/render-resource-version/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,12 +1,12 @@
1
1
 
2
- .router-tab[data-v-1kmatddx] {
2
+ .router-tab[data-v-7exahqmj] {
3
3
  margin-top: 2px;
4
4
  height: 42px;
5
5
  background: #FFFFFF;
6
6
  box-shadow: 0 2px 4px 0 #1919290d;
7
7
  padding: 0 24px;
8
8
  }
9
- .router-tab a[data-v-1kmatddx] {
9
+ .router-tab a[data-v-7exahqmj] {
10
10
  padding: 0 8px;
11
11
  margin-right: 24px;
12
12
  font-size: 14px;
@@ -15,7 +15,7 @@
15
15
  color: var(--aidev-main-color);
16
16
  box-sizing: border-box;
17
17
  }
18
- .router-tab a.router-link-exact-active[data-v-1kmatddx] {
18
+ .router-tab a.router-link-exact-active[data-v-7exahqmj] {
19
19
  color: var(--aidev-clickable-color);
20
20
  border-bottom: 2px solid var(--aidev-clickable-color);
21
21
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-1kmatddx";
2
+ script.__scopeId = "data-v-7exahqmj";
3
3
  script.__file = "./src/components/render-router-tab/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .select-plus-extension[data-v-wcewvl4q] {
2
+ .select-plus-extension[data-v-be7717nc] {
3
3
  cursor: pointer;
4
4
  width: 100%;
5
5
  display: flex;
@@ -8,10 +8,10 @@
8
8
  font-size: 12px;
9
9
  line-height: 20px;
10
10
  }
11
- .select-plus-extension .ai-ui-sdk-icon[data-v-wcewvl4q] {
11
+ .select-plus-extension .ai-ui-sdk-icon[data-v-be7717nc] {
12
12
  font-size: 14px;
13
13
  margin-right: 6px;
14
14
  }
15
- .select-plus-extension[data-v-wcewvl4q]:hover {
15
+ .select-plus-extension[data-v-be7717nc]:hover {
16
16
  color: var(--aidev-clickable-color);
17
17
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-wcewvl4q";
2
+ script.__scopeId = "data-v-be7717nc";
3
3
  script.__file = "./src/components/render-select-plus-extension/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .t-table[data-v-vgrl0gj6] {
2
+ .t-table[data-v-aefu84kl] {
3
3
  --td-font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC',
4
4
  'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;
5
5
  --td-component-border: var(--aidev-line-medium-color);
@@ -9,31 +9,31 @@
9
9
  font-family: var(--td-font-family);
10
10
  font-size: 12px;
11
11
  }
12
- [data-v-vgrl0gj6] .t-loading__gradient {
12
+ [data-v-aefu84kl] .t-loading__gradient {
13
13
  display: none;
14
14
  }
15
- [data-v-vgrl0gj6] .t-loading__text {
15
+ [data-v-aefu84kl] .t-loading__text {
16
16
  margin-left: 0;
17
17
  }
18
- [data-v-vgrl0gj6] .t-table__content {
18
+ [data-v-aefu84kl] .t-table__content {
19
19
  flex: 1 1 auto;
20
20
  min-height: 0;
21
21
  overflow: auto;
22
22
  }
23
- [data-v-vgrl0gj6] .t-table__content > table {
23
+ [data-v-aefu84kl] .t-table__content > table {
24
24
  border-collapse: separate;
25
25
  }
26
- .t-table[data-v-vgrl0gj6] {
26
+ .t-table[data-v-aefu84kl] {
27
27
  --loading-bottom: 0px;
28
28
  }
29
- .t-table.is-paginated[data-v-vgrl0gj6] {
29
+ .t-table.is-paginated[data-v-aefu84kl] {
30
30
  --loading-bottom: 60px;
31
31
  }
32
- [data-v-vgrl0gj6] .t-loading--full {
32
+ [data-v-aefu84kl] .t-loading--full {
33
33
  top: 42px;
34
34
  height: calc(100% - 42px - var(--loading-bottom));
35
35
  }
36
- [data-v-vgrl0gj6] .t-table__top-content {
36
+ [data-v-aefu84kl] .t-table__top-content {
37
37
  position: absolute;
38
38
  top: 0;
39
39
  right: 0;
@@ -50,7 +50,7 @@
50
50
  border-left: 1px solid var(--aidev-line-medium-color);
51
51
  border-bottom: 1px solid var(--aidev-line-medium-color);
52
52
  }
53
- .t-table-setting-trigger[data-v-vgrl0gj6] {
53
+ .t-table-setting-trigger[data-v-aefu84kl] {
54
54
  display: inline-flex;
55
55
  align-items: center;
56
56
  justify-content: center;
@@ -58,13 +58,13 @@
58
58
  color: var(--aidev-disabled-color);
59
59
  cursor: pointer;
60
60
  }
61
- .t-table-setting-trigger[data-v-vgrl0gj6]:hover {
61
+ .t-table-setting-trigger[data-v-aefu84kl]:hover {
62
62
  color: var(--aidev-clickable-color);
63
63
  }
64
- [data-v-vgrl0gj6] .t-table__header th:last-child {
64
+ [data-v-aefu84kl] .t-table__header th:last-child {
65
65
  padding-right: 42px !important;
66
66
  }
67
- [data-v-vgrl0gj6] .t-table__header th {
67
+ [data-v-aefu84kl] .t-table__header th {
68
68
  height: 42px;
69
69
  padding-top: 0;
70
70
  padding-bottom: 0;
@@ -74,25 +74,25 @@
74
74
  font-family: inherit;
75
75
  font-size: 12px;
76
76
  }
77
- [data-v-vgrl0gj6] .t-table__th-cell-inner {
77
+ [data-v-aefu84kl] .t-table__th-cell-inner {
78
78
  color: var(--aidev-title-color);
79
79
  }
80
- [data-v-vgrl0gj6] .t-table__cell--sort-trigger.t-table__double-icons {
80
+ [data-v-aefu84kl] .t-table__cell--sort-trigger.t-table__double-icons {
81
81
  gap: 2px;
82
82
  }
83
- [data-v-vgrl0gj6] .t-table__sort-icon--active > i {
83
+ [data-v-aefu84kl] .t-table__sort-icon--active > i {
84
84
  color: var(--aidev-clickable-color) !important;
85
85
  }
86
- [data-v-vgrl0gj6] .t-table__header th:hover {
86
+ [data-v-aefu84kl] .t-table__header th:hover {
87
87
  background-color: var(--aidev-inner-background) !important;
88
88
  }
89
- .t-table--column-resizable[data-v-vgrl0gj6]:not(.t-table--bordered) thead.t-table__header th {
89
+ .t-table--column-resizable[data-v-aefu84kl]:not(.t-table--bordered) thead.t-table__header th {
90
90
  border-top-color: var(--aidev-list-item-hover-background) !important;
91
91
  }
92
- .t-table--column-resizable[data-v-vgrl0gj6]:not(.t-table--bordered) thead.t-table__header th:not(:last-child) {
92
+ .t-table--column-resizable[data-v-aefu84kl]:not(.t-table--bordered) thead.t-table__header th:not(:last-child) {
93
93
  border-right-color: var(--aidev-list-item-hover-background) !important;
94
94
  }
95
- [data-v-vgrl0gj6] .t-table__body td {
95
+ [data-v-aefu84kl] .t-table__body td {
96
96
  height: 42px;
97
97
  padding-top: 0;
98
98
  padding-bottom: 0;
@@ -100,16 +100,16 @@
100
100
  font-family: inherit;
101
101
  font-size: 12px;
102
102
  }
103
- [data-v-vgrl0gj6] .t-table__body tr:not(.t-table__empty-row):hover,[data-v-vgrl0gj6] .t-table__body tr.t-table__row--hover {
103
+ [data-v-aefu84kl] .t-table__body tr:not(.t-table__empty-row):hover,[data-v-aefu84kl] .t-table__body tr.t-table__row--hover {
104
104
  background-color: var(--aidev-list-item-hover-background);
105
105
  }
106
- [data-v-vgrl0gj6] .t-table__body tr:not(.t-table__empty-row):not(.t-table__row--active):hover > td,[data-v-vgrl0gj6] .t-table__body tr.t-table__row--hover:not(.t-table__row--active) > td {
106
+ [data-v-aefu84kl] .t-table__body tr:not(.t-table__empty-row):not(.t-table__row--active):hover > td,[data-v-aefu84kl] .t-table__body tr.t-table__row--hover:not(.t-table__row--active) > td {
107
107
  background-color: var(--aidev-list-item-hover-background);
108
108
  }
109
- [data-v-vgrl0gj6] .t-table__body tr.t-table__empty-row,[data-v-vgrl0gj6] .t-table__body tr.t-table__empty-row:hover,[data-v-vgrl0gj6] .t-table__body tr.t-table__empty-row:hover > td {
109
+ [data-v-aefu84kl] .t-table__body tr.t-table__empty-row,[data-v-aefu84kl] .t-table__body tr.t-table__empty-row:hover,[data-v-aefu84kl] .t-table__body tr.t-table__empty-row:hover > td {
110
110
  background-color: transparent !important;
111
111
  }
112
- [data-v-vgrl0gj6] .t-table__pagination {
112
+ [data-v-aefu84kl] .t-table__pagination {
113
113
  box-sizing: border-box;
114
114
  display: flex;
115
115
  flex-shrink: 0;
@@ -120,25 +120,25 @@
120
120
  font-family: inherit;
121
121
  font-size: 12px;
122
122
  }
123
- [data-v-vgrl0gj6] .t-pagination {
123
+ [data-v-aefu84kl] .t-pagination {
124
124
  font-family: inherit;
125
125
  font-size: 12px;
126
126
  }
127
- [data-v-vgrl0gj6] .t-pagination__total,[data-v-vgrl0gj6] .t-pagination__select,[data-v-vgrl0gj6] .t-pagination__number,[data-v-vgrl0gj6] .t-pagination__jump {
127
+ [data-v-aefu84kl] .t-pagination__total,[data-v-aefu84kl] .t-pagination__select,[data-v-aefu84kl] .t-pagination__number,[data-v-aefu84kl] .t-pagination__jump {
128
128
  font-family: inherit;
129
129
  font-size: 12px;
130
130
  }
131
- [data-v-vgrl0gj6] .t-pagination__select,[data-v-vgrl0gj6] .t-pagination__select .t-input,[data-v-vgrl0gj6] .t-pagination__select .t-input__inner,[data-v-vgrl0gj6] .t-pagination__select .t-select-input,[data-v-vgrl0gj6] .t-pagination__select .t-select__single {
131
+ [data-v-aefu84kl] .t-pagination__select,[data-v-aefu84kl] .t-pagination__select .t-input,[data-v-aefu84kl] .t-pagination__select .t-input__inner,[data-v-aefu84kl] .t-pagination__select .t-select-input,[data-v-aefu84kl] .t-pagination__select .t-select__single {
132
132
  font-size: 12px;
133
133
  color: var(--aidev-main-color);
134
134
  }
135
- [data-v-vgrl0gj6] .t-pagination__select .t-input--focused {
135
+ [data-v-aefu84kl] .t-pagination__select .t-input--focused {
136
136
  border-color: var(--aidev-clickable-color) !important;
137
137
  }
138
- .t-table--loading[data-v-vgrl0gj6] .t-table__content {
138
+ .t-table--loading[data-v-aefu84kl] .t-table__content {
139
139
  min-height: 126px !important;
140
140
  }
141
- [data-v-vgrl0gj6] .t-pagination__number.t-is-current,[data-v-vgrl0gj6] .t-pagination__number.t-is-current:hover,[data-v-vgrl0gj6] .t-pagination__number.t-is-current:active,[data-v-vgrl0gj6] .t-pagination__number:active {
141
+ [data-v-aefu84kl] .t-pagination__number.t-is-current,[data-v-aefu84kl] .t-pagination__number.t-is-current:hover,[data-v-aefu84kl] .t-pagination__number.t-is-current:active,[data-v-aefu84kl] .t-pagination__number:active {
142
142
  background-color: #e1ecff;
143
143
  border-color: #e1ecff;
144
144
  color: var(--aidev-clickable-color);
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-vgrl0gj6";
2
+ script.__scopeId = "data-v-aefu84kl";
3
3
  script.__file = "./src/components/render-t-table/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,28 +1,28 @@
1
1
 
2
- .tag-tree[data-v-u7ohqfgo] {
2
+ .tag-tree[data-v-yxx0uxes] {
3
3
  font-size: 12px;
4
4
  height: auto;
5
5
  max-height: calc(100% - 44px);
6
6
  }
7
- .tag-tree .manage-tree-item[data-v-u7ohqfgo] {
7
+ .tag-tree .manage-tree-item[data-v-yxx0uxes] {
8
8
  height: 32px;
9
9
  flex: 1;
10
10
  }
11
- .tag-tree .quick-icon[data-v-u7ohqfgo] {
11
+ .tag-tree .quick-icon[data-v-yxx0uxes] {
12
12
  margin-left: -24px;
13
13
  padding-left: 8px;
14
14
  }
15
- .tag-tree[data-v-u7ohqfgo] .tree-item:has(.bottom-line) {
15
+ .tag-tree[data-v-yxx0uxes] .tree-item:has(.bottom-line) {
16
16
  border-bottom: 1px solid var(--aidev-line-strong-color);
17
17
  }
18
- .tag-tree[data-v-u7ohqfgo] .tree-item.active .quick-icon {
18
+ .tag-tree[data-v-yxx0uxes] .tree-item.active .quick-icon {
19
19
  color: var(--aidev-clickable-color);
20
20
  }
21
- .tag-tree[data-v-u7ohqfgo] .tree-item.active .tag-number {
21
+ .tag-tree[data-v-yxx0uxes] .tree-item.active .tag-number {
22
22
  background: var(--aidev-list-item-active-count-background);
23
23
  color: #fff;
24
24
  }
25
- .tag-number[data-v-u7ohqfgo] {
25
+ .tag-number[data-v-yxx0uxes] {
26
26
  line-height: 16px;
27
27
  padding: 0 4px;
28
28
  background-color: var(--aidev-tag-background);
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-u7ohqfgo";
2
+ script.__scopeId = "data-v-yxx0uxes";
3
3
  script.__file = "./src/components/render-tag-tree/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,24 +1,24 @@
1
1
 
2
- .tag-container[data-v-pspq4iu6] {
2
+ .tag-container[data-v-o1q8w989] {
3
3
  visibility: hidden;
4
4
  white-space: nowrap;
5
5
  column-gap: 4px;
6
6
  width: calc(100% - 20px);
7
7
  }
8
- .tag-home[data-v-pspq4iu6] {
8
+ .tag-home[data-v-o1q8w989] {
9
9
  vertical-align: sub;
10
10
  flex-shrink: 0;
11
11
  }
12
- [is-show="true"][data-v-pspq4iu6] {
12
+ [is-show="true"][data-v-o1q8w989] {
13
13
  visibility: visible;
14
14
  }
15
- [is-show="false"][data-v-pspq4iu6] {
15
+ [is-show="false"][data-v-o1q8w989] {
16
16
  display: none !important;
17
17
  }
18
- .popover-main[data-v-pspq4iu6] {
18
+ .popover-main[data-v-o1q8w989] {
19
19
  padding: 8px 8px 10px;
20
20
  }
21
- .tag-list[data-v-pspq4iu6] {
21
+ .tag-list[data-v-o1q8w989] {
22
22
  border-radius: var(--aidev-radius-s);
23
23
  background: var(--aidev-tag-background);
24
24
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-pspq4iu6";
2
+ script.__scopeId = "data-v-o1q8w989";
3
3
  script.__file = "./src/components/render-tags/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,5 +1,9 @@
1
1
  import { type Ref } from 'vue';
2
2
  import { Module } from '@/types/enum';
3
+ export interface IRemoteRuleOptions {
4
+ getData?: () => Record<string, unknown>;
5
+ key?: number | string;
6
+ }
3
7
  export declare const useFormRule: (apiPrefix: string, spaceId?: Ref<string>) => {
4
8
  codeRule: {
5
9
  validator: (value: string) => boolean;
@@ -11,12 +15,22 @@ export declare const useFormRule: (apiPrefix: string, spaceId?: Ref<string>) =>
11
15
  message: string;
12
16
  trigger: string;
13
17
  };
14
- getNameRule: (type: Module) => {
18
+ getNameRule: (type: Module, options?: IRemoteRuleOptions) => {
15
19
  validator: (value: string) => Promise<boolean>;
16
20
  message: () => string;
17
21
  trigger: string;
18
22
  };
19
- getCodeRule: (type: Module, getIsEdit?: () => boolean, getData?: () => Record<string, unknown>) => {
23
+ getCodeRule: (type: Module, getIsEdit?: () => boolean, options?: IRemoteRuleOptions) => {
24
+ validator: (value: string) => Promise<boolean>;
25
+ message: () => string;
26
+ trigger: string;
27
+ };
28
+ getUrlRule: (type: Module, options?: IRemoteRuleOptions) => {
29
+ validator: (value: string) => Promise<boolean>;
30
+ message: () => string;
31
+ trigger: string;
32
+ };
33
+ getAsyncRule: (api: (value: string) => Promise<unknown>) => {
20
34
  validator: (value: string) => Promise<boolean>;
21
35
  message: () => string;
22
36
  trigger: string;
@@ -26,4 +40,19 @@ export declare const useFormRule: (apiPrefix: string, spaceId?: Ref<string>) =>
26
40
  message: string;
27
41
  trigger: string;
28
42
  };
43
+ getNumberRule: () => {
44
+ validator: (value: string) => boolean;
45
+ message: string;
46
+ trigger: string;
47
+ };
48
+ getPositiveNumberRule: () => {
49
+ validator: (value: string) => boolean;
50
+ message: string;
51
+ trigger: string;
52
+ };
53
+ getNonNegativeNumberRule: () => {
54
+ validator: (value: string) => boolean;
55
+ message: string;
56
+ trigger: string;
57
+ };
29
58
  };
@@ -30,23 +30,39 @@ function _async_to_generator(fn) {
30
30
  import { useMetaHttp } from './use-meta-http.ts.js';
31
31
  import { t } from '../i18n/index.ts.js';
32
32
  export const useFormRule = (apiPrefix, spaceId)=>{
33
- const { nameValidator, codeValidator } = useMetaHttp(apiPrefix, spaceId);
34
- let nameErrorMessage = '';
35
- let codeErrorMessage = '';
36
- const codeRule = {
37
- validator: (value)=>/^[a-zA-Z0-9-]+$/.test(value),
38
- message: t('需要是英文字符、数字、中划线'),
39
- trigger: 'change'
33
+ const { nameValidator, codeValidator, urlValidator } = useMetaHttp(apiPrefix, spaceId);
34
+ let asyncErrorMessage = '';
35
+ const remoteRuleStates = new Map();
36
+ const getRemoteRuleState = (stateKey)=>{
37
+ if (!remoteRuleStates.has(stateKey)) {
38
+ remoteRuleStates.set(stateKey, {
39
+ controller: null,
40
+ errorMessage: ''
41
+ });
42
+ }
43
+ return remoteRuleStates.get(stateKey);
40
44
  };
41
- const getNameRule = (type)=>({
45
+ const createRemoteRule = (kind, validator, type, { getData, key = 'default' } = {}, getIsSkip)=>{
46
+ const state = getRemoteRuleState(`${kind}:${type}:${key}`);
47
+ return {
42
48
  validator: function() {
43
49
  var _ref = _async_to_generator(function*(value) {
50
+ var _state_controller;
51
+ if (getIsSkip === null || getIsSkip === void 0 ? void 0 : getIsSkip()) {
52
+ return true;
53
+ }
54
+ (_state_controller = state.controller) === null || _state_controller === void 0 ? void 0 : _state_controller.abort();
55
+ const current = new AbortController();
56
+ state.controller = current;
44
57
  try {
45
- nameErrorMessage = '';
46
- const res = yield nameValidator(value, type)();
58
+ state.errorMessage = '';
59
+ const res = yield validator(value, type, getData === null || getData === void 0 ? void 0 : getData(), current.signal)();
47
60
  return res.data;
48
61
  } catch (error) {
49
- nameErrorMessage = error.message;
62
+ if (state.controller !== current) {
63
+ return true;
64
+ }
65
+ state.errorMessage = error.message;
50
66
  return false;
51
67
  }
52
68
  });
@@ -54,24 +70,27 @@ export const useFormRule = (apiPrefix, spaceId)=>{
54
70
  return _ref.apply(this, arguments);
55
71
  };
56
72
  }(),
57
- message: ()=>nameErrorMessage,
73
+ message: ()=>state.errorMessage,
58
74
  trigger: 'change'
59
- });
60
- const getCodeRule = (type, getIsEdit, getData)=>({
75
+ };
76
+ };
77
+ const codeRule = {
78
+ validator: (value)=>/^[a-zA-Z0-9-]+$/.test(value),
79
+ message: t('需要是英文字符、数字、中划线'),
80
+ trigger: 'change'
81
+ };
82
+ const getNameRule = (type, options)=>createRemoteRule('name', nameValidator, type, options);
83
+ // 编辑态不校验code
84
+ const getCodeRule = (type, getIsEdit, options)=>createRemoteRule('code', codeValidator, type, options, getIsEdit);
85
+ const getUrlRule = (type, options)=>createRemoteRule('url', urlValidator, type, options);
86
+ const getAsyncRule = (api)=>({
61
87
  validator: function() {
62
88
  var _ref = _async_to_generator(function*(value) {
63
89
  try {
64
- codeErrorMessage = '';
65
- // 编辑态不校验code
66
- const isEdit = getIsEdit === null || getIsEdit === void 0 ? void 0 : getIsEdit();
67
- if (isEdit) {
68
- return true;
69
- }
70
- // 新建态校验code
71
- const res = yield codeValidator(value, type, getData === null || getData === void 0 ? void 0 : getData())();
72
- return res.data;
90
+ asyncErrorMessage = '';
91
+ yield api(value);
73
92
  } catch (error) {
74
- codeErrorMessage = error.message;
93
+ asyncErrorMessage = error.message;
75
94
  return false;
76
95
  }
77
96
  });
@@ -79,7 +98,7 @@ export const useFormRule = (apiPrefix, spaceId)=>{
79
98
  return _ref.apply(this, arguments);
80
99
  };
81
100
  }(),
82
- message: ()=>codeErrorMessage,
101
+ message: ()=>asyncErrorMessage,
83
102
  trigger: 'change'
84
103
  });
85
104
  const getLengthRule = (label, num)=>({
@@ -95,11 +114,31 @@ export const useFormRule = (apiPrefix, spaceId)=>{
95
114
  message: t('需要是http://或者https://开头的字符串'),
96
115
  trigger: 'change'
97
116
  });
117
+ const getNumberRule = ()=>({
118
+ validator: (value)=>!isNaN(+value),
119
+ message: t('需要是数字'),
120
+ trigger: 'change'
121
+ });
122
+ const getPositiveNumberRule = ()=>({
123
+ validator: (value)=>!isNaN(+value) && +value > 0,
124
+ message: t('需要是正数'),
125
+ trigger: 'change'
126
+ });
127
+ const getNonNegativeNumberRule = ()=>({
128
+ validator: (value)=>!isNaN(+value) && +value >= 0,
129
+ message: t('不能是负数'),
130
+ trigger: 'change'
131
+ });
98
132
  return {
99
133
  codeRule,
100
134
  getApiUrlRule,
101
135
  getNameRule,
102
136
  getCodeRule,
103
- getLengthRule
137
+ getUrlRule,
138
+ getAsyncRule,
139
+ getLengthRule,
140
+ getNumberRule,
141
+ getPositiveNumberRule,
142
+ getNonNegativeNumberRule
104
143
  };
105
144
  };
@@ -1,11 +1,15 @@
1
1
  import { type Ref } from 'vue';
2
2
  import { Module } from '@/types/enum';
3
3
  export declare const useMetaHttp: (apiPrefix: string, spaceId?: Ref<string>) => {
4
- nameValidator: (name: string, type: Module) => () => Promise<{
4
+ nameValidator: (name: string, type: Module, data?: Record<string, unknown>, signal?: AbortSignal) => () => Promise<{
5
5
  data: boolean;
6
6
  message: string;
7
7
  }>;
8
- codeValidator: (code: string, type: Module, data?: Record<string, unknown>) => () => Promise<{
8
+ codeValidator: (code: string, type: Module, data?: Record<string, unknown>, signal?: AbortSignal) => () => Promise<{
9
+ data: boolean;
10
+ message: string;
11
+ }>;
12
+ urlValidator: (url: string, type: Module, data?: Record<string, unknown>, signal?: AbortSignal) => () => Promise<{
9
13
  data: boolean;
10
14
  message: string;
11
15
  }>;
@@ -31,24 +31,37 @@ import { transferTagApi2Tag } from '../http/helper/meta.ts.js';
31
31
  const metaPerfix = 'meta/v1';
32
32
  export const useMetaHttp = (apiPrefix, spaceId)=>{
33
33
  // 名称校验
34
- const nameValidator = (name, type)=>()=>fetch.get(`${apiPrefix}/${metaPerfix}/name_valid/`, {
34
+ const nameValidator = (name, type, data, signal)=>()=>fetch.get(`${apiPrefix}/${metaPerfix}/name_valid/`, _object_spread({
35
35
  name,
36
36
  type
37
- }, {
37
+ }, data), {
38
38
  globalError: false,
39
39
  headers: {
40
40
  'x-space-id': spaceId === null || spaceId === void 0 ? void 0 : spaceId.value
41
- }
41
+ },
42
+ signal
42
43
  });
43
44
  // code校验
44
- const codeValidator = (code, type, data)=>()=>fetch.get(`${apiPrefix}/${metaPerfix}/code_valid/`, _object_spread({
45
+ const codeValidator = (code, type, data, signal)=>()=>fetch.get(`${apiPrefix}/${metaPerfix}/code_valid/`, _object_spread({
45
46
  code,
46
47
  type
47
48
  }, data), {
48
49
  globalError: false,
49
50
  headers: {
50
51
  'x-space-id': spaceId === null || spaceId === void 0 ? void 0 : spaceId.value
51
- }
52
+ },
53
+ signal
54
+ });
55
+ // url校验
56
+ const urlValidator = (url, type, data, signal)=>()=>fetch.post(`${apiPrefix}/${metaPerfix}/url_valid/`, _object_spread({
57
+ url,
58
+ type
59
+ }, data), {
60
+ globalError: false,
61
+ headers: {
62
+ 'x-space-id': spaceId === null || spaceId === void 0 ? void 0 : spaceId.value
63
+ },
64
+ signal
52
65
  });
53
66
  // 获取tag列表
54
67
  const getTags = (module)=>fetch.get(`${apiPrefix}/${metaPerfix}/tag/`, {
@@ -81,6 +94,7 @@ export const useMetaHttp = (apiPrefix, spaceId)=>{
81
94
  return {
82
95
  nameValidator,
83
96
  codeValidator,
97
+ urlValidator,
84
98
  getTags,
85
99
  plusTag,
86
100
  checkTag
package/dist/hooks.d.ts CHANGED
@@ -12,3 +12,4 @@ export * from './hooks/use-loading-version';
12
12
  export * from './hooks/use-collection';
13
13
  export * from './hooks/use-scroll-load';
14
14
  export * from './hooks/use-clickoutside';
15
+ export * from './hooks/use-form-rule';
package/dist/hooks.ts.js CHANGED
@@ -12,3 +12,4 @@ export * from './hooks/use-loading-version.ts.js';
12
12
  export * from './hooks/use-collection.ts.js';
13
13
  export * from './hooks/use-scroll-load.ts.js';
14
14
  export * from './hooks/use-clickoutside.ts.js';
15
+ export * from './hooks/use-form-rule.ts.js';