@shwfed/config 2.12.3 → 2.12.5

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 (222) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/runtime.vue +9 -2
  3. package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +8 -2
  4. package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.js +3 -3
  5. package/dist/runtime/components/actions/components/group.vue +3 -1
  6. package/dist/runtime/components/actions/schema.d.ts +16 -4
  7. package/dist/runtime/components/actions/schema.js +5 -5
  8. package/dist/runtime/components/config/footer.d.vue.ts +4 -0
  9. package/dist/runtime/components/config/footer.vue +25 -12
  10. package/dist/runtime/components/config/footer.vue.d.ts +4 -0
  11. package/dist/runtime/components/config/history-picker.d.vue.ts +15 -0
  12. package/dist/runtime/components/config/history-picker.vue +155 -0
  13. package/dist/runtime/components/config/history-picker.vue.d.ts +15 -0
  14. package/dist/runtime/components/config/index.d.vue.ts +4 -0
  15. package/dist/runtime/components/config/index.vue +8 -1
  16. package/dist/runtime/components/config/index.vue.d.ts +4 -0
  17. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +22 -22
  18. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +22 -22
  19. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +5 -3
  20. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +8 -2
  21. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +2 -2
  22. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +5 -3
  23. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +8 -2
  24. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.js +2 -2
  25. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  26. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  27. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
  28. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
  29. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.js +1 -1
  30. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +16 -16
  31. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +16 -16
  32. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +5 -3
  33. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +8 -2
  34. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +2 -2
  35. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +24 -24
  36. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +24 -24
  37. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +5 -3
  38. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +8 -2
  39. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +2 -2
  40. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +18 -18
  41. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +18 -18
  42. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +5 -3
  43. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +8 -2
  44. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +2 -2
  45. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +26 -26
  46. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +26 -26
  47. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +5 -3
  48. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +8 -2
  49. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +2 -2
  50. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +2 -2
  51. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +2 -2
  52. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +5 -3
  53. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +8 -2
  54. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.js +2 -2
  55. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +4 -4
  56. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +4 -4
  57. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +5 -3
  58. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +8 -2
  59. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.js +2 -2
  60. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +30 -30
  61. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +30 -30
  62. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +5 -3
  63. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +8 -2
  64. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +2 -2
  65. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +8 -8
  66. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +8 -8
  67. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +5 -3
  68. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +8 -2
  69. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.js +2 -2
  70. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +22 -22
  71. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +22 -22
  72. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +5 -3
  73. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +8 -2
  74. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.js +2 -2
  75. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
  76. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
  77. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.js +1 -1
  78. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +5 -3
  79. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +8 -2
  80. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.js +1 -1
  81. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  82. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  83. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +4 -3
  84. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +8 -2
  85. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.js +1 -1
  86. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +2 -2
  87. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +2 -2
  88. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/row.vue +6 -1
  89. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +5 -3
  90. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +9 -3
  91. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.js +2 -2
  92. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +4 -3
  93. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +8 -2
  94. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.js +1 -1
  95. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +4 -3
  96. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +8 -2
  97. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.js +1 -1
  98. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +5 -3
  99. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +8 -2
  100. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.js +2 -1
  101. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +10 -10
  102. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +10 -10
  103. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/runtime.vue +4 -3
  104. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +8 -2
  105. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.js +1 -1
  106. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +16 -16
  107. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +16 -16
  108. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +5 -3
  109. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +8 -2
  110. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.js +2 -2
  111. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +24 -24
  112. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +24 -24
  113. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +5 -3
  114. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +8 -2
  115. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.js +2 -2
  116. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  117. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  118. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.vue +4 -3
  119. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
  120. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.js +1 -1
  121. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +10 -10
  122. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +10 -10
  123. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue +4 -3
  124. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +8 -2
  125. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.js +1 -1
  126. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +10 -10
  127. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +10 -10
  128. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue +4 -3
  129. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +8 -2
  130. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.js +1 -1
  131. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +4 -3
  132. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
  133. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.js +1 -1
  134. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
  135. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
  136. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.js +1 -1
  137. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +10 -10
  138. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +10 -10
  139. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +4 -3
  140. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +8 -2
  141. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.js +1 -1
  142. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +10 -10
  143. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +10 -10
  144. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +4 -3
  145. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +8 -2
  146. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.js +1 -1
  147. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +10 -10
  148. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +10 -10
  149. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +4 -3
  150. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +8 -2
  151. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.js +1 -1
  152. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +10 -10
  153. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +10 -10
  154. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +4 -3
  155. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +8 -2
  156. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.js +1 -1
  157. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +5 -3
  158. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +8 -2
  159. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.js +1 -1
  160. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.vue +5 -3
  161. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
  162. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.js +1 -1
  163. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
  164. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
  165. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.js +1 -1
  166. package/dist/runtime/components/form/index.vue +5 -1
  167. package/dist/runtime/components/form/utils/derived.d.ts +9 -0
  168. package/dist/runtime/components/form/utils/derived.js +1 -1
  169. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  170. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  171. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +6 -6
  172. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +6 -6
  173. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  174. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  175. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +6 -6
  176. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +6 -6
  177. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  178. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  179. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  180. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  181. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  182. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  183. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  184. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  185. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  186. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  187. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  188. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  189. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +224 -133
  190. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +224 -133
  191. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  192. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  193. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  194. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  195. package/dist/runtime/components/table/customization.d.vue.ts +15 -0
  196. package/dist/runtime/components/table/customization.vue +633 -0
  197. package/dist/runtime/components/table/customization.vue.d.ts +15 -0
  198. package/dist/runtime/components/table/index.vue +69 -6
  199. package/dist/runtime/components/table/utils/customization.d.ts +158 -0
  200. package/dist/runtime/components/table/utils/customization.js +315 -0
  201. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  202. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  203. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  204. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  205. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  206. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  207. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  208. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  209. package/dist/runtime/vendor/cel-js/CLAUDE.md +6 -5
  210. package/dist/runtime/vendor/cel-js/PROMPT.md +97 -19
  211. package/dist/runtime/vendor/cel-js/lib/decimal.d.ts +4 -0
  212. package/dist/runtime/vendor/cel-js/lib/decimal.js +35 -0
  213. package/dist/runtime/vendor/cel-js/lib/evaluator.js +2 -0
  214. package/dist/runtime/vendor/cel-js/lib/functions.js +107 -134
  215. package/dist/runtime/vendor/cel-js/lib/macros.js +125 -16
  216. package/dist/runtime/vendor/cel-js/lib/math-builtins.d.ts +2 -0
  217. package/dist/runtime/vendor/cel-js/lib/math-builtins.js +39 -0
  218. package/dist/runtime/vendor/cel-js/lib/optional.d.ts +4 -0
  219. package/dist/runtime/vendor/cel-js/lib/optional.js +73 -21
  220. package/dist/runtime/vendor/cel-js/lib/parser.js +2 -6
  221. package/dist/runtime/vendor/cel-js/lib/registry.js +2 -2
  222. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shwfed",
