@shwfed/config 2.11.6 → 2.12.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.
Files changed (256) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +1 -0
  3. package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/schema.d.ts +13 -7
  4. package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +13 -7
  5. package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.d.ts +13 -7
  6. package/dist/runtime/components/actions/items/2026-05-21/com.shwfed.actions.item.markdown/schema.d.ts +13 -7
  7. package/dist/runtime/components/actions/schema.d.ts +82 -52
  8. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.actions/schema.d.ts +5 -5
  9. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.markdown/schema.d.ts +13 -7
  10. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +68 -68
  11. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +68 -68
  12. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +68 -68
  13. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +68 -68
  14. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +96 -72
  15. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +26 -14
  16. package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.xy/schema.d.ts +39 -21
  17. package/dist/runtime/components/config/blocks/2026-06-01/com.shwfed.block.animated.number/schema.d.ts +13 -7
  18. package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/schema.d.ts +26 -14
  19. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.d.ts +44 -26
  20. package/dist/runtime/components/config/schema.d.ts +13 -7
  21. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +26 -14
  22. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +22 -22
  23. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +22 -22
  24. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +57 -33
  25. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +52 -28
  26. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -12
  27. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  28. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  29. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +65 -35
  30. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +18 -16
  31. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +22 -0
  32. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +18 -16
  33. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +5 -0
  34. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +79 -42
  35. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +12 -0
  36. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +20 -18
  37. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +22 -0
  38. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +20 -18
  39. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +5 -0
  40. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +92 -49
  41. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +12 -0
  42. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +18 -16
  43. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +22 -0
  44. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +18 -16
  45. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +5 -0
  46. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +79 -42
  47. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +12 -0
  48. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +20 -18
  49. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +22 -0
  50. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +20 -18
  51. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +5 -0
  52. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +92 -49
  53. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +12 -0
  54. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +39 -21
  55. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +39 -21
  56. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +28 -28
  57. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +28 -28
  58. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +57 -33
  59. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +6 -6
  60. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +6 -6
  61. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +65 -35
  62. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +22 -22
  63. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +22 -22
  64. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +65 -35
  65. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +104 -56
  66. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +78 -42
  67. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  68. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  69. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +65 -35
  70. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +78 -42
  71. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +91 -49
  72. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +91 -49
  73. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +39 -21
  74. package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.d.ts +13 -7
  75. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +30 -30
  76. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +30 -30
  77. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +78 -42
  78. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +18 -16
  79. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +22 -0
  80. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +18 -16
  81. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +5 -0
  82. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +79 -42
  83. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.js +12 -0
  84. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +20 -18
  85. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +22 -0
  86. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +20 -18
  87. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +5 -0
  88. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +92 -49
  89. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.js +12 -0
  90. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  91. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  92. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +65 -35
  93. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +30 -30
  94. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +30 -30
  95. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +78 -42
  96. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +30 -30
  97. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +30 -30
  98. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +78 -42
  99. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +169 -91
  100. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +169 -91
  101. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +30 -30
  102. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +30 -30
  103. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +78 -42
  104. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +30 -30
  105. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +30 -30
  106. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +78 -42
  107. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +30 -30
  108. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +30 -30
  109. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +78 -42
  110. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +30 -30
  111. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +30 -30
  112. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +78 -42
  113. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +78 -42
  114. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +130 -70
  115. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +130 -70
  116. package/dist/runtime/components/form/fields/2026-06-20/com.shwfed.form.field.tabs/schema.d.ts +26 -14
  117. package/dist/runtime/components/form/utils/ai-field-tools.d.ts +11 -0
  118. package/dist/runtime/components/form/utils/ai-field-tools.js +282 -0
  119. package/dist/runtime/components/form/utils/common.d.ts +26 -14
  120. package/dist/runtime/components/form/utils/resolve.d.ts +15 -0
  121. package/dist/runtime/components/form/utils/resolve.js +13 -0
  122. package/dist/runtime/components/operations/2026-06-09/com.shwfed.operation.alert/schema.d.ts +13 -7
  123. package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.d.ts +13 -7
  124. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts +13 -7
  125. package/dist/runtime/components/table/ai-generate.d.vue.ts +16 -0
  126. package/dist/runtime/components/table/ai-generate.system.d.ts +1 -0
  127. package/dist/runtime/components/table/ai-generate.system.js +10 -0
  128. package/dist/runtime/components/table/ai-generate.system.md +101 -0
  129. package/dist/runtime/components/table/ai-generate.vue +173 -0
  130. package/dist/runtime/components/table/ai-generate.vue.d.ts +16 -0
  131. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts +18 -12
  132. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +26 -14
  133. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +26 -14
  134. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.d.ts +39 -21
  135. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +26 -14
  136. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +26 -14
  137. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.d.ts +26 -14
  138. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +26 -14
  139. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +91 -49
  140. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +44 -26
  141. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +52 -28
  142. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +52 -28
  143. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +44 -26
  144. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +6 -6
  145. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +6 -6
  146. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +52 -28
  147. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
  148. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
  149. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +91 -49
  150. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +91 -49
  151. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +6 -6
  152. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +6 -6
  153. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +52 -28
  154. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
  155. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
  156. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +91 -49
  157. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +156 -84
  158. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
  159. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
  160. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.d.ts +156 -84
  161. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +156 -84
  162. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
  163. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
  164. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.d.ts +156 -84
  165. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  166. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  167. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +65 -35
  168. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  169. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  170. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +65 -35
  171. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  172. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  173. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +156 -84
  174. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  175. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  176. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +156 -84
  177. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  178. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  179. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +65 -35
  180. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  181. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  182. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +65 -35
  183. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  184. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  185. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +117 -63
  186. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  187. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  188. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +117 -63
  189. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  190. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  191. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +52 -28
  192. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  193. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  194. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +52 -28
  195. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +33 -0
  196. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.vue +5 -0
  197. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +71 -40
  198. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +6 -1
  199. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/config.vue +33 -0
  200. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/runtime.vue +5 -0
  201. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +79 -42
  202. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +6 -1
  203. package/dist/runtime/components/table/config.d.vue.ts +3 -3
  204. package/dist/runtime/components/table/config.vue +37 -3
  205. package/dist/runtime/components/table/config.vue.d.ts +3 -3
  206. package/dist/runtime/components/table/schema.d.ts +182 -134
  207. package/dist/runtime/components/table/utils/ai-tools.d.ts +11 -0
  208. package/dist/runtime/components/table/utils/ai-tools.js +507 -0
  209. package/dist/runtime/components/table/utils/resolve.d.ts +23 -0
  210. package/dist/runtime/components/table/utils/resolve.js +3 -0
  211. package/dist/runtime/components/table/utils/shared.d.ts +66 -35
  212. package/dist/runtime/components/table/utils/shared.js +26 -17
  213. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +1 -1
  214. package/dist/runtime/components/ui/chat/ChatMessage.d.vue.ts +7 -0
  215. package/dist/runtime/components/ui/chat/ChatMessage.vue +35 -0
  216. package/dist/runtime/components/ui/chat/ChatMessage.vue.d.ts +7 -0
  217. package/dist/runtime/components/ui/chat/ChatMessagePart.d.vue.ts +7 -0
  218. package/dist/runtime/components/ui/chat/ChatMessagePart.vue +43 -0
  219. package/dist/runtime/components/ui/chat/ChatMessagePart.vue.d.ts +7 -0
  220. package/dist/runtime/components/ui/chat/ChatMessages.d.vue.ts +18 -0
  221. package/dist/runtime/components/ui/chat/ChatMessages.vue +63 -0
  222. package/dist/runtime/components/ui/chat/ChatMessages.vue.d.ts +18 -0
  223. package/dist/runtime/components/ui/chat/ChatPrompt.d.vue.ts +34 -0
  224. package/dist/runtime/components/ui/chat/ChatPrompt.vue +53 -0
  225. package/dist/runtime/components/ui/chat/ChatPrompt.vue.d.ts +34 -0
  226. package/dist/runtime/components/ui/chat/ChatPromptSubmit.d.vue.ts +18 -0
  227. package/dist/runtime/components/ui/chat/ChatPromptSubmit.vue +41 -0
  228. package/dist/runtime/components/ui/chat/ChatPromptSubmit.vue.d.ts +18 -0
  229. package/dist/runtime/components/ui/chat/ChatReasoning.d.vue.ts +7 -0
  230. package/dist/runtime/components/ui/chat/ChatReasoning.vue +33 -0
  231. package/dist/runtime/components/ui/chat/ChatReasoning.vue.d.ts +7 -0
  232. package/dist/runtime/components/ui/chat/ChatToolCall.d.vue.ts +10 -0
  233. package/dist/runtime/components/ui/chat/ChatToolCall.vue +92 -0
  234. package/dist/runtime/components/ui/chat/ChatToolCall.vue.d.ts +10 -0
  235. package/dist/runtime/components/ui/chat/index.d.ts +9 -0
  236. package/dist/runtime/components/ui/chat/index.js +8 -0
  237. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.d.vue.ts +15 -0
  238. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.vue +22 -0
  239. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.vue.d.ts +15 -0
  240. package/dist/runtime/components/ui/stream-markdown/index.d.ts +1 -0
  241. package/dist/runtime/components/ui/stream-markdown/index.js +1 -0
  242. package/dist/runtime/share/coerce-from-string.d.ts +62 -0
  243. package/dist/runtime/share/coerce-from-string.js +154 -0
  244. package/dist/runtime/share/disabled-date.d.ts +34 -0
  245. package/dist/runtime/share/disabled-date.js +13 -0
  246. package/dist/runtime/share/locale.d.ts +13 -7
  247. package/dist/runtime/share/locale.js +27 -5
  248. package/dist/runtime/share/use-persisted-chat.d.ts +30 -0
  249. package/dist/runtime/share/use-persisted-chat.js +34 -0
  250. package/dist/runtime/utils/ai/index.d.ts +10 -0
  251. package/dist/runtime/utils/ai/index.js +145 -32
  252. package/dist/runtime/utils/ai/parts.d.ts +30 -0
  253. package/dist/runtime/utils/ai/parts.js +9 -0
  254. package/dist/runtime/utils/disabled-date.d.ts +26 -0
  255. package/dist/runtime/utils/disabled-date.js +21 -0
  256. package/package.json +2 -1
