@schemx/vue 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +161 -141
  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 +33 -0
  6. package/dist/bridge/formBridge.d.ts.map +1 -1
  7. package/dist/bridge/formInstance.d.ts +20 -1
  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 +1 -1
  12. package/dist/bridge/index.d.ts.map +1 -1
  13. package/dist/bridge/types.d.ts +94 -4
  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 +4 -5
  23. package/dist/components/Col/index.d.ts.map +1 -1
  24. package/dist/components/ConfigProvider/index.d.ts +8 -2
  25. package/dist/components/ConfigProvider/index.d.ts.map +1 -1
  26. package/dist/components/Dynamic/index.d.ts +9 -3
  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 +32 -9
  31. package/dist/components/Field/slot.d.ts.map +1 -1
  32. package/dist/components/Group/index.d.ts +15 -5
  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/SchemaList/index.d.ts +15 -5
  37. package/dist/components/SchemaList/index.d.ts.map +1 -1
  38. package/dist/components/Wrapper/index.vue.d.ts +6 -0
  39. package/dist/components/Wrapper/index.vue.d.ts.map +1 -1
  40. package/dist/config/appConfig.d.ts +10 -0
  41. package/dist/config/appConfig.d.ts.map +1 -1
  42. package/dist/config/defaultVueSchemaConfig.d.ts +40 -0
  43. package/dist/config/defaultVueSchemaConfig.d.ts.map +1 -0
  44. package/dist/config/index.d.ts +15 -1
  45. package/dist/config/index.d.ts.map +1 -1
  46. package/dist/config/vueConfig.d.ts +7 -0
  47. package/dist/config/vueConfig.d.ts.map +1 -1
  48. package/dist/context/configProviderContext.d.ts +15 -0
  49. package/dist/context/configProviderContext.d.ts.map +1 -0
  50. package/dist/context/fieldContext.d.ts +11 -0
  51. package/dist/context/fieldContext.d.ts.map +1 -0
  52. package/dist/context/formContext.d.ts +76 -0
  53. package/dist/context/formContext.d.ts.map +1 -0
  54. package/dist/context/index.d.ts +18 -0
  55. package/dist/context/index.d.ts.map +1 -0
  56. package/dist/form.d.ts +8 -0
  57. package/dist/form.d.ts.map +1 -1
  58. package/dist/hocs/withRemoteOptions.d.ts +6 -2
  59. package/dist/hocs/withRemoteOptions.d.ts.map +1 -1
  60. package/dist/hooks/index.d.ts +24 -14
  61. package/dist/hooks/index.d.ts.map +1 -1
  62. package/dist/hooks/useDictionary.d.ts +32 -9
  63. package/dist/hooks/useDictionary.d.ts.map +1 -1
  64. package/dist/hooks/useField.d.ts +7 -0
  65. package/dist/hooks/useField.d.ts.map +1 -1
  66. package/dist/hooks/useForm.d.ts.map +1 -1
  67. package/dist/hooks/useFormSelector.d.ts.map +1 -1
  68. package/dist/hooks/useViewSchemas.d.ts +26 -2
  69. package/dist/hooks/useViewSchemas.d.ts.map +1 -1
  70. package/dist/index.cjs +1 -1
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/index.d.ts +33 -11
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.mjs +224 -164
  75. package/dist/index.mjs.map +1 -1
  76. package/dist/style.css +1 -1
  77. package/dist/types/definition.d.ts +153 -0
  78. package/dist/types/definition.d.ts.map +1 -0
  79. package/dist/types/dictionary.d.ts +9 -3
  80. package/dist/types/dictionary.d.ts.map +1 -1
  81. package/dist/types/field.d.ts +116 -21
  82. package/dist/types/field.d.ts.map +1 -1
  83. package/dist/types/form.d.ts +42 -1
  84. package/dist/types/form.d.ts.map +1 -1
  85. package/dist/types/index.d.ts +0 -15
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/layout.d.ts +31 -6
  88. package/dist/types/layout.d.ts.map +1 -1
  89. package/dist/utils/colProvider.d.ts +3 -1
  90. package/dist/utils/colProvider.d.ts.map +1 -1
  91. package/dist/utils/diff.d.ts +3 -6
  92. package/dist/utils/diff.d.ts.map +1 -1
  93. package/dist/utils/dynamic.d.ts +6 -2
  94. package/dist/utils/dynamic.d.ts.map +1 -1
  95. package/dist/utils/equal.d.ts +2 -2
  96. package/dist/utils/helpers.d.ts +26 -2
  97. package/dist/utils/helpers.d.ts.map +1 -1
  98. package/dist/utils/index.d.ts +15 -4
  99. package/dist/utils/index.d.ts.map +1 -1
  100. package/dist/utils/validation.d.ts +6 -2
  101. package/dist/utils/validation.d.ts.map +1 -1
  102. package/package.json +2 -2
  103. package/dist/config/providerConfig.d.ts +0 -22
  104. package/dist/config/providerConfig.d.ts.map +0 -1
  105. package/dist/hooks/provideFieldContext.d.ts +0 -40
  106. package/dist/hooks/provideFieldContext.d.ts.map +0 -1
  107. package/dist/hooks/provideFormConfigContext.d.ts +0 -71
  108. package/dist/hooks/provideFormConfigContext.d.ts.map +0 -1
  109. package/dist/hooks/provideFormContext.d.ts +0 -26
  110. package/dist/hooks/provideFormContext.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: 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__label-icon{display:inline-flex;align-items:center;margin-right:var(--schemx-padding-xs)}.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}
