@schemx/vue 1.0.0 → 1.1.0

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 (121) hide show
  1. package/README.md +509 -324
  2. package/dist/analyze.html +1 -1
  3. package/dist/bridge/fieldBridge.d.ts +12 -0
  4. package/dist/bridge/fieldBridge.d.ts.map +1 -1
  5. package/dist/bridge/formBridge.d.ts +35 -2
  6. package/dist/bridge/formBridge.d.ts.map +1 -1
  7. package/dist/bridge/formInstance.d.ts +24 -4
  8. package/dist/bridge/formInstance.d.ts.map +1 -1
  9. package/dist/bridge/helpers.d.ts +8 -0
  10. package/dist/bridge/helpers.d.ts.map +1 -1
  11. package/dist/bridge/index.d.ts +2 -3
  12. package/dist/bridge/index.d.ts.map +1 -1
  13. package/dist/bridge/types.d.ts +97 -9
  14. package/dist/bridge/types.d.ts.map +1 -1
  15. package/dist/bridge/viewSchemaBridge.d.ts +14 -1
  16. package/dist/bridge/viewSchemaBridge.d.ts.map +1 -1
  17. package/dist/components/Button/index.d.ts.map +1 -1
  18. package/dist/components/Button/index.vue.d.ts +12 -0
  19. package/dist/components/Button/index.vue.d.ts.map +1 -1
  20. package/dist/components/Button/types.d.ts +15 -5
  21. package/dist/components/Button/types.d.ts.map +1 -1
  22. package/dist/components/Col/index.d.ts +27 -5
  23. package/dist/components/Col/index.d.ts.map +1 -1
  24. package/dist/components/ConfigProvider/index.d.ts +40 -7
  25. package/dist/components/ConfigProvider/index.d.ts.map +1 -1
  26. package/dist/components/Dynamic/index.d.ts +27 -17
  27. package/dist/components/Dynamic/index.d.ts.map +1 -1
  28. package/dist/components/Field/index.d.ts +13 -2
  29. package/dist/components/Field/index.d.ts.map +1 -1
  30. package/dist/components/Field/slot.d.ts +34 -10
  31. package/dist/components/Field/slot.d.ts.map +1 -1
  32. package/dist/components/Group/index.d.ts +37 -8
  33. package/dist/components/Group/index.d.ts.map +1 -1
  34. package/dist/components/Group/slot.d.ts +36 -9
  35. package/dist/components/Group/slot.d.ts.map +1 -1
  36. package/dist/components/Icon/index.d.ts +29 -0
  37. package/dist/components/Icon/index.d.ts.map +1 -0
  38. package/dist/components/Row/index.d.ts +30 -0
  39. package/dist/components/Row/index.d.ts.map +1 -0
  40. package/dist/components/SchemaList/index.d.ts +22 -12
  41. package/dist/components/SchemaList/index.d.ts.map +1 -1
  42. package/dist/components/Wrapper/index.vue.d.ts +6 -0
  43. package/dist/components/Wrapper/index.vue.d.ts.map +1 -1
  44. package/dist/config/defaultVueSchemaConfig.d.ts +62 -0
  45. package/dist/config/defaultVueSchemaConfig.d.ts.map +1 -0
  46. package/dist/config/index.d.ts +12 -2
  47. package/dist/config/index.d.ts.map +1 -1
  48. package/dist/config/vueConfig.d.ts +14 -3
  49. package/dist/config/vueConfig.d.ts.map +1 -1
  50. package/dist/context/configProviderContext.d.ts +66 -0
  51. package/dist/context/configProviderContext.d.ts.map +1 -0
  52. package/dist/context/fieldContext.d.ts +11 -0
  53. package/dist/context/fieldContext.d.ts.map +1 -0
  54. package/dist/context/formContext.d.ts +167 -0
  55. package/dist/context/formContext.d.ts.map +1 -0
  56. package/dist/context/index.d.ts +18 -0
  57. package/dist/context/index.d.ts.map +1 -0
  58. package/dist/form.d.ts +10 -2
  59. package/dist/form.d.ts.map +1 -1
  60. package/dist/hocs/withRemoteOptions.d.ts +6 -2
  61. package/dist/hocs/withRemoteOptions.d.ts.map +1 -1
  62. package/dist/hooks/index.d.ts +23 -15
  63. package/dist/hooks/index.d.ts.map +1 -1
  64. package/dist/hooks/useDictionary.d.ts +32 -9
  65. package/dist/hooks/useDictionary.d.ts.map +1 -1
  66. package/dist/hooks/useField.d.ts +7 -0
  67. package/dist/hooks/useField.d.ts.map +1 -1
  68. package/dist/hooks/useForm.d.ts +4 -16
  69. package/dist/hooks/useForm.d.ts.map +1 -1
  70. package/dist/hooks/useFormSelector.d.ts.map +1 -1
  71. package/dist/hooks/useViewSchemas.d.ts +26 -2
  72. package/dist/hooks/useViewSchemas.d.ts.map +1 -1
  73. package/dist/index.cjs +1 -1
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.ts +35 -13
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.mjs +684 -357
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/style.css +1 -1
  80. package/dist/types/definition.d.ts +248 -0
  81. package/dist/types/definition.d.ts.map +1 -0
  82. package/dist/types/dictionary.d.ts +9 -3
  83. package/dist/types/dictionary.d.ts.map +1 -1
  84. package/dist/types/field.d.ts +93 -21
  85. package/dist/types/field.d.ts.map +1 -1
  86. package/dist/types/form.d.ts +82 -6
  87. package/dist/types/form.d.ts.map +1 -1
  88. package/dist/types/icon.d.ts +15 -0
  89. package/dist/types/icon.d.ts.map +1 -0
  90. package/dist/types/index.d.ts +2 -15
  91. package/dist/types/index.d.ts.map +1 -1
  92. package/dist/types/layout.d.ts +89 -13
  93. package/dist/types/layout.d.ts.map +1 -1
  94. package/dist/utils/diff.d.ts +3 -6
  95. package/dist/utils/diff.d.ts.map +1 -1
  96. package/dist/utils/dynamic.d.ts +6 -2
  97. package/dist/utils/dynamic.d.ts.map +1 -1
  98. package/dist/utils/equal.d.ts +2 -2
  99. package/dist/utils/helpers.d.ts +26 -2
  100. package/dist/utils/helpers.d.ts.map +1 -1
  101. package/dist/utils/index.d.ts +19 -4
  102. package/dist/utils/index.d.ts.map +1 -1
  103. package/dist/utils/layout.d.ts +17 -0
  104. package/dist/utils/layout.d.ts.map +1 -0
  105. package/dist/utils/rendererProvider.d.ts +10 -3
  106. package/dist/utils/rendererProvider.d.ts.map +1 -1
  107. package/dist/utils/validation.d.ts +6 -2
  108. package/dist/utils/validation.d.ts.map +1 -1
  109. package/package.json +2 -2
  110. package/dist/config/appConfig.d.ts +0 -19
  111. package/dist/config/appConfig.d.ts.map +0 -1
  112. package/dist/config/providerConfig.d.ts +0 -22
  113. package/dist/config/providerConfig.d.ts.map +0 -1
  114. package/dist/hooks/provideFieldContext.d.ts +0 -40
  115. package/dist/hooks/provideFieldContext.d.ts.map +0 -1
  116. package/dist/hooks/provideFormConfigContext.d.ts +0 -71
  117. package/dist/hooks/provideFormConfigContext.d.ts.map +0 -1
  118. package/dist/hooks/provideFormContext.d.ts +0 -26
  119. package/dist/hooks/provideFormContext.d.ts.map +0 -1
  120. package/dist/utils/colProvider.d.ts +0 -20
  121. package/dist/utils/colProvider.d.ts.map +0 -1
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--schemx-primary-color: #2f6bff;--schemx-primary-color-light: #eaf2ff;--schemx-text-color: #323233;--schemx-text-color-secondary: #666666;--schemx-text-color-placeholder: #c8c9cc;--schemx-readonly-color: #969799;--schemx-disabled-color: #c8c9cc;--schemx-disabled-opacity: .6;--schemx-background-color: #ffffff;--schemx-background-color-light: #f3f4f6;--schemx-border-color: #ebedf0;--schemx-danger-color: #ee0a24;--schemx-success-color: #07c160;--schemx-warning-color: #ff976a;--schemx-padding-base: 4px;--schemx-padding-xs: 8px;--schemx-padding-sm: 12px;--schemx-padding-md: 16px;--schemx-padding-lg: 24px;--schemx-font-size-xs: 10px;--schemx-font-size-sm: 12px;--schemx-font-size-md: 14px;--schemx-font-size-lg: 16px;--schemx-border-radius-xs: 2px;--schemx-border-radius-sm: 4px;--schemx-border-radius-md: 8px;--schemx-border-radius-lg: 12px;--schemx-form-padding-bottom: 15px;--schemx-schemas-padding-inline: 6px;--schemx-field-gap: 16px;--schemx-field-line-height: 1.6;--schemx-field-error-line-height: 1.5714285714285714;--schemx-field-label-color: #666666;--schemx-field-label-top-gap: 4px;--schemx-field-content-padding-inline: 6px;--schemx-field-required-gap: 2px;--schemx-field-error-gap: 6px;--schemx-content-align: right;--schemx-error-align: right;--schemx-group-arrow-size: 5px;--schemx-group-arrow-duration: .2s}.schemx-row{display:flex;flex-wrap:wrap;width:100%}.schemx-col{box-sizing:border-box;min-width:0}.schemx>.schemx-row:has(+.schemx-actions)>.schemx-col:last-child>.schemx-field-wrapper--last,.schemx>.schemx-row:has(+.schemx-actions)>.schemx-col:last-child>.schemx-group-wrapper{margin-bottom:0}.schemx-group__body>.schemx-row>.schemx-col:last-child>.schemx-field-wrapper .schemx-field:after{display:none}.schemx-field-wrapper{position:relative;background-color:var(--schemx-background-color)}.schemx-field-wrapper--first{border-top-left-radius:var(--schemx-border-radius-md);border-top-right-radius:var(--schemx-border-radius-md)}.schemx-field-wrapper--last{border-bottom-left-radius:var(--schemx-border-radius-md);border-bottom-right-radius:var(--schemx-border-radius-md);margin-bottom:var(--schemx-padding-sm)}.schemx>.schemx-field-wrapper--last:last-child,.schemx>.schemx-field-wrapper--last:has(+.schemx-actions){margin-bottom:0}.schemx-field{display:flex;align-items:flex-start;justify-content:space-between;padding-inline:var(--schemx-padding-md);padding-block:var(--schemx-padding-md);line-height:var(--schemx-field-line-height);gap:var(--schemx-field-gap)}.schemx-field:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--schemx-padding-md);bottom:0;left:var(--schemx-padding-md);border-bottom:1px solid var(--schemx-border-color);transform:scaleY(.5)}.schemx-field-wrapper--last .schemx-field:after{display:none}.schemx-field--label-left{flex-direction:row}.schemx-field--label-right{flex-direction:row-reverse}.schemx-field--label-right .schemx-field__label{margin-right:0;margin-left:var(--schemx-padding-xs)}.schemx-field--label-top{flex-direction:column}.schemx-field--label-top .schemx-field__label{margin-right:0;margin-bottom:var(--schemx-field-label-top-gap);width:auto}.schemx-field__label{position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--schemx-field-label-color);font-size:var(--schemx-font-size-md);margin-right:var(--schemx-padding-xs);line-height:var(--schemx-field-line-height)}.schemx-field__required{color:var(--schemx-danger-color);margin-right:var(--schemx-field-required-gap);position:absolute;top:2px;left:-8px}.schemx-field__content{flex:1;min-width:0;max-width:70%}.schemx-field__control{text-align:var(--schemx-content-align)}.schemx-field__control .schemx-renderer{width:100%}.schemx-field__error{color:var(--schemx-danger-color);font-size:var(--schemx-font-size-sm);text-align:var(--schemx-error-align, right);line-height:var(--schemx-field-error-line-height);margin-top:var(--schemx-field-error-gap)}.schemx-field--label-top>.schemx-field__content{box-sizing:border-box;width:100%;max-width:none}.schemx-group-wrapper{position:relative;margin-bottom:var(--schemx-padding-sm);background-color:var(--schemx-background-color);padding:0 var(--schemx-padding-md);border-radius:var(--schemx-border-radius-md)}.schemx>.schemx-group-wrapper:last-child,.schemx>.schemx-group-wrapper:has(+.schemx-actions){margin-bottom:0}.schemx-group__header{display:flex;align-items:center;justify-content:space-between;padding-block:var(--schemx-padding-md);-webkit-user-select:none;user-select:none}.schemx-group__header--clickable{cursor:pointer}.schemx-group__title{font-size:var(--schemx-font-size-lg);font-weight:500;color:var(--schemx-text-color)}.schemx-group__arrow{display:inline-block;width:0;height:0;border-left:var(--schemx-group-arrow-size) solid transparent;border-right:var(--schemx-group-arrow-size) solid transparent;border-bottom:var(--schemx-group-arrow-size) solid var(--schemx-text-color-secondary);transition:transform var(--schemx-group-arrow-duration) ease}.schemx-group__arrow--down{transform:rotate(180deg)}.schemx-group__body>.schemx-field-wrapper:last-child .schemx-field:after{display:none}.schemx-group__body>.schemx-field-wrapper>.schemx-field{padding-inline:var(--schemx-padding-xs)}.schemx{box-sizing:border-box;padding-bottom:var(--schemx-form-padding-bottom)}.schemx-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--schemx-padding-sm);padding:var(--schemx-padding-md) 0}.schemx-schemas{background-color:var(--schemx-background-color);padding:var(--schemx-padding-md) var(--schemx-schemas-padding-inline);border-radius:var(--schemx-border-radius-lg)}.schemx-schemas-title{display:flex;align-items:center;padding-left:var(--schemx-padding-md);padding-bottom:var(--schemx-padding-xs)}.schemx-schemas-title-icon{margin-right:var(--schemx-padding-xs)}.schemx-schemas-title-label{font-size:var(--schemx-font-size-md);color:var(--schemx-text-color)}.schemx-renderer-readonly{color:var(--schemx-readonly-color);cursor:default}.is-disabled{opacity:.6}.is-readonly,.is-disabled .is-disabled{opacity:1}.schemx-button{box-sizing:content-box;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--schemx-padding-xs);min-width:72px;height:24px;padding:var(--schemx-padding-xs) var(--schemx-padding-md);border:1px solid var(--schemx-border-color);border-radius:var(--schemx-border-radius-sm);background:var(--schemx-background-color);color:var(--schemx-text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .1s ease}.schemx-button:not(:disabled):hover{opacity:.8}.schemx-button:not(:disabled):active{transform:scale(.98)}.schemx-button--small{min-width:56px;height:20px;padding:var(--schemx-padding-base) var(--schemx-padding-sm);font-size:var(--schemx-font-size-sm)}.schemx-button--large{min-width:88px;height:28px;padding:var(--schemx-padding-sm) var(--schemx-padding-lg);font-size:var(--schemx-font-size-lg)}.schemx-button__loading{display:inline-block;border-radius:50%;vertical-align:-.15em;animation:schemx-button-loading .8s linear infinite}.schemx-actions-button--submit{border-color:var(--schemx-primary-color);background:var(--schemx-primary-color);color:#fff}.schemx-actions-button--submit:not(:disabled):hover{filter:brightness(.92);color:#fff}.schemx-button:disabled{cursor:not-allowed;opacity:var(--schemx-disabled-opacity)}@keyframes schemx-button-loading{to{transform:rotate(360deg)}}.schemx-wrapper{box-sizing:border-box;width:100%}.schemx-wrapper--readonly{color:var(--schemx-wrapper-readonly-color, var(--schemx-readonly-color, #969799));cursor:default}.schemx-wrapper--disabled{opacity:var(--schemx-disabled-opacity, .6);cursor:not-allowed}.is-disabled .schemx-wrapper--disabled{opacity:1}
1
+ :root{--schemx-primary-color: #2f6bff;--schemx-primary-color-light: #eaf2ff;--schemx-text-color: #323233;--schemx-text-color-secondary: #666666;--schemx-text-color-placeholder: #c8c9cc;--schemx-readonly-color: #969799;--schemx-disabled-color: #c8c9cc;--schemx-disabled-opacity: .6;--schemx-background-color: #ffffff;--schemx-background-color-light: #f3f4f6;--schemx-border-color: #ebedf0;--schemx-danger-color: #ee0a24;--schemx-success-color: #07c160;--schemx-warning-color: #ff976a;--schemx-padding-base: 4px;--schemx-padding-xs: 8px;--schemx-padding-sm: 12px;--schemx-padding-md: 16px;--schemx-padding-lg: 24px;--schemx-font-size-xs: 10px;--schemx-font-size-sm: 12px;--schemx-font-size-md: 14px;--schemx-font-size-lg: 16px;--schemx-border-radius-xs: 2px;--schemx-border-radius-sm: 4px;--schemx-border-radius-md: 8px;--schemx-border-radius-lg: 12px;--schemx-form-padding-bottom: 15px;--schemx-schemas-padding-inline: 6px;--schemx-field-gap: 10px;--schemx-field-error-line-height: 1.5714285714285714;--schemx-field-label-color: #666666;--schemx-field-label-top-gap: 4px;--schemx-field-content-padding-inline: 6px;--schemx-field-required-gap: 2px;--schemx-field-error-gap: 6px;--schemx-component-size: 28px;--schemx-group-arrow-size: 5px;--schemx-group-arrow-duration: .2s}.schemx-row{display:flex;flex-wrap:wrap;box-sizing:border-box}.schemx-col{box-sizing:border-box;min-width:0;padding-top:var(--schemx-gutter-top, 0px);padding-right:var(--schemx-gutter-right, 0px);padding-bottom:var(--schemx-gutter-bottom, 0px);padding-left:var(--schemx-gutter-left, 0px)}.schemx-field-wrapper{position:relative}.schemx-field-wrapper.is-bordered:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:0;bottom:0;left:0;border-bottom:1px solid var(--schemx-border-color);transform:scaleY(.5)}.schemx-field-wrapper--last.is-bordered:after{display:none}.schemx-field{display:flex;justify-content:space-between;line-height:var(--schemx-component-size);gap:var(--schemx-field-gap)}.schemx-field--label-left{flex-direction:row}.schemx-field--label-right{flex-direction:row-reverse}.schemx-field--label-right .schemx-field__label{margin-right:0;margin-left:var(--schemx-padding-xs)}.schemx-field--label-top{flex-direction:column}.schemx-field--label-top .schemx-field__label{margin-right:0;margin-bottom:var(--schemx-field-label-top-gap);width:auto}.schemx-field__label{position:relative;flex-shrink:0;min-height:var(--schemx-component-size);color:var(--schemx-field-label-color);font-size:var(--schemx-font-size-md);line-height:var(--schemx-component-size)}.schemx-field__label-text.is-required:before{content:"*";color:var(--schemx-danger-color);margin-right:var(--schemx-field-required-gap)}.schemx-field__label-icon{display:inline-flex;align-items:center;margin-right:var(--schemx-padding-xs)}.schemx-field__content{flex:1;min-width:0}.schemx-field__content .schemx-renderer{width:100%}.schemx-field__error{color:var(--schemx-danger-color);font-size:var(--schemx-font-size-sm);text-align:var(--schemx-error-align, left);line-height:var(--schemx-field-error-line-height)}.schemx-field__error:not(:empty){margin-top:var(--schemx-field-error-gap)}.schemx-field--label-top>.schemx-field__content{box-sizing:border-box;width:100%}.schemx-group-wrapper{position:relative;box-sizing:border-box;width:100%}.schemx-group__header{display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.schemx-group__header--clickable{cursor:pointer}.schemx-group__title{font-size:var(--schemx-font-size-lg);font-weight:500;color:var(--schemx-text-color)}.schemx-group__arrow{display:inline-block;width:0;height:0;border-left:var(--schemx-group-arrow-size) solid transparent;border-right:var(--schemx-group-arrow-size) solid transparent;border-bottom:var(--schemx-group-arrow-size) solid var(--schemx-text-color-secondary);transition:transform var(--schemx-group-arrow-duration) ease}.schemx-group__arrow--down{transform:rotate(180deg)}.schemx{box-sizing:border-box}.schemx-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--schemx-padding-sm);padding:var(--schemx-padding-md) 0}.schemx-schemas-title{display:flex;align-items:center}.schemx-schemas-title-icon{margin-right:var(--schemx-padding-xs)}.schemx-schemas-title-label{font-size:var(--schemx-font-size-md);color:var(--schemx-text-color)}.schemx-renderer-readonly{color:var(--schemx-readonly-color);cursor:default}.schemx .is-disabled{opacity:var(--schemx-disabled-opacity)}.schemx .is-readonly,.schemx .is-disabled .is-disabled{opacity:1}.schemx-button{box-sizing:content-box;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--schemx-padding-xs);min-width:72px;height:24px;padding:var(--schemx-padding-xs) var(--schemx-padding-md);border:1px solid var(--schemx-border-color);border-radius:var(--schemx-border-radius-sm);background:var(--schemx-background-color);color:var(--schemx-text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .1s ease}.schemx-button:not(:disabled):hover{opacity:.8}.schemx-button:not(:disabled):active{transform:scale(.98)}.schemx-button--small{min-width:56px;height:20px;padding:var(--schemx-padding-base) var(--schemx-padding-sm);font-size:var(--schemx-font-size-sm)}.schemx-button--large{min-width:88px;height:28px;padding:var(--schemx-padding-sm) var(--schemx-padding-lg);font-size:var(--schemx-font-size-lg)}.schemx-button__loading{display:inline-block;border-radius:50%;vertical-align:-.15em;animation:schemx-button-loading .8s linear infinite}.schemx-actions-button--submit{border-color:var(--schemx-primary-color);background:var(--schemx-primary-color);color:#fff}.schemx-actions-button--submit:not(:disabled):hover{filter:brightness(.92);color:#fff}.schemx-button:disabled{cursor:not-allowed;opacity:var(--schemx-disabled-opacity)}@keyframes schemx-button-loading{to{transform:rotate(360deg)}}.schemx-wrapper{box-sizing:border-box;width:100%}.schemx-wrapper--readonly{color:var(--schemx-wrapper-readonly-color, var(--schemx-readonly-color, #969799));cursor:default}.schemx-wrapper--disabled{opacity:var(--schemx-disabled-opacity, .6);cursor:not-allowed}.is-disabled .schemx-wrapper--disabled{opacity:1}
@@ -0,0 +1,248 @@
1
+ import { StyleValue } from 'vue';
2
+ import { SchemxIconComponent, SchemxIconValue } from './icon';
3
+ import { SchemxColComponent, SchemxColConfig, SchemxLayout, SchemxRowComponent, SchemxRowConfig } from './layout';
4
+ import { FieldValue, SchemxConditionFn, Values } from '@schemx/core';
5
+ /**
6
+ * 保持 Vue 层 Core 声明合并文件出现在发布的类型入口中。
7
+ *
8
+ * 该类型没有运行时含义,仅用于让生成的 `index.d.ts` 保留对本模块的类型引用。
9
+ */
10
+ export type SchemxVueTypeAugmentations = never;
11
+ declare module "@schemx/core" {
12
+ /**
13
+ * Vue Field 的展示与事件扩展。
14
+ */
15
+ interface SchemxFieldDefinition<TValues extends Values = Values> {
16
+ /**
17
+ * 字段自身的静态 Col 配置。
18
+ */
19
+ col?: SchemxColConfig<TValues>;
20
+ /**
21
+ * 旧版字段静态布局配置。
22
+ *
23
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
24
+ */
25
+ layout?: SchemxLayout<TValues>;
26
+ /**
27
+ * 追加到 Field 外层容器元素上的自定义 CSS 类名。
28
+ */
29
+ class?: string;
30
+ /**
31
+ * 应用到 Field 外层容器元素上的自定义内联样式。
32
+ */
33
+ style?: StyleValue;
34
+ /**
35
+ * 是否显示必填视觉标记。
36
+ */
37
+ showRequiredMark?: boolean;
38
+ /**
39
+ * 标签图标名称或 Vue 图标组件。
40
+ */
41
+ labelIcon?: SchemxIconValue;
42
+ /**
43
+ * 标签对齐方式。
44
+ */
45
+ labelAlign?: "left" | "center" | "right";
46
+ /**
47
+ * 标签位置。
48
+ */
49
+ labelPosition?: "left" | "top" | "right";
50
+ /**
51
+ * 标签宽度。
52
+ */
53
+ labelWidth?: string | number;
54
+ /**
55
+ * 内容区域对齐方式。
56
+ */
57
+ contentAlign?: "left" | "center" | "right";
58
+ /**
59
+ * 错误区域对齐方式。
60
+ */
61
+ errorAlign?: "left" | "center" | "right";
62
+ /**
63
+ * 是否在标签后显示冒号。
64
+ */
65
+ colon?: boolean;
66
+ /**
67
+ * 是否在字段外层容器显示底部边框。
68
+ */
69
+ bordered?: boolean;
70
+ }
71
+ /**
72
+ * Vue Group 的展示与折叠扩展。
73
+ */
74
+ interface SchemxGroupFieldDefinition {
75
+ /**
76
+ * 追加到 Group 外层容器元素上的自定义 CSS 类名。
77
+ */
78
+ class?: string;
79
+ /**
80
+ * 应用到 Group 外层容器元素上的自定义内联样式。
81
+ */
82
+ style?: StyleValue;
83
+ /**
84
+ * Group 子级使用的 Row 配置。
85
+ */
86
+ row?: SchemxRowConfig;
87
+ /**
88
+ * 旧版 Group 外层布局配置。
89
+ *
90
+ * @deprecated 请改用 {@link SchemxRowConfig} 与 `row` 字段。
91
+ */
92
+ layout?: SchemxLayout;
93
+ /**
94
+ * 是否允许折叠。
95
+ */
96
+ collapsible?: boolean;
97
+ /**
98
+ * 非受控模式下的初始折叠状态。
99
+ */
100
+ defaultCollapsed?: boolean;
101
+ /**
102
+ * 受控折叠状态。
103
+ */
104
+ collapsed?: boolean;
105
+ /**
106
+ * 折叠状态变化回调。
107
+ *
108
+ * @param collapsed - 用户操作后请求的折叠状态。
109
+ */
110
+ onCollapsedChange?: (collapsed: boolean) => void;
111
+ /**
112
+ * 折叠时是否卸载后代 Renderer。
113
+ */
114
+ destroyOnCollapse?: boolean;
115
+ }
116
+ /**
117
+ * Vue Dynamic 的展示扩展。
118
+ */
119
+ interface SchemxDynamicDefinition {
120
+ /**
121
+ * 每个 Dynamic item 使用的 Row 配置。
122
+ */
123
+ row?: SchemxRowConfig;
124
+ /**
125
+ * 旧版 Dynamic 外层布局配置。
126
+ *
127
+ * @deprecated 请改用 {@link SchemxRowConfig} 与 `row` 字段。
128
+ */
129
+ layout?: SchemxLayout;
130
+ }
131
+ /**
132
+ * Vue Field 依赖配置的动态展示扩展。
133
+ */
134
+ interface SchemxFieldDependenciesDefinition<TValues extends Values = Values> {
135
+ /**
136
+ * 动态必填视觉标记。
137
+ */
138
+ showRequiredMark?: SchemxConditionFn<TValues, boolean>;
139
+ }
140
+ /**
141
+ * Vue 表单配置字段展示默认值扩展。
142
+ */
143
+ interface SchemxConfigDefinition<TValues extends Values = Values> {
144
+ /**
145
+ * 当前 App、Provider 或 Form 的默认 Row 配置。
146
+ */
147
+ readonly row?: SchemxRowConfig;
148
+ /**
149
+ * 当前 App、Provider 或 Form 使用的 Col 实现。
150
+ */
151
+ readonly colComponent?: SchemxColComponent;
152
+ /**
153
+ * 当前 App、Provider 或 Form 使用的 Row 实现。
154
+ */
155
+ readonly rowComponent?: SchemxRowComponent;
156
+ /**
157
+ * 当前 App、Provider 或 Form 使用的 Icon Adapter。
158
+ */
159
+ readonly iconComponent?: SchemxIconComponent;
160
+ }
161
+ /**
162
+ * Vue 表单级字段展示默认值扩展。
163
+ */
164
+ interface SchemxSchemaConfigDefinition {
165
+ /**
166
+ * Form、Group 和 Dynamic 使用的默认 Row 配置。
167
+ */
168
+ row?: SchemxRowConfig;
169
+ /**
170
+ * 字段默认 Col 配置。
171
+ */
172
+ col?: SchemxColConfig;
173
+ /**
174
+ * 旧版字段默认布局配置。
175
+ *
176
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
177
+ */
178
+ layout?: SchemxLayout;
179
+ /**
180
+ * 表单级标签图标默认值。
181
+ */
182
+ labelIcon?: SchemxIconValue;
183
+ /**
184
+ * 表单级标签对齐默认值。
185
+ */
186
+ labelAlign?: "left" | "center" | "right";
187
+ /**
188
+ * 表单级标签位置默认值。
189
+ */
190
+ labelPosition?: "left" | "top" | "right";
191
+ /**
192
+ * 表单级标签宽度默认值。
193
+ */
194
+ labelWidth?: string | number;
195
+ /**
196
+ * 表单级内容对齐默认值。
197
+ */
198
+ contentAlign?: "left" | "center" | "right";
199
+ /**
200
+ * 表单级校验错误对齐默认值。
201
+ */
202
+ errorAlign?: "left" | "center" | "right";
203
+ /**
204
+ * 表单级冒号默认值。
205
+ */
206
+ colon?: boolean;
207
+ /**
208
+ * 表单级必填标记默认值。
209
+ */
210
+ showRequiredMark?: boolean;
211
+ /**
212
+ * 表单级字段底部边框默认值。
213
+ */
214
+ bordered?: boolean;
215
+ }
216
+ /**
217
+ * Vue Renderer 的公共 Props 扩展。
218
+ */
219
+ interface SchemxComponentPropsDefinition<TValues extends Values = Values> {
220
+ /**
221
+ * Renderer 内容对齐方式。
222
+ *
223
+ * @deprecated 对齐配置应由 Renderer 专属 Props 定义,见 {@link SchemxRendererDefinition};兼容期间仍接受。
224
+ */
225
+ align?: "left" | "center" | "right";
226
+ /**
227
+ * Vue v-model 更新事件。
228
+ *
229
+ * @param value - Renderer 提交的最新字段值。
230
+ */
231
+ "onUpdate:value"?: (value: FieldValue<TValues>) => void;
232
+ /** Renderer 当前接收的字段值。 */
233
+ value?: FieldValue<TValues>;
234
+ /**
235
+ * Renderer 值变化处理。
236
+ *
237
+ * @param value - 用户输入或选择的最新字段值。
238
+ */
239
+ onChange?: (value: FieldValue<TValues>) => void;
240
+ /**
241
+ * Renderer 失焦处理。
242
+ *
243
+ * @param value - 失焦时的当前字段值。
244
+ */
245
+ onBlur?: (value: FieldValue<TValues>) => void;
246
+ }
247
+ }
248
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/types/definition.ts"],"names":[],"mappings":"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"}
@@ -103,11 +103,17 @@ export interface SchemxDictionary<TValues extends Values = Values, TResponse = u
103
103
  * 需要配合 useDictionary 的 fieldName 参数使用。
104
104
  */
105
105
  resetOnDepsChange?: boolean;
106
- /** 失败重试次数,默认 `0`(不重试) */
106
+ /**
107
+ * 失败重试次数,默认 `0`(不重试)
108
+ */
107
109
  retryCount?: number;
108
- /** 重试间隔(毫秒),默认 `1000` */
110
+ /**
111
+ * 重试间隔(毫秒),默认 `1000`
112
+ */
109
113
  retryInterval?: number;
110
- /** 请求失败回调 */
114
+ /**
115
+ * 请求失败回调
116
+ */
111
117
  onError?: (error: Error, form: SchemxInstance<TValues>) => void;
112
118
  /**
113
119
  * 请求成功回调
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../src/types/dictionary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,gBAAgB,CAC/B,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,SAAS,GAAG,OAAO,EACnB,OAAO,GAAG,OAAO;IAEjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,EAAE,CACH,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,WAAW,KACjB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAEnC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EACvB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAC1B,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAEnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;IAE/B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAA;IAE1C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,aAAa;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAE/D;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAEpE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IACnF,IAAI,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;CACpE,CAAA"}
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../src/types/dictionary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,gBAAgB,CAC/B,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,SAAS,GAAG,OAAO,EACnB,OAAO,GAAG,OAAO;IAEjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,EAAE,CACH,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,WAAW,KACjB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAEnC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EACvB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAC1B,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAEnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;IAE/B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAA;IAE1C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAE/D;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAEpE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IACnF,IAAI,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;CACpE,CAAA"}
@@ -1,5 +1,14 @@
1
1
  import { ComputedRef, Ref, VNodeChild } from 'vue';
2
- import { FieldValue, NamePath, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
2
+ import { FieldValue, NamePath, SchemxBaseComponentProps, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
3
+ /**
4
+ * Vue Renderer 的旧版公共 Props 类型。
5
+ *
6
+ * @deprecated 请改用 {@link SchemxBaseComponentProps}。
7
+ * @typeParam TValues - 表单值类型。
8
+ * @typeParam TName - 当前字段路径类型。
9
+ * @typeParam TValue - 当前字段值类型。
10
+ */
11
+ export type SchemxVueBaseComponentProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>, TValue = FieldValue<TValues, TName>> = SchemxBaseComponentProps<TValues, TName, TValue>;
3
12
  /**
4
13
  * Vue 层字段控制器实例
5
14
  *
@@ -31,40 +40,103 @@ export interface FieldInstance<TValues extends Values = Values> extends SchemxFi
31
40
  */
32
41
  pending: ComputedRef<boolean>;
33
42
  }