3
3
  "configKey": "shwfed",
4
- "version": "2.12.3",
4
+ "version": "2.12.5",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
@@ -5,7 +5,9 @@ import { useI18n } from "vue-i18n";
5
5
  import { openModal } from "../../../../../composables/useOverlay";
6
6
  import { getLocalizedText } from "../../../../../share/locale";
7
7
  import { lookupFindBlock } from "../../../../config/utils/block-ref-cache";
8
- import { injectCELContext, provideCELContext } from "../../../../../utils/cel-context";
8
+ import { cel as _rawCel } from "../../../../../utils/cel";
9
+ import { celBindings, injectCELContext, provideCELContext } from "../../../../../utils/cel-context";
10
+ import { interpolateMarkdown } from "../../../../table/utils/runtime";
9
11
  import {
10
12
  EVENT_CHANNEL_KEY,
11
13
  createEventChannel,
@@ -24,6 +26,7 @@ const { locale } = useI18n();
24
26
  const configure = (_env) => {
25
27
  };
26
28
  const inheritedCelContext = injectCELContext();
29
+ const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inheritedCelContext), ...context });
27
30
  const inheritedFormState = inject(FORM_STATE_KEY, void 0);
28
31
  const outerEventChannel = useEventChannel();
29
32
  const currentClose = ref(null);
@@ -45,7 +48,11 @@ const ModalBoundaryBridge = defineComponent({
45
48
  });
46
49
  const findBlock = (type, compatibilityDate) => lookupFindBlock()?.(type, compatibilityDate);