@@ -8,49 +8,73 @@ export declare function columnIdentityFields(): {
8
8
  groupId: Schema.optional<typeof Schema.UUID>;
9
9
  };
10
10
  export declare function columnFields(configure: (env: Environment) => void): {
11
- title: Schema.TupleType<readonly [Schema.Struct<{
12
- locale: Schema.Literal<["zh"]>;
13
- message: Schema.SchemaClass<string, string, never>;
14
- }>], [Schema.Struct<{
15
- locale: Schema.Literal<["ja", "en", "ko"]>;
16
- message: Schema.SchemaClass<string, string, never>;
17
- }>]>;
11
+ title: Schema.suspend<readonly [{
12
+ readonly locale: "zh";
13
+ readonly message: string;
14
+ }, ...{
15
+ readonly locale: "en" | "ja" | "ko";
16
+ readonly message: string;
17
+ }[]], string | readonly [{
18
+ readonly locale: "zh";
19
+ readonly message: string;
20
+ }, ...{
21
+ readonly locale: "en" | "ja" | "ko";
22
+ readonly message: string;
23
+ }[]], never>;
18
24
  accessor: Schema.optional<Schema.Schema<string, string, never>>;
19
25
  enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
20
26
  sortKey: Schema.optional<Schema.refine<string, typeof Schema.String>>;
21
27
  size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
22
28
  grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
23
- tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
24
- locale: Schema.Literal<["zh"]>;
25
- message: Schema.SchemaClass<string, string, never>;
26
- }>], [Schema.Struct<{
27
- locale: Schema.Literal<["ja", "en", "ko"]>;
28
- message: Schema.SchemaClass<string, string, never>;
29
- }>]>>;
29
+ tooltip: Schema.optional<Schema.suspend<readonly [{
30
+ readonly locale: "zh";
31
+ readonly message: string;
32
+ }, ...{
33
+ readonly locale: "en" | "ja" | "ko";
34
+ readonly message: string;
35
+ }[]], string | readonly [{
36
+ readonly locale: "zh";
37
+ readonly message: string;
38
+ }, ...{
39
+ readonly locale: "en" | "ja" | "ko";
40
+ readonly message: string;
41
+ }[]], never>>;
30
42
  hidden: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