34
- /** 字段区域 Slot 共用的上下文参数。 */
35
- export interface SchemxFieldSlotProps<TValues extends Values = Values> {
36
- /** 当前字段完整的已解析 ViewSchema。 */
37
- schema: SchemxViewFieldSchema<TValues>;
38
- /** 当前 Renderer 的完整运行时 Props。 */
43
+ /**
44
+ * 字段区域 Slot 共用的上下文参数。
45
+ */
46
+ export interface SchemxFieldSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> {
47
+ /**
48
+ * 当前字段完整的已解析 ViewSchema。
49
+ */
50
+ schema: SchemxViewFieldSchema<TValues> & {
51
+ readonly name: TName;
52
+ };
53
+ /**
54
+ * 当前 Renderer 的完整运行时 Props。
55
+ */
39
56
  componentProps: SchemxComponentProps<TValues>;
40
- /** 当前字段值。 */
41
- value: FieldValue<TValues, NamePath<TValues>> | undefined;
42
- /** 当前字段控制器。 */
57
+ /**
58
+ * 当前字段值。
59
+ */
60
+ value: FieldValue<TValues, TName> | undefined;
61
+ /**
62
+ * 当前字段控制器。
63
+ */
43
64
  field: FieldInstance<TValues>;
44
- /** 当前表单实例。 */
65
+ /**
66
+ * 当前表单实例。
67
+ */
45
68
  form: SchemxInstance<TValues>;
46
69
  }
47
- /** 字段内容 Slot 额外获得的默认 Renderer VNode。 */
48
- export interface SchemxFieldContentSlotProps<TValues extends Values = Values> extends SchemxFieldSlotProps<TValues> {
70
+ /**
71
+ * 字段内容 Slot 额外获得的默认 Renderer VNode。
72
+ */
73
+ export interface SchemxFieldContentSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> extends SchemxFieldSlotProps<TValues, TName> {
74
+ /**
75
+ * 默认 Renderer 生成的 VNode,可用于包裹或替换控件内容。
76
+ */
49
77
  columnElement: VNodeChild;
50
78
  }
51
- /** 字段错误 Slot 额外获得的当前错误列表。 */
52
- export interface SchemxFieldErrorSlotProps<TValues extends Values = Values> extends SchemxFieldSlotProps<TValues> {
79
+ /**
80
+ * 字段错误 Slot 额外获得的当前错误列表。
81
+ */
82
+ export interface SchemxFieldErrorSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> extends SchemxFieldSlotProps<TValues, TName> {
83
+ /** 当前字段的全部错误信息。 */
53
84
  errors: readonly string[];
54
85
  }
55
- /** 分组区域 Slot 共用的上下文参数。 */
86
+ /**
87
+ * Field 单个动态插槽可接收的参数。
88
+ *
89
+ * 字段整体、Label、Before、After 使用基础参数;Content 和 Error 分别增加
90
+ * `columnElement` 与 `errors`。
91
+ */
92
+ export type SchemxFieldSlotValue<TValues extends Values = Values> = SchemxFieldSlotProps<TValues> | SchemxFieldContentSlotProps<TValues> | SchemxFieldErrorSlotProps<TValues>;
93
+ /**
94
+ * Field 的 SlotsType 参数映射。
95
+ *
96
+ * Key 是运行时 Schema 生成的 `{name}`、`{name}Label`、`{name}Before`、
97
+ * `{name}Content`、`{name}After` 或 `{name}Error`。Value 是 Vue 传给对应插槽的
98
+ * Props 对象,不是插槽函数。`{name}:{slotName}` 子 Renderer 插槽由具体
99
+ * Renderer 定义,调用方可在自己的组件类型中进一步收窄。
100
+ */
101
+ export interface SchemxFieldSlots<TValues extends Values = Values> {
102
+ [slotName: string]: SchemxFieldSlotValue<TValues>;
103
+ }
104
+ /**
105
+ * 分组区域 Slot 共用的上下文参数。
106
+ */
56
107
  export interface SchemxGroupSlotProps<TValues extends Values = Values> {
57
- /** 当前分组完整的已解析 ViewSchema。 */
108
+ /**
109
+ * 当前分组完整的已解析 ViewSchema。
110
+ */
58
111
  schema: SchemxViewGroupSchema<TValues>;
59
- /** 当前是否收起。 */
112
+ /**
113
+ * 当前是否收起。
114
+ */
60
115
  collapsed: boolean;
61
- /** 当前分组是否可收起。 */
116
+ /**
117
+ * 当前分组是否可收起。
118
+ */
62
119
  collapsible: boolean;
63
- /** 当前分组是否禁用。 */
120
+ /**
121
+ * 当前分组是否禁用。
122
+ */
64
123
  disabled: boolean;
65
- /** 当前分组是否只读。 */
124
+ /**
125
+ * 当前分组是否只读。
126
+ */
66
127
  readonly: boolean;
67
- /** 切换分组收起状态。禁用或不可折叠时无效果。 */
128
+ /**
129
+ * 切换分组收起状态。禁用或不可折叠时无效果。
130
+ */
68
131
  toggle: () => void;
69
132
  }
133
+ /**
134
+ * Group 的 SlotsType 参数映射。
135
+ *
136
+ * Group 的 Header、Label 和 Content 插槽名称均由运行时 schema key 生成,
137
+ * 三类插槽共享同一个 Props 契约。
138
+ */
139
+ export interface SchemxGroupSlots<TValues extends Values = Values> {
140
+ [slotName: string]: SchemxGroupSlotProps<TValues>;
141
+ }
70
142
  //# sourceMappingURL=field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/types/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEvD,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,EACP,MAAM,cAAc,CAAA;AAErB;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC9D;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;IACtC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,0BAA0B;AAC1B,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE,6BAA6B;IAC7B,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACtC,gCAAgC;IAChC,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7C,aAAa;IACb,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;IACzD,eAAe;IACf,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7B,cAAc;IACd,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,wCAAwC;AACxC,MAAM,WAAW,2BAA2B,CAC1C,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,oBAAoB,CAAC,OAAO,CAAC;IACrC,aAAa,EAAE,UAAU,CAAA;CAC1B;AAED,6BAA6B;AAC7B,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,oBAAoB,CAAC,OAAO,CAAC;IACrC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B;AAED,0BAA0B;AAC1B,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE,6BAA6B;IAC7B,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACtC,cAAc;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,gBAAgB;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/types/field.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEvD,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,EACP,MAAM,cAAc,CAAA;AAErB;;;;;;;GAOG;AACH,MAAM,MAAM,2BAA2B,CACrC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,KAAK,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EACnD,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IACjC,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEpD;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC9D;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;IACtC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,KAAK,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEnD;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAAA;IACjE;;OAEG;IACH,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7C;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,SAAS,CAAA;IAC7C;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7B;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B,CAC1C,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,KAAK,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CACnD,SAAQ,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C;;OAEG;IACH,aAAa,EAAE,UAAU,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,KAAK,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CACnD,SAAQ,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C,mBAAmB;IACnB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAC5D,oBAAoB,CAAC,OAAO,CAAC,GAC7B,2BAA2B,CAAC,OAAO,CAAC,GACpC,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAC/D,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACtC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAC/D,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;CAClD"}
@@ -1,7 +1,8 @@
1
1
  import { ClassValue, StyleValue } from 'vue';
2
- import { SchemxVueConfig } from './layout';
2
+ import { SchemxIconComponent, SchemxIconValue } from './icon';
3
+ import { SchemxColComponent, SchemxColConfig, SchemxLayout, SchemxRowComponent, SchemxRowConfig } from './layout';
3
4
  import { SchemxButtonProps } from '../components/Button';
4
- import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerformanceOptions, NamePath, RequiredConfig, SchemxFieldRulesMap, SchemxInstance, SchemxSchemasInput, ValidationTrigger, Values } from '@schemx/core';
5
+ import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerformanceOptions, NamePath, RequiredConfig, SchemxConfig, SchemxFieldRulesMap, SchemxInstance, SchemxSchemasInput, ValidationTrigger, Values } from '@schemx/core';
5
6
  /**
6
7
  * Vue 需要在编译 `defineProps` 时直接读取 Props 的字段列表。
7
8
  *
@@ -10,18 +11,84 @@ import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerfo
10
11
  * 让运行时 Props 推导可静态解析,同时避免把这些配置误判为 fallthrough attrs。
11
12
  */
12
13
  interface SchemxFormSchemaConfigProps<TValues extends Values = Values> {
14
+ /**
15
+ * 表单级必填校验配置;字段未覆盖时作为字段默认值。
16
+ */
13
17
  required?: RequiredConfig<DefinedFieldValue<TValues, NamePath<TValues>>>;
18
+ /**
19
+ * 是否将字段渲染为只读状态。
20
+ */
14
21
  readonly?: boolean;
22
+ /**
23
+ * 是否禁用字段交互。
24
+ */
15
25
  disabled?: boolean;
26
+ /**
27
+ * 是否渲染字段。
28
+ */
16
29
  visible?: boolean;
17
- labelIcon?: string;
30
+ /**
31
+ * 当前 Form 使用的 Col 实现;单独声明以便 Vue SFC 编译器生成运行时 Props。
32
+ */
33
+ readonly colComponent?: SchemxColComponent;
34
+ /**
35
+ * 当前 Form 使用的 Row 实现;单独声明以便 Vue SFC 编译器生成运行时 Props。
36
+ */
37
+ readonly rowComponent?: SchemxRowComponent;
38
+ /**
39
+ * 当前 Form 使用的 Icon Adapter;单独声明以便 Vue SFC 编译器生成运行时 Props。
40
+ */
41
+ readonly iconComponent?: SchemxIconComponent;
42
+ /**
43
+ * 字段默认 Col 配置。
44
+ */
45
+ col?: SchemxColConfig;
46
+ /**
47
+ * 字段在 24 栅格布局容器中的旧静态布局配置。
48
+ *
49
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
50
+ */
51
+ layout?: SchemxLayout;
52
+ /**
53
+ * 字段标签图标名称或 Vue 图标组件。
54
+ */
55
+ labelIcon?: SchemxIconValue;
56
+ /**
57
+ * 字段标签的水平对齐方式。
58
+ */
18
59
  labelAlign?: "left" | "center" | "right";
60
+ /**
61
+ * 字段标签位于控件左侧、顶部或右侧。
62
+ */
19
63
  labelPosition?: "left" | "top" | "right";
20
- labelWidth?: string;
64
+ /**
65
+ * 字段标签宽度。
66
+ */
67
+ labelWidth?: string | number;
68
+ /**
69
+ * 字段内容区域的水平对齐方式。
70
+ */
21
71
  contentAlign?: "left" | "center" | "right";
72
+ /**
73
+ * 字段校验错误的水平对齐方式。
74
+ */
75
+ errorAlign?: "left" | "center" | "right";
76
+ /**
77
+ * 字段校验触发时机。
78
+ */
22
79
  validationTrigger?: ValidationTrigger | ValidationTrigger[];
80
+ /**
81
+ * 是否在字段标签后显示冒号。
82
+ */
23
83
  colon?: boolean;
84
+ /**
85
+ * 是否显示必填视觉标记;不改变实际校验规则。
86
+ */
24
87
  showRequiredMark?: boolean;
88
+ /**
89
+ * 是否在字段底部显示边框。
90
+ */
91
+ bordered?: boolean;
25
92
  }
26
93
  /**
27
94
  * 内置表单操作按钮的显示配置。
@@ -40,14 +107,19 @@ export interface SchemxFormActionConfig {
40
107
  }
41
108
  /**
42
109
  * 内置表单操作按钮的启用配置。
110
+ *
111
+ * `true` 使用默认按钮配置,`false` 隐藏按钮,对象形式用于覆盖按钮文案和属性。
43
112
  */
44
113
  export type SchemxFormAction = boolean | SchemxFormActionConfig;
45
114
  /**
46
- * schemx 组件 Props
115
+ * schemx 表单组件 Props
116
+ *
117
+ * `schemaConfig` 的字段以扁平 Props 形式暴露;Core 的回调、生命周期、性能和
118
+ * Renderer 配置则通过继承的类型继续提供。
47
119
  *
48
120
  * @typeParam TValues - 表单值类型
49
121
  */
50
- export interface SchemxFormProps<TValues extends Values = Values> extends Omit<SchemxVueConfig<TValues>, "schemaConfig">, FormCallbackOptions<TValues>, FormLifecycleOptions<TValues>, FormPerformanceOptions, SchemxFormSchemaConfigProps<TValues> {
122
+ export interface SchemxFormProps<TValues extends Values = Values> extends Omit<SchemxConfig<TValues>, "schemaConfig">, FormCallbackOptions<TValues>, FormLifecycleOptions<TValues>, FormPerformanceOptions, SchemxFormSchemaConfigProps<TValues> {
51
123
  /**
52
124
  * 初始 Schema 列表。
53
125
  */
@@ -68,6 +140,10 @@ export interface SchemxFormProps<TValues extends Values = Values> extends Omit<S
68
140
  * 外部传入的表单实例;传入后由组件复用该实例。
69
141
  */
70
142
  form?: SchemxInstance<TValues>;
143
+ /**
144
+ * 当前 Form 根级 Row 的配置。
145
+ */
146
+ row?: SchemxRowConfig;
71
147
  /**
72
148
  * 覆盖内置操作区展示的提交状态;不改变 Core 的真实提交状态。
73
149
  */
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACP,MAAM,cAAc,CAAA;AAErB;;;;;;GAMG;AACH,UAAU,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE,QAAQ,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IACxC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC1C,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAC1D;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,sBAAsB,CAAA;AAE/D;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9D,SACE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,EAC9C,mBAAmB,CAAC,OAAO,CAAC,EAC5B,oBAAoB,CAAC,OAAO,CAAC,EAC7B,sBAAsB,EACtB,2BAA2B,CAAC,OAAO,CAAC;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAErC;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAEzC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAE3B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Component } from 'vue';
2
+ /** UI 适配层提供的 Icon Adapter 组件。 */
3
+ export type SchemxIconComponent = Component;
4
+ /** 字段可使用的图标名称或 Vue 图标组件。 */
5
+ export type SchemxIconValue = string | Component;
6
+ /**
7
+ * Icon 包装组件 Props。
8
+ */
9
+ export interface SchemxIconProps {
10
+ /** 当前图标名称或直接使用的 Vue 组件。 */
11
+ icon: SchemxIconValue;
12
+ /** 处理字符串图标名称的 Icon Adapter。 */
13
+ component?: SchemxIconComponent;
14
+ }
15
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/types/icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,iCAAiC;AACjC,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE3C,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAA;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC"}