@@ -0,0 +1,153 @@
1
+ import { StyleValue } from 'vue';
2
+ import { SchemxVueBaseComponentProps } from './field';
3
+ import { SchemxVueLayout } from './layout';
4
+ import { SchemxConditionFn, Values } from '@schemx/core';
5
+ declare module "@schemx/core" {
6
+ /**
7
+ * Vue Field 的展示与事件扩展。
8
+ */
9
+ interface SchemxFieldDefinition<TValues extends Values = Values> {
10
+ /**
11
+ * 追加到 Field 外层容器元素上的自定义 CSS 类名。
12
+ */
13
+ class?: string;
14
+ /**
15
+ * 应用到 Field 外层容器元素上的自定义内联样式。
16
+ */
17
+ style?: StyleValue;
18
+ /**
19
+ * Vue Field 使用的布局元数据。
20
+ */
21
+ layout?: SchemxVueLayout;
22
+ /**
23
+ * 是否显示必填视觉标记。
24
+ */
25
+ showRequiredMark?: boolean;
26
+ /**
27
+ * 标签图标标识;兼容阶段保持字符串类型。
28
+ */
29
+ labelIcon?: string;
30
+ /**
31
+ * 标签对齐方式。
32
+ */
33
+ labelAlign?: "left" | "center" | "right";
34
+ /**
35
+ * 标签位置。
36
+ */
37
+ labelPosition?: "left" | "top" | "right";
38
+ /**
39
+ * 标签宽度。
40
+ */
41
+ labelWidth?: string;
42
+ /**
43
+ * 内容区域对齐方式。
44
+ */
45
+ contentAlign?: "left" | "center" | "right";
46
+ /**
47
+ * 是否在标签后显示冒号。
48
+ */
49
+ colon?: boolean;
50
+ }
51
+ /**
52
+ * Vue Group 的展示与折叠扩展。
53
+ */
54
+ interface SchemxGroupFieldDefinition {
55
+ /**
56
+ * 追加到 Group 外层容器元素上的自定义 CSS 类名。
57
+ */
58
+ class?: string;
59
+ /**
60
+ * 应用到 Group 外层容器元素上的自定义内联样式。
61
+ */
62
+ style?: StyleValue;
63
+ /**
64
+ * Group 标题。
65
+ */
66
+ label?: string;
67
+ /**
68
+ * Group 使用的布局元数据。
69
+ */
70
+ layout?: SchemxVueLayout;
71
+ /**
72
+ * 是否允许折叠。
73
+ */
74
+ collapsible?: boolean;
75
+ /**
76
+ * 非受控模式下的初始折叠状态。
77
+ */
78
+ defaultCollapsed?: boolean;
79
+ /**
80
+ * 受控折叠状态。
81
+ */
82
+ collapsed?: boolean;
83
+ /**
84
+ * 折叠状态变化回调。
85
+ */
86
+ onCollapsedChange?: (collapsed: boolean) => void;
87
+ /**
88
+ * 折叠时是否卸载后代 Renderer。
89
+ */
90
+ destroyOnCollapse?: boolean;
91
+ }
92
+ /**
93
+ * Vue Dynamic 的展示扩展。
94
+ */
95
+ interface SchemxDynamicDefinition {
96
+ /**
97
+ * Dynamic 展示名称。
98
+ */
99
+ label?: string;
100
+ /**
101
+ * Dynamic 使用的布局元数据。
102
+ */
103
+ layout?: SchemxVueLayout;
104
+ }
105
+ /**
106
+ * Vue Field 依赖配置的动态展示扩展。
107
+ */
108
+ interface SchemxFieldDependenciesDefinition<TValues extends Values = Values> {
109
+ /**
110
+ * 动态必填视觉标记。
111
+ */
112
+ showRequiredMark?: SchemxConditionFn<TValues, boolean>;
113
+ }
114
+ /**
115
+ * Vue 表单级字段展示默认值扩展。
116
+ */
117
+ interface SchemxSchemaConfigDefinition {
118
+ /**
119
+ * 表单级标签图标默认值。
120
+ */
121
+ labelIcon?: string;
122
+ /**
123
+ * 表单级标签对齐默认值。
124
+ */
125
+ labelAlign?: "left" | "center" | "right";
126
+ /**
127
+ * 表单级标签位置默认值。
128
+ */
129
+ labelPosition?: "left" | "top" | "right";
130
+ /**
131
+ * 表单级标签宽度默认值。
132
+ */
133
+ labelWidth?: string;
134
+ /**
135
+ * 表单级内容对齐默认值。
136
+ */
137
+ contentAlign?: "left" | "center" | "right";
138
+ /**
139
+ * 表单级冒号默认值。
140
+ */
141
+ colon?: boolean;
142
+ /**
143
+ * 表单级必填标记默认值。
144
+ */
145
+ showRequiredMark?: boolean;
146
+ }
147
+ /**
148
+ * Vue Renderer 的公共 Props 扩展。
149
+ */
150
+ interface SchemxComponentPropsDefinition<TValues extends Values = Values> extends SchemxVueBaseComponentProps<TValues> {
151
+ }
152
+ }
153
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/types/definition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,QAAQ,cAAc,CAAC;IAC5B;;OAEG;IAEH,UAAU,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;QAC7D;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,UAAU,CAAA;QAElB;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;QAExB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAE1B;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAE1C;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB;IAED;;OAEG;IACH,UAAU,0BAA0B;QAClC;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,UAAU,CAAA;QAElB;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;QAExB;;WAEG;QACH,WAAW,CAAC,EAAE,OAAO,CAAA;QAErB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAE1B;;WAEG;QACH,SAAS,CAAC,EAAE,OAAO,CAAA;QAEnB;;WAEG;QACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;QAEhD;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B;IAED;;OAEG;IACH,UAAU,uBAAuB;QAC/B;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;KACzB;IAED;;OAEG;IACH,UAAU,iCAAiC,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;QACzE;;WAEG;QACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KACvD;IAED;;OAEG;IACH,UAAU,4BAA4B;QACpC;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAE1C;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;QAEf;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B;IAED;;OAEG;IACH,UAAU,8BAA8B,CACtC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,2BAA2B,CAAC,OAAO,CAAC;KAAG;CAClD"}
@@ -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,37 @@
1
1
  import { ComputedRef, Ref, VNodeChild } from 'vue';
