50203caf1de87dab885e854dca1bbe8f03fba7b8118eb379852ef30bb60604d06047264c35a3124db6addf9e70e7f86ab8e31bf236793342e5a6169291c5c2 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
  2. import { componentSizes } from '../../../constants/size.mjs';
  3. import { isArray, isString } from '@vue/shared';
  4. import { isBoolean } from '../../../utils/types.mjs';
  5. const formMetaProps = buildProps({
  6. size: {
  7. type: String,
  8. values: componentSizes
  9. },
  10. disabled: Boolean
  11. });
  12. const formProps = buildProps({
  13. ...formMetaProps,
  14. model: Object,
  15. rules: {
  16. type: definePropType(Object)
  17. },
  18. labelPosition: {
  19. type: String,
  20. values: ["left", "right", "top"],
  21. default: "right"
  22. },
  23. requireAsteriskPosition: {
  24. type: String,
  25. values: ["left", "right"],
  26. default: "left"
  27. },
  28. labelWidth: {
  29. type: [String, Number],
  30. default: ""
  31. },
  32. labelSuffix: {
  33. type: String,
  34. default: ""
  35. },
  36. inline: Boolean,
  37. inlineMessage: Boolean,
  38. statusIcon: Boolean,
  39. showMessage: {
  40. type: Boolean,
  41. default: true
  42. },
  43. validateOnRuleChange: {
  44. type: Boolean,
  45. default: true
  46. },
  47. hideRequiredAsterisk: Boolean,
  48. scrollToError: Boolean,
  49. scrollIntoViewOptions: {
  50. type: definePropType([Object, Boolean]),
  51. default: true
  52. }
  53. });
  54. const formEmits = {
  55. validate: (prop, isValid, message) => (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)
  56. };
  57. export { formEmits, formMetaProps, formProps };
  58. //# sourceMappingURL=form.mjs.map