31
43
  id: Schema.refine<string, typeof Schema.String>;
32
44
  groupId: Schema.optional<typeof Schema.UUID>;
33
45
  };
34
46
  export declare function editableColumnFields(): {
35
- title: Schema.TupleType<readonly [Schema.Struct<{
36
- locale: Schema.Literal<["zh"]>;
37
- message: Schema.SchemaClass<string, string, never>;
38
- }>], [Schema.Struct<{
39
- locale: Schema.Literal<["ja", "en", "ko"]>;
40
- message: Schema.SchemaClass<string, string, never>;
41
- }>]>;
47
+ title: Schema.suspend<readonly [{
48
+ readonly locale: "zh";
49
+ readonly message: string;
50
+ }, ...{
51
+ readonly locale: "en" | "ja" | "ko";
52
+ readonly message: string;
53
+ }[]], string | readonly [{
54
+ readonly locale: "zh";
55
+ readonly message: string;
56
+ }, ...{
57
+ readonly locale: "en" | "ja" | "ko";
58
+ readonly message: string;
59
+ }[]], never>;
42
60
  binding: Schema.refine<string, typeof Schema.String>;
43
61
  enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
44
62
  sortKey: Schema.optional<Schema.refine<string, typeof Schema.String>>;
45
63
  size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
46
64
  grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
47
- tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
48
- locale: Schema.Literal<["zh"]>;
49
- message: Schema.SchemaClass<string, string, never>;
50
- }>], [Schema.Struct<{
51
- locale: Schema.Literal<["ja", "en", "ko"]>;
52
- message: Schema.SchemaClass<string, string, never>;
53
- }>]>>;
65
+ tooltip: Schema.optional<Schema.suspend<readonly [{
66
+ readonly locale: "zh";
67
+ readonly message: string;
68
+ }, ...{
69
+ readonly locale: "en" | "ja" | "ko";
70
+ readonly message: string;
71
+ }[]], string | readonly [{
72
+ readonly locale: "zh";
73
+ readonly message: string;
74
+ }, ...{
75
+ readonly locale: "en" | "ja" | "ko";
76
+ readonly message: string;
77
+ }[]], never>>;
54
78
  hidden: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