2
- import { FieldValue, NamePath, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
2
+ import { SchemxCoreBaseComponentProps as CoreSchemxBaseComponentProps, FieldValue, NamePath, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
3
+ /**
4
+ * Vue Renderer 的公共 Props。
5
+ *
6
+ * 该类型属于 Vue 适配层;Core 仅通过 `SchemxComponentPropsDefinition`
7
+ * 接收它的声明合并结果。
8
+ *
9
+ * @typeParam TValues - 表单值类型。
10
+ * @typeParam TName - 当前字段路径类型。
11
+ * @typeParam TValue - 当前字段值类型。
12
+ */
13
+ export interface SchemxVueBaseComponentProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>, TValue = FieldValue<TValues, TName>> extends CoreSchemxBaseComponentProps<TValues> {
14
+ /**
15
+ * Vue Renderer 内容区域对齐方式。
16
+ */
17
+ align?: "left" | "center" | "right";
18
+ /**
19
+ * Vue v-model 更新事件。
20
+ */
21
+ "onUpdate:value"?: (value: TValue) => void;
22
+ /**
23
+ * 当前字段值。
24
+ */
25
+ value?: TValue;
26
+ /**
27
+ * Renderer 值变化处理。
28
+ */
29
+ onChange?: (value: TValue) => void;
30
+ /**
31
+ * Renderer 失焦处理。
32
+ */
33
+ onBlur?: (value: TValue) => void;
34
+ }
3
35
  /**
4
36
  * Vue 层字段控制器实例
5
37
  *
@@ -31,40 +63,103 @@ export interface FieldInstance<TValues extends Values = Values> extends SchemxFi
31
63
  */
32
64
  pending: ComputedRef<boolean>;
33
65
  }
34
- /** 字段区域 Slot 共用的上下文参数。 */
35
- export interface SchemxFieldSlotProps<TValues extends Values = Values> {
36
- /** 当前字段完整的已解析 ViewSchema。 */
37
- schema: SchemxViewFieldSchema<TValues>;
38
- /** 当前 Renderer 的完整运行时 Props。 */
66
+ /**
67
+ * 字段区域 Slot 共用的上下文参数。
68
+ */
69
+ export interface SchemxFieldSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> {
70
+ /**
71
+ * 当前字段完整的已解析 ViewSchema。
72
+ */
73
+ schema: SchemxViewFieldSchema<TValues> & {
74
+ readonly name: TName;
75
+ };
76
+ /**
77
+ * 当前 Renderer 的完整运行时 Props。
78
+ */
39
79
  componentProps: SchemxComponentProps<TValues>;
40
- /** 当前字段值。 */
41
- value: FieldValue<TValues, NamePath<TValues>> | undefined;
42
- /** 当前字段控制器。 */
80
+ /**
81
+ * 当前字段值。
82
+ */
83
+ value: FieldValue<TValues, TName> | undefined;
84
+ /**
85
+ * 当前字段控制器。
86
+ */
43
87
  field: FieldInstance<TValues>;
44
- /** 当前表单实例。 */
88
+ /**
89
+ * 当前表单实例。
90
+ */
45
91
  form: SchemxInstance<TValues>;
46
92
  }
47
- /** 字段内容 Slot 额外获得的默认 Renderer VNode。 */
48
- export interface SchemxFieldContentSlotProps<TValues extends Values = Values> extends SchemxFieldSlotProps<TValues> {
93
+ /**
94
+ * 字段内容 Slot 额外获得的默认 Renderer VNode。
95
+ */
96
+ export interface SchemxFieldContentSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> extends SchemxFieldSlotProps<TValues, TName> {
97
+ /**
98
+ * 默认 Renderer 生成的 VNode,可用于包裹或替换控件内容。
99
+ */
49
100
  columnElement: VNodeChild;
50
101
  }
51
- /** 字段错误 Slot 额外获得的当前错误列表。 */
52
- export interface SchemxFieldErrorSlotProps<TValues extends Values = Values> extends SchemxFieldSlotProps<TValues> {
102
+ /**
103
+ * 字段错误 Slot 额外获得的当前错误列表。
104
+ */
105
+ export interface SchemxFieldErrorSlotProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>> extends SchemxFieldSlotProps<TValues, TName> {
106
+ /** 当前字段的全部错误信息。 */
53
107
  errors: readonly string[];
54
108
  }
55
- /** 分组区域 Slot 共用的上下文参数。 */
109
+ /**
110
+ * Field 单个动态插槽可接收的参数。
111
+ *
112
+ * 字段整体、Label、Before、After 使用基础参数;Content 和 Error 分别增加
113
+ * `columnElement` 与 `errors`。
114
+ */
115
+ export type SchemxFieldSlotValue<TValues extends Values = Values> = SchemxFieldSlotProps<TValues> | SchemxFieldContentSlotProps<TValues> | SchemxFieldErrorSlotProps<TValues>;
116
+ /**
117
+ * Field 的 SlotsType 参数映射。
118
+ *
119
+ * Key 是运行时 Schema 生成的 `{name}`、`{name}Label`、`{name}Before`、
120
+ * `{name}Content`、`{name}After` 或 `{name}Error`。Value 是 Vue 传给对应插槽的
121
+ * Props 对象,不是插槽函数。`{name}:{slotName}` 子 Renderer 插槽由具体
122
+ * Renderer 定义,调用方可在自己的组件类型中进一步收窄。
123
+ */
124
+ export interface SchemxFieldSlots<TValues extends Values = Values> {
125
+ [slotName: string]: SchemxFieldSlotValue<TValues>;
126
+ }
127
+ /**
128
+ * 分组区域 Slot 共用的上下文参数。
129
+ */
56
130
  export interface SchemxGroupSlotProps<TValues extends Values = Values> {
57
- /** 当前分组完整的已解析 ViewSchema。 */
131
+ /**
132
+ * 当前分组完整的已解析 ViewSchema。
133
+ */
58
134
  schema: SchemxViewGroupSchema<TValues>;
59
- /** 当前是否收起。 */
135
+ /**
136
+ * 当前是否收起。
137
+ */
60
138
  collapsed: boolean;
61
- /** 当前分组是否可收起。 */
139
+ /**
140
+ * 当前分组是否可收起。
141
+ */
62
142
  collapsible: boolean;
63
- /** 当前分组是否禁用。 */
143
+ /**
144
+ * 当前分组是否禁用。
145
+ */
64
146
  disabled: boolean;
65
- /** 当前分组是否只读。 */
147
+ /**
148
+ * 当前分组是否只读。
149
+ */
66
150
  readonly: boolean;
67
- /** 切换分组收起状态。禁用或不可折叠时无效果。 */
151
+ /**
152
+ * 切换分组收起状态。禁用或不可折叠时无效果。
153
+ */
68
154
  toggle: () => void;
69
155
  }
156
+ /**
157
+ * Group 的 SlotsType 参数映射。
158
+ *
159
+ * Group 的 Header、Label 和 Content 插槽名称均由运行时 schema key 生成,
160
+ * 三类插槽共享同一个 Props 契约。
161
+ */
162
+ export interface SchemxGroupSlots<TValues extends Values = Values> {
163
+ [slotName: string]: SchemxGroupSlotProps<TValues>;
164
+ }
70
165
  //# 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":"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"}
@@ -10,17 +10,53 @@ import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerfo
10
10
  * 让运行时 Props 推导可静态解析,同时避免把这些配置误判为 fallthrough attrs。
11
11
  */
12
12
  interface SchemxFormSchemaConfigProps<TValues extends Values = Values> {
13
+ /**
14
+ * 表单级必填校验配置;字段未覆盖时作为字段默认值。
15
+ */
13
16
  required?: RequiredConfig<DefinedFieldValue<TValues, NamePath<TValues>>>;
17
+ /**
18
+ * 是否将字段渲染为只读状态。
19
+ */
14
20
  readonly?: boolean;
21
+ /**
22
+ * 是否禁用字段交互。
23
+ */
15
24
  disabled?: boolean;
25
+ /**
26
+ * 是否渲染字段。
27
+ */
16
28
  visible?: boolean;
29
+ /**
30
+ * 字段标签图标标识。
31
+ */
17
32
  labelIcon?: string;
33
+ /**
34
+ * 字段标签的水平对齐方式。
35
+ */
18
36
  labelAlign?: "left" | "center" | "right";
37
+ /**
38
+ * 字段标签位于控件左侧、顶部或右侧。
39
+ */
19
40
  labelPosition?: "left" | "top" | "right";
41
+ /**
42
+ * 字段标签宽度。
43
+ */
20
44
  labelWidth?: string;
45
+ /**
46
+ * 字段内容区域的水平对齐方式。
47
+ */
21
48
  contentAlign?: "left" | "center" | "right";
49
+ /**
50
+ * 字段校验触发时机。
51
+ */
22
52
  validationTrigger?: ValidationTrigger | ValidationTrigger[];
53
+ /**
54
+ * 是否在字段标签后显示冒号。
55
+ */
23
56
  colon?: boolean;
57
+ /**
58
+ * 是否显示必填视觉标记;不改变实际校验规则。
59
+ */
24
60
  showRequiredMark?: boolean;
25
61
  }
26
62
  /**
@@ -40,10 +76,15 @@ export interface SchemxFormActionConfig {
40
76
  }
41
77
  /**
42
78
  * 内置表单操作按钮的启用配置。
79
+ *
80
+ * `true` 使用默认按钮配置,`false` 隐藏按钮,对象形式用于覆盖按钮文案和属性。
43
81
  */
44
82
  export type SchemxFormAction = boolean | SchemxFormActionConfig;
45
83
  /**
46
- * schemx 组件 Props
84
+ * schemx 表单组件 Props
85
+ *
86
+ * `schemaConfig` 的字段以扁平 Props 形式暴露;Core 的回调、生命周期、性能和
87
+ * Renderer 配置则通过继承的类型继续提供。
47
88
  *
48
89
  * @typeParam TValues - 表单值类型
49
90
  */
@@ -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":"AAAA;;;;GAIG;AAEH,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;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAExE;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IAExC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAE1C;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;IAE3D;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,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;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,sBAAsB,CAAA;AAE/D;;;;;;;GAOG;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,18 +1,3 @@
1
- import { StyleValue } from 'vue';
2
- declare module "@schemx/core" {
3
- interface SchemxFieldDefinition {
4
- /** 追加到 Field 外层容器元素上的自定义 CSS 类名。 */
5
- class?: string;
6
- /** 应用到 Field 外层容器元素上的自定义内联样式。 */
7
- style?: StyleValue;
8
- }
9
- interface SchemxGroupFieldDefinition {
10
- /** 追加到 Group 外层容器元素上的自定义 CSS 类名。 */
11
- class?: string;
12
- /** 应用到 Group 外层容器元素上的自定义内联样式。 */
13
- style?: StyleValue;
14
- }
15
- }
16
1
  export * from './dictionary';
17
2
  export * from './form';
18
3
  export * from './field';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,qBAAqB;QAC7B,oCAAoC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd,iCAAiC;QACjC,KAAK,CAAC,EAAE,UAAU,CAAA;KACnB;IAED,UAAU,0BAA0B;QAClC,oCAAoC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd,iCAAiC;QACjC,KAAK,CAAC,EAAE,UAAU,CAAA;KACnB;CACF;AAED,cAAc,cAAc,CAAA;AAE5B,cAAc,QAAQ,CAAA;AAEtB,cAAc,SAAS,CAAA;AAEvB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,cAAc,CAAA;AAErB,cAAc,cAAc,CAAA;AAE5B,cAAc,QAAQ,CAAA;AAEtB,cAAc,SAAS,CAAA;AAEvB,cAAc,UAAU,CAAA"}
@@ -1,6 +1,25 @@
1
1
  import { Component } from 'vue';
2
- import { SchemxConfig, SchemxLayout, Values } from '@schemx/core';
3
- /** UI 组件库 Col 组件的 Vue 组件类型。 */
2
+ import { SchemxConfig, Values } from '@schemx/core';
3
+ /**
4
+ * Vue 适配层使用的静态 24 栅格布局元数据。
5
+ */
6
+ export interface SchemxVueLayout {
7
+ /**
8
+ * 节点占据的栅格列数。
9
+ */
10
+ span?: number;
11
+ /**
12
+ * 节点左侧偏移的栅格列数。
13
+ */
14
+ offset?: number;
15
+ /**
16
+ * 节点是否独占当前布局行。
17
+ */
18
+ block?: boolean;
19
+ }
20
+ /**
21
+ * UI 组件库 Col 组件的 Vue 组件类型。
22
+ */
4
23
  export type SchemxColComponent = Component;
5
24
  /**
6
25
  * Col 包装组件属性。
@@ -9,9 +28,13 @@ export type SchemxColComponent = Component;
9
28
  * 提供 `layout`,组件会从显式组件属性或全局注册表解析实现。
10
29
  */
11
30
  export interface SchemxColProps {
12
- /** 当前 Schema 的静态布局元数据。 */
13
- layout?: SchemxLayout;
14
- /** 当前 Form 解析出的 Col 实现。 */
31
+ /**
32
+ * 当前 Schema 的静态布局元数据。
33
+ */
34
+ layout?: SchemxVueLayout;
35
+ /**
36
+ * 当前 Form 解析出的 Col 实现。
37
+ */
15
38
  component?: SchemxColComponent;
16
39
  }
17
40
  /**
@@ -20,7 +43,9 @@ export interface SchemxColProps {
20
43
  * Core 配置保持框架无关;`colComponent` 仅供 Vue 渲染层解析布局组件。
21
44
  */
22
45
  export interface SchemxVueConfig<TValues extends Values = Values> extends SchemxConfig<TValues> {
23
- /** 当前 App、Provider 或 Form 使用的 Col 实现。 */
46
+ /**
47
+ * 当前 App、Provider 或 Form 使用的 Col 实现。
48
+ */
24
49
  readonly colComponent?: SchemxColComponent;
25
50
  }
26
51
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAEtE,+BAA+B;AAC/B,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAC3C"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAC3C"}
@@ -1,5 +1,7 @@
1
1
  import { SchemxColComponent } from '../types/layout';
2
- /** 当前全局注册的 Col 组件。 */
2
+ /**
3
+ * 当前全局注册的 Col 组件。
4
+ */
3
5
  export declare const registeredColComponent: import('vue').ShallowRef<SchemxColComponent | undefined, SchemxColComponent | undefined>;
4
6
  /**
5
7
  * 注册全局 Col 组件。
@@ -1 +1 @@
1
- {"version":3,"file":"colProvider.d.ts","sourceRoot":"","sources":["../../src/utils/colProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,sBAAsB;AACtB,eAAO,MAAM,sBAAsB,0FAAmC,CAAA;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAE/D"}
1
+ {"version":3,"file":"colProvider.d.ts","sourceRoot":"","sources":["../../src/utils/colProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD;;GAEG;AACH,eAAO,MAAM,sBAAsB,0FAAmC,CAAA;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAE/D"}
@@ -1,14 +1,11 @@
1
1
  /**
2
2
  * 对象浅层 diff 工具
3
3
  *
4
- * 提供三个函数:
5
- * - {@link diff} — 对比两个对象,返回变化的 key、新值和旧值
6
- * - {@link diffValues} — 对比两个对象,仅返回变化的属性新值
7
- * - {@link diffPaths} — 对比两个对象,返回变化的属性路径列表
4
+ * 对比两个对象并返回变化属性的新值。
8
5
  *
9
6
  * 使用 `isEqual`(来自 es-toolkit)进行深度比较。
10
7
  *
11
- * @module core/utils/diff
8
+ * @module utils/diff
12
9
  */
13
10
  /**
14
11
  * 对比两个对象的顶层属性,仅返回变化的属性新值。
@@ -25,7 +22,7 @@
25
22
  *
26
23
  * @example
27
24
  * ```typescript
28
- * const changed = diffValues({ a: 1, b: 2 }, { a: 1, b: 3 })
25
+ * const changed = diff({ a: 1, b: 2 }, { a: 1, b: 3 })
29
26
  * // changed => { b: 2 }
30
27
  * ```
31
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAUlB"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -5,9 +5,13 @@ import { Dynamic, Values } from '@schemx/core';
5
5
  * @typeParam TValue - 属性值类型
6
6
  */
7
7
  export interface DependencieEntry<TValue> {
8
- /** 动态属性值(函数、静态值、null 或 undefined) */
8
+ /**
9
+ * 动态属性值(函数、静态值、null 或 undefined)
10
+ */
9
11
  value: Dynamic<TValue> | undefined | null;
10
- /** 默认值,当 value 为空或函数返回 nullish 时使用 */
12
+ /**
13
+ * 默认值,当 value 为空或函数返回 nullish 时使用
14
+ */
11
15
  defaultValue: TValue;
12
16
  }
13
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/utils/dynamic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,KAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC/D,IAAI,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,IAAI,SAAK,GACR,CACD,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAChC,IAAI,CAmCR"}
1
+ {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/utils/dynamic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,KAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC/D,IAAI,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,IAAI,SAAK,GACR,CACD,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAChC,IAAI,CAmCR"}