47
50
  const effect = Effect.gen(function* () {
48
- const title = getLocalizedText(props.config.modalTitle, locale.value) ?? getLocalizedText(props.buttonTitle, locale.value) ?? "";
51
+ const title = interpolateMarkdown(
52
+ getLocalizedText(props.config.modalTitle, locale.value) ?? getLocalizedText(props.buttonTitle, locale.value) ?? "",
53
+ $cel,
54
+ {}
55
+ );
49
56
  const { modal, close } = yield* openModal({
50
57
  title,
51
58
  width: props.config.modalWidth
@@ -15,7 +15,13 @@ export declare const metadata: {
15
15
  export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
16
16
  type: Schema.Literal<["com.shwfed.actions.button.modal.layout"]>;
17
17
  compatibilityDate: Schema.Literal<["2026-05-11"]>;
18
- modalTitle: Schema.optional<Schema.suspend<readonly [{
18
+ modalTitle: Schema.optional<Schema.refine<readonly [{
19
+ readonly locale: "zh";
20
+ readonly message: string;
21
+ }, ...{
22
+ readonly locale: "en" | "ja" | "ko";
23
+ readonly message: string;
24
+ }[]], Schema.suspend<readonly [{
19
25
  readonly locale: "zh";
20
26
  readonly message: string;
21
27
  }, ...{
@@ -27,7 +33,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
27
33
  }, ...{
28
34
  readonly locale: "en" | "ja" | "ko";
29
35
  readonly message: string;
30
- }[]], never>>;
36
+ }[]], never>>>;
31
37
  modalWidth: Schema.optional<Schema.refine<string, typeof Schema.String>>;
32
38
  modalMinHeight: Schema.optional<Schema.refine<string, typeof Schema.String>>;
33
39
  slot: Schema.refine<{
@@ -1,5 +1,5 @@
1
1
  import { Schema } from "effect";
2
- import { Locale } from "../../../../../share/locale.js";
2
+ import { LocaleMarkdown } from "../../../../../share/expression.js";
3
3
  import { Slot, defaultSlot } from "../../../../../share/layout.js";
4
4
  import { lookupBlockRef } from "../../../../config/utils/block-ref-cache.js";
5
5
  export const type = "com.shwfed.actions.button.modal.layout";
@@ -21,9 +21,9 @@ export function schema(configure) {
21
21
  return Schema.Struct({
22
22
  type: Schema.Literal(type),
23
23
  compatibilityDate: Schema.Literal(compatibilityDate),
24
- modalTitle: Schema.optional(Locale.annotations({
24
+ modalTitle: Schema.optional(LocaleMarkdown({ configure }).annotations({
25
25
  title: "\u5F39\u7A97\u6807\u9898",
26
- description: "\u5F39\u7A97\u9876\u90E8\u5C55\u793A\u7684\u672C\u5730\u5316\u6807\u9898\uFF0C\u652F\u6301\u884C\u5185 Markdown\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u4F7F\u7528\u6309\u94AE\u81EA\u8EAB\u7684\u540D\u79F0"
26
+ description: "\u5F39\u7A97\u9876\u90E8\u5C55\u793A\u7684\u672C\u5730\u5316\u6807\u9898\uFF0C\u652F\u6301\u884C\u5185 Markdown \u4E0E `{{ \u8868\u8FBE\u5F0F }}` \u63D2\u503C\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u4F7F\u7528\u6309\u94AE\u81EA\u8EAB\u7684\u540D\u79F0"
27
27
  })),
28
28
  modalWidth: Schema.optional(CssLength.annotations({
29
29
  title: "\u5F39\u7A97\u5BBD\u5EA6",
@@ -13,6 +13,7 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
13
13
  import { Tooltip, TooltipContent, TooltipTrigger } from "../../ui/tooltip";
14
14
  import { cel as _rawCel } from "../../../utils/cel";
15
15
  import { celBindings, injectCELContext } from "../../../utils/cel-context";
16
+ import { interpolateMarkdown } from "../../table/utils/runtime";
16
17
  import { buttonRegistryKey } from "../utils/button-registry";
17
18
  import { findButton, findItem } from "../utils/resolve";
18
19
  import { Fetch } from "fx-fetch";
@@ -246,7 +247,8 @@ function getDropdownLabel(dropdown) {
246
247
  return getLocalizedText(dropdown.title, locale.value) ?? t("untitled-dropdown");
247
248
  }
248
249
  function getButtonTooltip(button) {
249
- return getLocalizedText(button.tooltip, locale.value);
250
+ const raw = getLocalizedText(button.tooltip, locale.value);
251
+ return raw ? interpolateMarkdown(raw, $cel, {}) : void 0;
250
252
  }
251
253
  function hasButtonTooltip(button) {
252
254
  return hasVisibleLocaleValue(button.tooltip);
@@ -147,7 +147,13 @@ export declare function ActionSchemaFields(configure: (env: Environment) => void
147
147
  readonly locale: "en" | "ja" | "ko";
148
148
  readonly message: string;
149
149
  }[]], never>;
150
- tooltip: Schema.optional<Schema.suspend<readonly [{
150
+ tooltip: Schema.optional<Schema.refine<readonly [{
151
+ readonly locale: "zh";
152
+ readonly message: string;
153
+ }, ...{
154
+ readonly locale: "en" | "ja" | "ko";
155
+ readonly message: string;
156
+ }[]], Schema.suspend<readonly [{
151
157
  readonly locale: "zh";
152
158
  readonly message: string;
153
159
  }, ...{
@@ -159,7 +165,7 @@ export declare function ActionSchemaFields(configure: (env: Environment) => void
159
165
  }, ...{
160
166
  readonly locale: "en" | "ja" | "ko";
161
167
  readonly message: string;
162
- }[]], never>>;
168
+ }[]], never>>>;
163
169
  icon: Schema.optional<Schema.SchemaClass<string, string, never>>;
164
170
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
165
171
  disabled: Schema.optional<Schema.Schema<string, string, never>>;
@@ -182,7 +188,13 @@ export declare function ActionSchemaFields(configure: (env: Environment) => void
182
188
  readonly locale: "en" | "ja" | "ko";
183
189
  readonly message: string;
184
190
  }[]], never>;
185
- tooltip: Schema.optional<Schema.suspend<readonly [{
191
+ tooltip: Schema.optional<Schema.refine<readonly [{
192
+ readonly locale: "zh";
193
+ readonly message: string;
194
+ }, ...{
195
+ readonly locale: "en" | "ja" | "ko";
196
+ readonly message: string;
197
+ }[]], Schema.suspend<readonly [{
186
198
  readonly locale: "zh";
187
199
  readonly message: string;
188
200
  }, ...{
@@ -194,7 +206,7 @@ export declare function ActionSchemaFields(configure: (env: Environment) => void
194
206
  }, ...{
195
207
  readonly locale: "en" | "ja" | "ko";
196
208
  readonly message: string;
197
- }[]], never>>;
209
+ }[]], never>>>;
198
210
  icon: Schema.optional<Schema.SchemaClass<string, string, never>>;
199
211
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
200
212
  disabled: Schema.optional<Schema.Schema<string, string, never>>;
@@ -1,5 +1,5 @@
1
1
  import { Option, Schema, SchemaAST } from "effect";
2
- import { Expression } from "../../share/expression.js";
2
+ import { Expression, LocaleMarkdown } from "../../share/expression.js";
3
3
  import { Locale } from "../../share/locale.js";
4
4
  import { allButtonSchemas, allItemSchemas } from "./utils/resolve.js";
5
5
  import { md } from "../../share/markdown.js";
@@ -24,9 +24,9 @@ export function ActionSchemaFields(configure) {
24
24
  id: Schema.UUID.annotations({ description: "Action \u552F\u4E00\u6807\u8BC6" }),
25
25
  groupId: Schema.UUID.annotations({ description: "\u6240\u5C5E\u6309\u94AE\u7EC4\u6807\u8BC6" }),
26
26
  title: Locale.annotations({ title: "\u540D\u79F0", description: "\u6309\u94AE\u4E0A\u7684\u6587\u5B57" }),
27
- tooltip: Schema.optional(Locale.annotations({
27
+ tooltip: Schema.optional(LocaleMarkdown({ configure }).annotations({
28
28
  title: "\u63D0\u793A",
29
- description: "\u5F53\u7528\u6237\u5C06\u9F20\u6807\u79FB\u52A8\u81F3\u8BE5\u6309\u94AE\u4E0A\uFF0C\u5C06\u5C55\u793A\u7684\u63D0\u793A\u5185\u5BB9"
29
+ description: "\u5F53\u7528\u6237\u5C06\u9F20\u6807\u79FB\u52A8\u81F3\u8BE5\u6309\u94AE\u4E0A\uFF0C\u5C06\u5C55\u793A\u7684\u63D0\u793A\u5185\u5BB9\uFF1B\u652F\u6301\u884C\u5185 Markdown \u4E0E `{{ \u8868\u8FBE\u5F0F }}` \u63D2\u503C"
30
30
  })),
31
31
  icon: Schema.optional(Schema.String.annotations({
32
32
  title: "\u56FE\u6807",
@@ -59,9 +59,9 @@ export function ActionSchemaFields(configure) {
59
59
  const DropdownAction = Schema.Struct({
60
60
  id: Schema.UUID.annotations({ description: "\u4E0B\u62C9\u9879\u6309\u94AE\u552F\u4E00\u6807\u8BC6" }),
61
61
  title: Locale.annotations({ title: "\u540D\u79F0", description: "\u4E0B\u62C9\u9879\u6309\u94AE\u540D\u79F0\u7684\u672C\u5730\u5316\u663E\u793A\u6587\u672C" }),
62
- tooltip: Schema.optional(Locale.annotations({
62
+ tooltip: Schema.optional(LocaleMarkdown({ configure }).annotations({
63
63
  title: "\u63D0\u793A",
64
- description: "\u4E0B\u62C9\u9879\u6309\u94AE\u63D0\u793A\u7684\u672C\u5730\u5316\u663E\u793A\u6587\u672C"
64
+ description: "\u4E0B\u62C9\u9879\u6309\u94AE\u63D0\u793A\u7684\u672C\u5730\u5316\u663E\u793A\u6587\u672C\uFF1B\u652F\u6301\u884C\u5185 Markdown \u4E0E `{{ \u8868\u8FBE\u5F0F }}` \u63D2\u503C"
65
65
  })),
66
66
  icon: Schema.optional(Schema.String.annotations({
67
67
  title: "\u56FE\u6807",
@@ -1,11 +1,15 @@
1
+ import { type HistoryVersion } from './history-picker.vue.js';
1
2
  import type { ConfigEditorState } from './use-editor.js';
2
3
  type __VLS_Props = {
3
4
  state: ConfigEditorState;
5
+ versions?: HistoryVersion[];
4
6
  };
5
7
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
8
  close: () => any;
9
+ "select-version": (version: string) => any;
7
10
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
11
  onClose?: (() => any) | undefined;
12
+ "onSelect-version"?: ((version: string) => any) | undefined;
9
13
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
14
  declare const _default: typeof __VLS_export;
11
15
  export default _default;
@@ -1,11 +1,14 @@
1
1
  <script setup>
2
2
  import { Icon } from "@iconify/vue";
3
3
  import { Button } from "../ui/button";
4
+ import { ButtonGroup } from "../ui/button-group";
5
+ import HistoryPicker, {} from "./history-picker.vue";
4
6
  defineOptions({ name: "ShwfedConfigEditorFooter" });
5
7
  const props = defineProps({
6
- state: { type: Object, required: true }
8
+ state: { type: Object, required: true },
9
+ versions: { type: Array, required: false }
7
10
  });
8
- const emit = defineEmits(["close"]);
11
+ const emit = defineEmits(["close", "select-version"]);
9
12
  function onDismiss() {
10
13
  props.state.dismiss();
11
14
  emit("close");
@@ -50,15 +53,25 @@ function onConfirm() {
50
53
  </Button>
51
54
  <!-- Edits land in the shared draft live, so confirming from a drilled
52
55
  frame needs no flushing — validate the whole draft, close on success,
53
- stay in place on failure (the error renders in this same footer). -->
54
- <Button
55
- type="button"
56
- variant="primary"
57
- size="sm"
58
- @click="onConfirm"
59
- >
60
- <Icon icon="fluent:checkmark-20-regular" />
61
- 确认
62
- </Button>
56
+ stay in place on failure (the error renders in this same footer). The
57
+ history picker joins 确认 as a segmented group (a subtle divider between
58
+ them); with no versions the group holds just 确认. -->
59
+ <ButtonGroup>
60
+ <Button
61
+ type="button"
62
+ variant="primary"
63
+ size="sm"
64
+ @click="onConfirm"
65
+ >
66
+ <Icon icon="fluent:checkmark-20-regular" />
67
+ 确认
68
+ </Button>
69
+ <HistoryPicker
70
+ v-if="props.versions?.length"
71
+ :versions="props.versions"
72
+ :dirty="props.state.isDirty.value"
73
+ @select="(v) => emit('select-version', v)"
74
+ />
75
+ </ButtonGroup>
63
76
  </div>
64
77
  </template>
@@ -1,11 +1,15 @@
1
+ import { type HistoryVersion } from './history-picker.vue.js';
1
2
  import type { ConfigEditorState } from './use-editor.js';
2
3
  type __VLS_Props = {
3
4
  state: ConfigEditorState;
5
+ versions?: HistoryVersion[];
4
6
  };
5
7
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
8
  close: () => any;
9
+ "select-version": (version: string) => any;
7
10
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
11
  onClose?: (() => any) | undefined;
12
+ "onSelect-version"?: ((version: string) => any) | undefined;
9
13
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
14
  declare const _default: typeof __VLS_export;
11
15
  export default _default;
@@ -0,0 +1,15 @@
1
+ export interface HistoryVersion {
2
+ version: string;
3
+ name: string;
4
+ }
5
+ type __VLS_Props = {
6
+ versions: HistoryVersion[];
7
+ dirty?: boolean;
8
+ };
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ select: (version: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onSelect?: ((version: string) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -0,0 +1,155 @@
1
+ <script setup>
2
+ import { ref } from "vue";
3
+ import { Icon } from "@iconify/vue";
4
+ import { useI18n } from "vue-i18n";
5
+ import { Button } from "../ui/button";
6
+ import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover";
7
+ import {
8
+ Command,
9
+ CommandEmpty,
10
+ CommandGroup,
11
+ CommandInput,
12
+ CommandItem,
13
+ CommandList
14
+ } from "../ui/command";
15
+ import {
16
+ AlertDialog,
17
+ AlertDialogAction,
18
+ AlertDialogCancel,
19
+ AlertDialogContent,
20
+ AlertDialogDescription,
21
+ AlertDialogFooter,
22
+ AlertDialogHeader,
23
+ AlertDialogTitle
24
+ } from "../ui/alert-dialog";
25
+ defineOptions({ name: "ShwfedConfigHistoryPicker" });
26
+ const props = defineProps({
27
+ versions: { type: Array, required: true },
28
+ dirty: { type: Boolean, required: false }
29
+ });
30
+ const emit = defineEmits(["select"]);
31
+ const { t } = useI18n({
32
+ inheritLocale: true,
33
+ messages: {
34
+ zh: {
35
+ "history-label": "\u5386\u53F2\u7248\u672C",
36
+ "history-search": "\u641C\u7D22\u7248\u672C\u2026",
37
+ "history-empty": "\u65E0\u5386\u53F2\u7248\u672C",
38
+ "history-confirm-body": "\u653E\u5F03\u5F53\u524D\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\u5E76\u8F7D\u5165\u8BE5\u5386\u53F2\u7248\u672C\uFF1F",
39
+ "history-cancel": "\u53D6\u6D88",
40
+ "history-confirm": "\u8F7D\u5165"
41
+ },
42
+ ja: {
43
+ "history-label": "\u5C65\u6B74\u30D0\u30FC\u30B8\u30E7\u30F3",
44
+ "history-search": "\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u691C\u7D22\u2026",
45
+ "history-empty": "\u5C65\u6B74\u30D0\u30FC\u30B8\u30E7\u30F3\u306A\u3057",
46
+ "history-confirm-body": "\u672A\u4FDD\u5B58\u306E\u5909\u66F4\u3092\u7834\u68C4\u3057\u3066\u3053\u306E\u5C65\u6B74\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059\u304B\uFF1F",
47
+ "history-cancel": "\u30AD\u30E3\u30F3\u30BB\u30EB",
48
+ "history-confirm": "\u8AAD\u307F\u8FBC\u3080"
49
+ },
50
+ en: {
51
+ "history-label": "History",
52
+ "history-search": "Search versions\u2026",
53
+ "history-empty": "No history versions",
54
+ "history-confirm-body": "Discard current unsaved changes and load this history version?",
55
+ "history-cancel": "Cancel",
56
+ "history-confirm": "Load"
57
+ }
58
+ }
59
+ });
60
+ const open = ref(false);
61
+ const pending = ref(null);
62
+ const confirmOpen = ref(false);
63
+ function onPick(v) {
64
+ open.value = false;
65
+ if (props.dirty) {
66
+ pending.value = v.version;
67
+ confirmOpen.value = true;
68
+ return;
69
+ }
70
+ emit("select", v.version);
71
+ }
72
+ function onConfirm() {
73
+ if (pending.value !== null) emit("select", pending.value);
74
+ pending.value = null;
75
+ confirmOpen.value = false;
76
+ }
77
+ function onCancel() {
78
+ pending.value = null;
79
+ confirmOpen.value = false;
80
+ }
81
+ </script>
82
+
83
+ <template>
84
+ <Popover
85
+ v-if="props.versions.length"
86
+ v-model:open="open"
87
+ >
88
+ <PopoverTrigger as-child>
89
+ <Button
90
+ type="button"
91
+ variant="primary"
92
+ size="sm"
93
+ :aria-label="t('history-label')"
94
+ >
95
+ <Icon icon="fluent:history-20-regular" />
96
+ </Button>
97
+ </PopoverTrigger>
98
+ <PopoverContent
99
+ class="w-64 p-0"
100
+ align="end"
101
+ >
102
+ <Command>
103
+ <CommandInput :placeholder="t('history-search')" />
104
+ <CommandList>
105
+ <CommandEmpty class="py-6 text-center text-sm text-zinc-500">
106
+ {{ t("history-empty") }}
107
+ </CommandEmpty>
108
+ <CommandGroup>
109
+ <CommandItem
110
+ v-for="v in props.versions"
111
+ :key="v.version"
112
+ :value="v.name"
113
+ :keywords="v.version"
114
+ @select="onPick(v)"
115
+ >
116
+ <span class="flex-1 truncate">{{ v.name }}</span>
117
+ <span class="ml-auto text-xs tabular-nums text-zinc-400">{{ v.version }}</span>
118
+ </CommandItem>
119
+ </CommandGroup>
120
+ </CommandList>
121
+ </Command>
122
+ </PopoverContent>
123
+
124
+ <AlertDialog
125
+ :open="confirmOpen"
126
+ @update:open="(o) => {
127
+ if (!o) onCancel();
128
+ }"
129
+ >
130
+ <AlertDialogContent class="sm:px-12 sm:py-8 flex flex-col gap-12">
131
+ <AlertDialogHeader class="sr-only">
132
+ <AlertDialogTitle>{{ t("history-label") }}</AlertDialogTitle>
133
+ <AlertDialogDescription>{{ t("history-confirm-body") }}</AlertDialogDescription>
134
+ </AlertDialogHeader>
135
+ <Icon
136
+ icon="fluent:warning-20-filled"
137
+ class="text-6xl mx-auto text-yellow-500"
138
+ />
139
+ <p class="text-sm text-zinc-900">
140
+ {{ t("history-confirm-body") }}
141
+ </p>
142
+ <AlertDialogFooter>
143
+ <AlertDialogCancel @click="onCancel">
144
+ <Icon icon="fluent:dismiss-20-regular" />
145
+ {{ t("history-cancel") }}
146
+ </AlertDialogCancel>
147
+ <AlertDialogAction @click="onConfirm">
148
+ <Icon icon="fluent:checkmark-20-regular" />
149
+ {{ t("history-confirm") }}
150
+ </AlertDialogAction>
151
+ </AlertDialogFooter>
152
+ </AlertDialogContent>
153
+ </AlertDialog>
154
+ </Popover>
155
+ </template>
@@ -0,0 +1,15 @@
1
+ export interface HistoryVersion {
2
+ version: string;
3
+ name: string;
4
+ }
5
+ type __VLS_Props = {
6
+ versions: HistoryVersion[];
7
+ dirty?: boolean;
8
+ };
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ select: (version: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onSelect?: ((version: string) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -1,14 +1,17 @@
1
1
  import type { Environment } from '../../vendor/cel-js/lib/index.js';
2
+ import type { HistoryVersion } from './history-picker.vue.js';
2
3
  import { type PageConfigValue } from './schema.js';
3
4
  type __VLS_Props = {
4
5
  configure?: (env: Environment) => void;
5
6
  editable?: boolean;
7
+ versions?: HistoryVersion[];
6
8
  };
7
9
  type __VLS_ModelProps = {
8
10
  'config'?: PageConfigValue | null | undefined;
9
11
  };
10
12
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
11
13
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "select-version": (version: string) => any;
12
15
  "update:config": (value: Readonly<{
13
16
  kind: "shwfed.component.page";
14
17
  title?: import("../../share/locale.js").LocaleValue;
@@ -23,6 +26,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
23
26
  }>;
24
27
  }> | null | undefined) => any;
25
28
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
+ "onSelect-version"?: ((version: string) => any) | undefined;
26
30
  "onUpdate:config"?: ((value: Readonly<{
27
31
  kind: "shwfed.component.page";
28
32
  title?: import("../../share/locale.js").LocaleValue;
@@ -32,8 +32,10 @@ const config = computed({
32
32
  });
33
33
  const props = defineProps({
34
34
  configure: { type: Function, required: false },
35
- editable: { type: Boolean, required: false }
35
+ editable: { type: Boolean, required: false },
36
+ versions: { type: Array, required: false }
36
37
  });
38
+ const emit = defineEmits(["select-version"]);
37
39
  const inheritedCEL = injectCELContext();
38
40
  const hostConfigure = props.configure ?? (() => {
39
41
  });
@@ -90,6 +92,9 @@ const editorState = useConfigEditor(config, {
90
92
  watch(editorOpen, (open, prev) => {
91
93
  if (open && !prev) editorState.reset();
92
94
  });
95
+ watch(configModel, () => {
96
+ if (editorOpen.value) editorState.reset();
97
+ });
93
98
  function onGridClick(event) {
94
99
  if (!props.editable) return;
95
100
  if (!event.metaKey && !event.ctrlKey) return;
@@ -193,7 +198,9 @@ const isMac = computed(
193
198
  <template #footer>
194
199
  <EditorFooter
195
200
  :state="editorState"
201
+ :versions="props.versions"
196
202
  @close="editorOpen = false"
203
+ @select-version="(v) => emit('select-version', v)"
197
204
  />
198
205
  </template>
199
206
  </ShwfedModal>
@@ -1,14 +1,17 @@
1
1
  import type { Environment } from '../../vendor/cel-js/lib/index.js';
2
+ import type { HistoryVersion } from './history-picker.vue.js';
2
3
  import { type PageConfigValue } from './schema.js';
3
4
  type __VLS_Props = {
4
5
  configure?: (env: Environment) => void;
5
6
  editable?: boolean;
7
+ versions?: HistoryVersion[];
6
8
  };
7
9
  type __VLS_ModelProps = {
8
10
  'config'?: PageConfigValue | null | undefined;
9
11
  };
10
12
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
11
13
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "select-version": (version: string) => any;
12
15
  "update:config": (value: Readonly<{
13
16
  kind: "shwfed.component.page";
14
17
  title?: import("../../share/locale.js").LocaleValue;
@@ -23,6 +26,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
23
26
  }>;
24
27
  }> | null | undefined) => any;
25
28
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
+ "onSelect-version"?: ((version: string) => any) | undefined;
26
30
  "onUpdate:config"?: ((value: Readonly<{
27
31
  kind: "shwfed.component.page";
28
32
  title?: import("../../share/locale.js").LocaleValue;
@@ -39,17 +39,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
39
39
  readonly mode: "formula" | "prefill";
40
40
  readonly expression: string;
41
41
  } | undefined;
42
- readonly validations?: readonly {
43
- readonly message: readonly [{
44
- readonly locale: "zh";
45
- readonly message: string;
46
- }, ...{
47
- readonly locale: "en" | "ja" | "ko";
48
- readonly message: string;
49
- }[]];
50
- readonly warning?: boolean | undefined;
51
- readonly when: string;
52
- }[] | undefined;
53
42
  readonly addon?: {
54
43
  readonly size: "default" | "sm" | "xs";
55
44
  readonly style?: string | undefined;
@@ -117,6 +106,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
106
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
118
107
  }[];
119
108
  } | undefined;
109
+ readonly validations?: readonly {
110
+ readonly message: readonly [{
111
+ readonly locale: "zh";
112
+ readonly message: string;
113
+ }, ...{
114
+ readonly locale: "en" | "ja" | "ko";
115
+ readonly message: string;
116
+ }[]];
117
+ readonly warning?: boolean | undefined;
118
+ readonly when: string;
119
+ }[] | undefined;
120
120
  }) => any;
121
121
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
122
122
  "onUpdate:modelValue"?: ((value: {
@@ -155,17 +155,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
155
155
  readonly mode: "formula" | "prefill";
156
156
  readonly expression: string;
157
157
  } | undefined;
158
- readonly validations?: readonly {
159
- readonly message: readonly [{
160
- readonly locale: "zh";
161
- readonly message: string;
162
- }, ...{
163
- readonly locale: "en" | "ja" | "ko";
164
- readonly message: string;
165
- }[]];
166
- readonly warning?: boolean | undefined;
167
- readonly when: string;
168
- }[] | undefined;
169
158
  readonly addon?: {
170
159
  readonly size: "default" | "sm" | "xs";
171
160
  readonly style?: string | undefined;
@@ -233,6 +222,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
233
222
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
234
223
  }[];
235
224
  } | undefined;
225
+ readonly validations?: readonly {
226
+ readonly message: readonly [{
227
+ readonly locale: "zh";
228
+ readonly message: string;
229
+ }, ...{
230
+ readonly locale: "en" | "ja" | "ko";
231
+ readonly message: string;
232
+ }[]];
233
+ readonly warning?: boolean | undefined;
234
+ readonly when: string;
235
+ }[] | undefined;
236
236
  }) => any) | undefined;
237
237
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
238
238
  declare const _default: typeof __VLS_export;