55
79
  id: Schema.refine<string, typeof Schema.String>;
56
80
  groupId: Schema.optional<typeof Schema.UUID>;
@@ -61,13 +85,20 @@ export declare function registerRowVariablesIfAbsent(env: Environment): void;
61
85
  export declare function CelRowAccess(configure: (env: Environment) => void, options?: {
62
86
  resultType?: ResultType;
63
87
  }): Schema.Schema<string, string, never>;
64
- export declare function LocaleMarkdownWithRow(configure: (env: Environment) => void): Schema.filter<Schema.TupleType<readonly [Schema.Struct<{
65
- locale: Schema.Literal<["zh"]>;
66
- message: Schema.SchemaClass<string, string, never>;
67
- }>], [Schema.Struct<{
68
- locale: Schema.Literal<["ja", "en", "ko"]>;
69
- message: Schema.SchemaClass<string, string, never>;
70
- }>]>>;
88
+ export declare function LocaleMarkdownWithRow(configure: (env: Environment) => void): Schema.filter<Schema.suspend<readonly [{
89
+ readonly locale: "zh";
90
+ readonly message: string;
91
+ }, ...{
92
+ readonly locale: "en" | "ja" | "ko";
93
+ readonly message: string;
94
+ }[]], string | readonly [{
95
+ readonly locale: "zh";
96
+ readonly message: string;
97
+ }, ...{
98
+ readonly locale: "en" | "ja" | "ko";
99
+ readonly message: string;
100
+ }[]], never>>;
101
+ export declare function CelDateDisable(configure: (env: Environment) => void): Schema.Schema<string, string, never>;
71
102
  export declare function derivedRowField(configure: (env: Environment) => void, resultType: ResultType): Schema.optional<Schema.Struct<{
72
103
  mode: Schema.Literal<["formula", "prefill"]>;
73
104
  expression: Schema.Schema<string, string, never>;
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "effect";
2
2
  import { h } from "vue";
3
3
  import { SELECTIONS_VAR } from "../../../utils/cel-context.js";
4
+ import { DISABLE_DATE_RESULT, registerInputDateIfAbsent } from "../../../share/disabled-date.js";
4
5
  import { Expression, LocaleMarkdown } from "../../../share/expression.js";
5
6
  import { Locale } from "../../../share/locale.js";
6
7
  import { md } from "../../../share/markdown.js";
@@ -26,36 +27,35 @@ export function columnFields(configure) {
26
27
  // → still validated as a CEL expression (empty string stays invalid).
27
28
  accessor: Schema.optional(CelRowAccess(configure).annotations({
28
29
  title: "\u8DEF\u5F84",
29
- description: "\u884C\u6570\u636E\u8BBF\u95EE CEL \u8868\u8FBE\u5F0F\uFF0C\u4F8B\u5982 `row.user.name`\uFF1B\u53EF\u7559\u7A7A\uFF0C\u7559\u7A7A\u65F6\u8BE5\u5217\u4E0D\u8BFB\u53D6\u6570\u636E\uFF08\u7528\u4E8E\u7EAF\u89C6\u89C9\u5217\uFF09"
30
+ description: md`
31
+ 使用 CEL 获取该列的值,建议使用 optional 语法。如
32
+
33
+ - \`row.?foo\`
34
+ - \`row.?foo.?bar\`
35
+ `
30
36
  })),
31
37
  enableSorting: Schema.optional(Schema.Boolean.annotations({
32
- title: "\u5141\u8BB8\u6392\u5E8F",
38
+ title: "\u6392\u5E8F",
33
39
  description: md`
34
- 显示排序按钮:
40
+ 在该列向用户展示排序按钮。如果需要通过后端对全库排序,务必同时配置
35
41
 
36
- 排序分为两类:**服务端排序** **客户端排序**。
37
-
38
- | | 服务端排序 | 客户端排序 |
39
- | --- | --- | --- |
40
- | 数据量 | **全量**,能够跨越多页 | 当前页 |
41
- | 开发量 | 需要后端支持,可能影响性能 | **配置即启用,无需后端支持** |
42
-
43
- 注意:对于服务端排序,除了在这里打开排序开关,你还需要在「通用配置 → 数据源 → 请求」处,通过 \`sorts\` 变量**将各列「排序字段」(sortKey)、排序方向传给后端**。
42
+ - **排序字段** 用来指定传给后端的字段名
43
+ - 在表格数据源中,使用 \`sorts\` 变量构造符合需求的请求
44
44
  `
45
45
  })),
46
46
  sortKey: Schema.optional(Schema.String.pipe(Schema.minLength(1)).annotations({
47
47
  title: "\u6392\u5E8F\u5B57\u6BB5",
48
- description: "\u670D\u52A1\u7AEF\u6392\u5E8F\u65F6\u901A\u8FC7\u6570\u636E\u6E90\u8BF7\u6C42\u7684 `sorts` \u53D8\u91CF\u4F20\u7ED9\u540E\u7AEF\u7684\u5B57\u6BB5\u6807\u8BC6\uFF1B\u542F\u7528\u6392\u5E8F\u65F6\u5FC5\u586B"
48
+ description: "\u540E\u7AEF\u9700\u8981\u7684\u6392\u5E8F\u5B57\u6BB5\u540D"
49
49
  })),
50
50
  size: Schema.optional(Schema.Number.pipe(Schema.finite(), Schema.positive()).annotations({
51
51
  title: "\u5217\u5BBD",
52
- description: "\u6307\u5B9A\u4E00\u4E2A\u5408\u9002\u7684\u8868\u683C\u5217\u5BBD\u5EA6\uFF0C\u5F53\u5217\u5185\u5BB9\u957F\u5EA6\u5927\u4E8E\u8FD9\u91CC\u6307\u5B9A\u7684\u5BBD\u5EA6\u540E\uFF0C\u4F1A\u5BFC\u81F4\u8D85\u51FA\u7684\u90E8\u5206\u88AB\u622A\u65AD\u3002"
52
+ description: "\u5BF9\u4E8E\u6CA1\u6709\u6307\u5B9A\u5217\u5BBD\u7684\u5217\uFF0C\u5C06\u9ED8\u8BA4\u4E3A 150px"
53
53
  })),
54
- grow: Schema.optional(Schema.Boolean.annotations({ title: "\u5360\u636E\u5269\u4F59\u5BBD\u5EA6", description: "\u5217\u662F\u5426\u5360\u636E\u5269\u4F59\u7A7A\u4F59\u5BBD\u5EA6" })),
55
- tooltip: Schema.optional(Locale.annotations({ title: "\u63D0\u793A", description: "\u5217\u6807\u9898\u60AC\u6D6E\u63D0\u793A\uFF0C\u652F\u6301 Markdown" })),
54
+ grow: Schema.optional(Schema.Boolean.annotations({ title: "\u6491\u5F00", description: "\u5BF9\u4E8E\u4E00\u4E9B\u5173\u952E\u5B57\u6BB5\uFF0C\u53EF\u4EE5\u5F00\u542F\u8FD9\u4E2A\u9009\u9879\u4F7F\u5176\u5C3D\u53EF\u80FD\u5360\u636E\u66F4\u591A\u7684\u7A7A\u95F4" })),
55
+ tooltip: Schema.optional(Locale.annotations({ title: "\u63D0\u793A", description: "\u5F53\u7528\u6237\u9F20\u6807\u79FB\u52A8\u81F3\u5217\u6807\u9898\u4E0A\u65F6\uFF0C\u5C06\u5411\u7528\u6237\u5C55\u793A\u6B64\u5904\u914D\u7F6E\u7684\u5185\u5BB9" })),
56
56
  hidden: Schema.optional(Schema.Boolean.annotations({
57
- title: "\u9ED8\u8BA4\u9690\u85CF",
58
- description: "\u5F00\u542F\u540E\u8BE5\u5217\u9ED8\u8BA4\u9690\u85CF\uFF1B\u4F7F\u7528\u8005\u53EF\u5728\u8868\u683C\u7684\u5217\u8BBE\u7F6E\u4E2D\u91CD\u65B0\u663E\u793A\u3002\u4EC5\u4F5C\u4E3A\u521D\u59CB\u72B6\u6001\uFF0C\u4E0D\u968F\u6570\u636E\u53D8\u5316"
57
+ title: "\u9690\u85CF",
58
+ description: "\u9ED8\u8BA4\u9690\u85CF\u8BE5\u5217\u3002\u7528\u6237\u53EF\u4EE5\u5728\u5176\u81EA\u5B9A\u4E49\u8868\u683C\u7684\u914D\u7F6E\u4E2D\u663E\u793A\u8BE5\u5217\uFF0C\u6B64\u65F6\u7528\u6237\u914D\u7F6E\u4F18\u5148\u7EA7\u9AD8\u4E8E\u6B64\u5904\u7684\u914D\u7F6E"
59
59
  }))
60
60
  };
61
61
  }
@@ -120,6 +120,15 @@ export function CelRowAccess(configure, options) {
120
120
  export function LocaleMarkdownWithRow(configure) {
121
121
  return LocaleMarkdown({ configure: configureWithRow(configure) });
122
122
  }
123
+ export function CelDateDisable(configure) {
124
+ return Expression({
125
+ configure: (env) => {
126
+ configureWithRow(configure)(env);
127
+ registerInputDateIfAbsent(env);
128
+ },
129
+ resultType: DISABLE_DATE_RESULT
130
+ });
131
+ }
123
132
  export function derivedRowField(configure, resultType) {
124
133
  return derivedField(configureWithRow(configure), resultType);
125
134
  }
@@ -14,7 +14,7 @@ const delegatedProps = reactiveOmit(props, "class");
14
14
  <template>
15
15
  <AlertDialogCancel
16
16
  v-bind="delegatedProps"
17
- :class="cn(buttonVariants(), 'mt-2 sm:mt-0', props.class)"
17
+ :class="cn(buttonVariants(), props.class)"
18
18
  >
19
19
  <slot />
20
20
  </AlertDialogCancel>
@@ -0,0 +1,7 @@
1
+ import type { UIMessage } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ message: UIMessage;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,35 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import ChatMessagePart from "./ChatMessagePart.vue";
4
+ defineOptions({ name: "UiChatMessage" });
5
+ const props = defineProps({
6
+ message: { type: Object, required: true }
7
+ });
8
+ const isUser = computed(() => props.message.role === "user");
9
+ const userText = computed(
10
+ () => props.message.parts.filter((p) => p.type === "text").map((p) => p.text).join("")
11
+ );
12
+ </script>
13
+
14
+ <template>
15
+ <div
16
+ v-if="isUser"
17
+ :data-role="message.role"
18
+ data-slot="user-message"
19
+ class="max-w-[85%] self-end whitespace-pre-wrap break-words rounded-lg bg-[color-mix(in_srgb,var(--primary)_10%,white)] px-3 py-2 text-sm text-zinc-700"
20
+ >
21
+ {{ userText }}
22
+ </div>
23
+ <div
24
+ v-else
25
+ :data-role="message.role"
26
+ data-slot="assistant-message"
27
+ class="flex w-full flex-col items-stretch gap-2"
28
+ >
29
+ <ChatMessagePart
30
+ v-for="(part, i) in message.parts"
31
+ :key="i"
32
+ :part="part"
33
+ />
34
+ </div>
35
+ </template>
@@ -0,0 +1,7 @@
1
+ import type { UIMessage } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ message: UIMessage;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { UIMessagePart } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ part: UIMessagePart;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,43 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { isToolUIPart } from "../../../utils/ai/parts";
4
+ import { StreamMarkdown } from "../stream-markdown";
5
+ import ChatReasoning from "./ChatReasoning.vue";
6
+ import ChatToolCall from "./ChatToolCall.vue";
7
+ defineOptions({ name: "UiChatMessagePart" });
8
+ const props = defineProps({
9
+ part: { type: Object, required: true }
10
+ });
11
+ const toolPart = computed(() => isToolUIPart(props.part) ? props.part : null);
12
+ const reasoningPart = computed(() => props.part.type === "reasoning" ? props.part : null);
13
+ const textPart = computed(
14
+ () => props.part.type === "text" && props.part.text.trim().length > 0 ? props.part : null
15
+ );
16
+ const isStepStart = computed(() => props.part.type === "step-start");
17
+ </script>
18
+
19
+ <template>
20
+ <ChatToolCall
21
+ v-if="toolPart"
22
+ :part="toolPart"
23
+ />
24
+ <ChatReasoning
25
+ v-else-if="reasoningPart"
26
+ :part="reasoningPart"
27
+ />
28
+ <hr
29
+ v-else-if="isStepStart"
30
+ data-slot="chat-step-start"
31
+ class="my-1 border-zinc-200/70"
32
+ >
33
+ <div
34
+ v-else-if="textPart"
35
+ data-slot="chat-text"
36
+ class="w-fit max-w-full rounded-lg bg-zinc-100 px-3 py-2"
37
+ >
38
+ <StreamMarkdown
39
+ :source="textPart.text"
40
+ class="prose prose-sm prose-zinc max-w-none text-sm text-zinc-700"
41
+ />
42
+ </div>
43
+ </template>
@@ -0,0 +1,7 @@
1
+ import type { UIMessagePart } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ part: UIMessagePart;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import type { UIMessage } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ messages: ReadonlyArray<UIMessage>;
4
+ pending?: boolean;
5
+ };
6
+ declare var __VLS_19: {};
7
+ type __VLS_Slots = {} & {
8
+ empty?: (props: typeof __VLS_19) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,63 @@
1
+ <script setup>
2
+ import { nextTick, ref, watch } from "vue";
3
+ import { Icon } from "@iconify/vue";
4
+ import { ScrollArea } from "../scroll-area";
5
+ import ChatMessage from "./ChatMessage.vue";
6
+ defineOptions({ name: "UiChatMessages" });
7
+ const props = defineProps({
8
+ messages: { type: Array, required: true },
9
+ pending: { type: Boolean, required: false }
10
+ });
11
+ const root = ref(null);
12
+ function scrollToBottom() {
13
+ const viewport = root.value?.$el?.querySelector?.(
14
+ '[data-slot="scroll-area-viewport"]'
15
+ );
16
+ if (viewport) viewport.scrollTop = viewport.scrollHeight;
17
+ }
18
+ watch(
19
+ () => [props.messages, props.pending],
20
+ () => nextTick(scrollToBottom),
21
+ { flush: "post" }
22
+ );
23
+ </script>
24
+
25
+ <template>
26
+ <div class="relative">
27
+ <ScrollArea
28
+ ref="root"
29
+ class="size-full"
30
+ >
31
+ <div class="flex flex-col gap-4 p-3">
32
+ <ChatMessage
33
+ v-for="m in messages"
34
+ :key="m.id"
35
+ :message="m"
36
+ />
37
+
38
+ <div
39
+ v-if="pending"
40
+ data-slot="chat-typing"
41
+ class="flex items-center gap-2 self-start text-xs text-zinc-400"
42
+ >
43
+ <Icon
44
+ icon="fluent:spinner-ios-20-regular"
45
+ class="size-4 animate-spin"
46
+ />
47
+ <span>生成中…</span>
48
+ </div>
49
+ </div>
50
+ </ScrollArea>
51
+
52
+ <!-- Empty state, physically centered over the FULL message area: the root is
53
+ `relative` and this overlay is `inset-0`, so it sits dead-center rather
54
+ than pinned to the top of the scroll content. `pointer-events-none` so it
55
+ never intercepts (there's nothing to click when empty anyway). -->
56
+ <div
57
+ v-if="messages.length === 0 && !pending"
58
+ class="pointer-events-none absolute inset-0 flex items-center justify-center"
59
+ >
60
+ <slot name="empty" />
61
+ </div>
62
+ </div>
63
+ </template>
@@ -0,0 +1,18 @@
1
+ import type { UIMessage } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ messages: ReadonlyArray<UIMessage>;
4
+ pending?: boolean;
5
+ };
6
+ declare var __VLS_19: {};
7
+ type __VLS_Slots = {} & {
8
+ empty?: (props: typeof __VLS_19) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,34 @@
1
+ import type { ChatStatus } from '.';
2
+ type __VLS_Props = {
3
+ status?: ChatStatus;
4
+ placeholder?: string;
5
+ };
6
+ type __VLS_ModelProps = {
7
+ modelValue?: string;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare var __VLS_21: {};
11
+ type __VLS_Slots = {} & {
12
+ actions?: (props: typeof __VLS_21) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ stop: () => any;
16
+ submit: () => any;
17
+ "update:modelValue": (value: string) => any;
18
+ retry: () => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ onStop?: (() => any) | undefined;
21
+ onSubmit?: (() => any) | undefined;
22
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
23
+ onRetry?: (() => any) | undefined;
24
+ }>, {
25
+ status: ChatStatus;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,53 @@
1
+ <script setup>
2
+ import { InputGroup, InputGroupAddon, InputGroupTextarea } from "../input-group";
3
+ import ChatPromptSubmit from "./ChatPromptSubmit.vue";
4
+ defineOptions({ name: "UiChatPrompt" });
5
+ const text = defineModel({ type: String, ...{ default: "" } });
6
+ const props = defineProps({
7
+ status: { type: String, required: false, default: "ready" },
8
+ placeholder: { type: String, required: false }
9
+ });
10
+ const emit = defineEmits(["submit", "stop", "retry"]);
11
+ function submit() {
12
+ if (props.status === "streaming") return;
13
+ if (!text.value.trim()) return;
14
+ emit("submit");
15
+ }
16
+ function onKeydown(e) {
17
+ if (e.key === "Enter" && !e.shiftKey && !e.isComposing) {
18
+ e.preventDefault();
19
+ submit();
20
+ }
21
+ }
22
+ </script>
23
+
24
+ <template>
25
+ <InputGroup class="bg-white">
26
+ <InputGroupTextarea
27
+ v-model="text"
28
+ :disabled="status === 'streaming'"
29
+ :placeholder="placeholder"
30
+ class="max-h-48 min-h-20 text-sm"
31
+ @keydown="onKeydown"
32
+ />
33
+ <InputGroupAddon align="block-end">
34
+ <!-- Host-supplied controls sit at the block-end's leading edge: `mr-auto`
35
+ pushes them hard left while the submit button keeps the trailing
36
+ (right) slot. Only rendered when the host fills the slot, so a bare
37
+ composer stays a lone right-aligned send button. -->
38
+ <div
39
+ v-if="$slots.actions"
40
+ class="mr-auto flex items-center gap-2"
41
+ >
42
+ <slot name="actions" />
43
+ </div>
44
+ <ChatPromptSubmit
45
+ :status="status"
46
+ :disabled="!text.trim()"
47
+ @submit="submit"
48
+ @stop="emit('stop')"
49
+ @retry="emit('retry')"
50
+ />
51
+ </InputGroupAddon>
52
+ </InputGroup>
53
+ </template>
@@ -0,0 +1,34 @@
1
+ import type { ChatStatus } from '.';
2
+ type __VLS_Props = {
3
+ status?: ChatStatus;
4
+ placeholder?: string;
5
+ };
6
+ type __VLS_ModelProps = {
7
+ modelValue?: string;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare var __VLS_21: {};
11
+ type __VLS_Slots = {} & {
12
+ actions?: (props: typeof __VLS_21) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ stop: () => any;
16
+ submit: () => any;
17
+ "update:modelValue": (value: string) => any;
18
+ retry: () => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ onStop?: (() => any) | undefined;
21
+ onSubmit?: (() => any) | undefined;
22
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
23
+ onRetry?: (() => any) | undefined;
24
+ }>, {
25
+ status: ChatStatus;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,18 @@
1
+ import type { ChatStatus } from '.';
2
+ type __VLS_Props = {
3
+ status?: ChatStatus;
4
+ disabled?: boolean;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ stop: () => any;
8
+ submit: () => any;
9
+ retry: () => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onStop?: (() => any) | undefined;
12
+ onSubmit?: (() => any) | undefined;
13
+ onRetry?: (() => any) | undefined;
14
+ }>, {
15
+ status: ChatStatus;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
@@ -0,0 +1,41 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { Icon } from "@iconify/vue";
4
+ import { Button } from "../button";
5
+ defineOptions({ name: "UiChatPromptSubmit" });
6
+ const props = defineProps({
7
+ status: { type: String, required: false, default: "ready" },
8
+ disabled: { type: Boolean, required: false }
9
+ });
10
+ const emit = defineEmits(["submit", "stop", "retry"]);
11
+ const view = computed(() => {
12
+ switch (props.status) {
13
+ case "streaming":
14
+ return { icon: "fluent:stop-20-filled", label: "\u505C\u6B62", variant: "default", action: "stop" };
15
+ case "error":
16
+ return { icon: "fluent:arrow-clockwise-20-regular", label: "\u91CD\u8BD5", variant: "default", action: "retry" };
17
+ default:
18
+ return { icon: "fluent:send-20-regular", label: "\u53D1\u9001", variant: "primary", action: "submit" };
19
+ }
20
+ });
21
+ function onClick() {
22
+ const action = view.value.action;
23
+ if (action === "stop") emit("stop");
24
+ else if (action === "retry") emit("retry");
25
+ else emit("submit");
26
+ }
27
+ </script>
28
+
29
+ <template>
30
+ <Button
31
+ type="button"
32
+ size="sm"
33
+ :variant="view.variant"
34
+ :disabled="disabled && status === 'ready'"
35
+ data-slot="chat-prompt-submit"
36
+ @click="onClick"
37
+ >
38
+ <Icon :icon="view.icon" />
39
+ {{ view.label }}
40
+ </Button>
41
+ </template>
@@ -0,0 +1,18 @@
1
+ import type { ChatStatus } from '.';
2
+ type __VLS_Props = {
3
+ status?: ChatStatus;
4
+ disabled?: boolean;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ stop: () => any;
8
+ submit: () => any;
9
+ retry: () => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onStop?: (() => any) | undefined;
12
+ onSubmit?: (() => any) | undefined;
13
+ onRetry?: (() => any) | undefined;
14
+ }>, {
15
+ status: ChatStatus;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { ReasoningUIPart } from '../../../utils/ai/parts.js';
2
+ type __VLS_Props = {
3
+ part: ReasoningUIPart;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;