@strapi/content-type-builder 5.51.0 → 5.51.2

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 (105) hide show
  1. package/dist/admin/components/AIChat/Chat.js +1 -1
  2. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  3. package/dist/admin/components/AIChat/Chat.mjs +1 -1
  4. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  5. package/dist/admin/components/AIChat/FeedbackModal.js +1 -1
  6. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  7. package/dist/admin/components/AIChat/FeedbackModal.mjs +1 -1
  8. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  9. package/dist/admin/components/AIChat/UploadFigmaModal.js +1 -1
  10. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  11. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  12. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/components/Base64Image.js +1 -1
  14. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  15. package/dist/admin/components/AIChat/components/Base64Image.mjs +1 -1
  16. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/hooks/useAIFetch.js +1 -1
  18. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  19. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs +1 -1
  20. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  21. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +2 -2
  22. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  23. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +2 -2
  24. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  25. package/dist/admin/components/CTBSession/useCTBTracking.js +1 -1
  26. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  27. package/dist/admin/components/CTBSession/useCTBTracking.mjs +1 -1
  28. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  29. package/dist/admin/components/DataManager/useServerRestartWatcher.js +1 -1
  30. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  31. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +1 -1
  32. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  33. package/dist/admin/components/FormModal/attributes/ConditionForm.js +1 -1
  34. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  35. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +1 -1
  36. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  37. package/dist/admin/components/FormModal/attributes/advancedForm.js +1 -0
  38. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  39. package/dist/admin/components/FormModal/attributes/advancedForm.mjs +1 -0
  40. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  41. package/dist/admin/components/FormModal/attributes/types.js +6 -1
  42. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  43. package/dist/admin/components/FormModal/attributes/types.mjs +6 -1
  44. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  45. package/dist/admin/components/FormModal/attributes/validation/common.js +6 -4
  46. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  47. package/dist/admin/components/FormModal/attributes/validation/common.mjs +6 -4
  48. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  49. package/dist/admin/components/FormModal/forms/forms.js +1 -1
  50. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  51. package/dist/admin/components/FormModal/forms/forms.mjs +1 -1
  52. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  53. package/dist/admin/components/PluralName.js +1 -1
  54. package/dist/admin/components/PluralName.js.map +1 -1
  55. package/dist/admin/components/PluralName.mjs +1 -1
  56. package/dist/admin/components/PluralName.mjs.map +1 -1
  57. package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +1 -1
  58. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +8 -0
  59. package/dist/admin/src/components/FormModal/attributes/types.d.ts +2 -0
  60. package/dist/admin/src/types.d.ts +1 -0
  61. package/dist/admin/translations/en.json.js +1 -0
  62. package/dist/admin/translations/en.json.js.map +1 -1
  63. package/dist/admin/translations/en.json.mjs +1 -0
  64. package/dist/admin/translations/en.json.mjs.map +1 -1
  65. package/dist/server/controllers/validation/common.js +1 -1
  66. package/dist/server/controllers/validation/common.js.map +1 -1
  67. package/dist/server/controllers/validation/common.mjs +1 -1
  68. package/dist/server/controllers/validation/common.mjs.map +1 -1
  69. package/dist/server/controllers/validation/relations.js +1 -0
  70. package/dist/server/controllers/validation/relations.js.map +1 -1
  71. package/dist/server/controllers/validation/relations.mjs +1 -0
  72. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  73. package/dist/server/controllers/validation/schema.js +2 -1
  74. package/dist/server/controllers/validation/schema.js.map +1 -1
  75. package/dist/server/controllers/validation/schema.mjs +2 -1
  76. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  77. package/dist/server/services/content-types.js +1 -1
  78. package/dist/server/services/content-types.js.map +1 -1
  79. package/dist/server/services/content-types.mjs +1 -1
  80. package/dist/server/services/content-types.mjs.map +1 -1
  81. package/dist/server/services/schema-builder/content-type-builder.js +3 -2
  82. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  83. package/dist/server/services/schema-builder/content-type-builder.mjs +3 -2
  84. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  85. package/dist/server/services/schema.js +1 -5
  86. package/dist/server/services/schema.js.map +1 -1
  87. package/dist/server/services/schema.mjs +2 -2
  88. package/dist/server/services/schema.mjs.map +1 -1
  89. package/dist/server/src/controllers/validation/relations.d.ts +2 -0
  90. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
  91. package/dist/server/src/controllers/validation/schema.d.ts +3234 -0
  92. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
  93. package/dist/server/src/services/schema-builder/types.d.ts +1 -0
  94. package/dist/server/src/services/schema-builder/types.d.ts.map +1 -1
  95. package/dist/server/src/utils/attributes.d.ts +10 -10
  96. package/dist/server/src/utils/attributes.d.ts.map +1 -1
  97. package/dist/server/utils/attributes.js +2 -2
  98. package/dist/server/utils/attributes.js.map +1 -1
  99. package/dist/server/utils/attributes.mjs +3 -2
  100. package/dist/server/utils/attributes.mjs.map +1 -1
  101. package/package.json +7 -7
  102. package/dist/server/src/controllers/ai/auth.d.ts +0 -1
  103. package/dist/server/src/controllers/ai/auth.d.ts.map +0 -1
  104. package/dist/server/src/controllers/ai/index.d.ts +0 -1
  105. package/dist/server/src/controllers/ai/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"advancedForm.js","sources":["../../../../../admin/src/components/FormModal/attributes/advancedForm.ts"],"sourcesContent":["import { getTrad } from '../../../utils/getTrad';\nimport { componentForm } from '../component/componentForm';\n\nimport { attributeOptions } from './attributeOptions';\n\ntype DataType = 'biginteger' | 'string' | 'integer' | 'float' | 'decimal';\n\nconst conditionSection = {\n sectionTitle: {\n id: getTrad('form.attribute.condition.title'),\n defaultMessage: 'Condition',\n },\n intlLabel: {\n id: getTrad('form.attribute.condition.description'),\n defaultMessage:\n 'Toggle field settings depending on the value of another boolean or enumeration field.',\n },\n items: [\n {\n name: 'conditions',\n type: 'condition-form',\n intlLabel: {\n id: getTrad('form.attribute.condition.label'),\n defaultMessage: 'Conditions',\n },\n validations: {\n required: true,\n },\n },\n ],\n};\n\nexport const advancedForm = {\n blocks() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n boolean() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n type: 'select-default-boolean',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n name: 'default',\n options: [\n {\n value: 'true',\n key: 'true',\n metadatas: { intlLabel: { id: 'true', defaultMessage: 'true' } },\n },\n {\n value: '',\n key: 'null',\n metadatas: { intlLabel: { id: 'null', defaultMessage: 'null' } },\n },\n {\n value: 'false',\n key: 'false',\n metadatas: { intlLabel: { id: 'false', defaultMessage: 'false' } },\n },\n ],\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n component({ repeatable }: { repeatable: boolean }, step: string) {\n if (step === '1') {\n return { sections: componentForm.advanced() };\n }\n\n if (repeatable) {\n const minComponentsAttribute = {\n ...attributeOptions.min,\n intlLabel: {\n id: getTrad('form.attribute.item.minimumComponents'),\n defaultMessage: 'Minimum components',\n },\n };\n const maxComponentsAttribute = {\n ...attributeOptions.max,\n intlLabel: {\n id: getTrad('form.attribute.item.maximumComponents'),\n defaultMessage: 'Maximum components',\n },\n };\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.private,\n minComponentsAttribute,\n maxComponentsAttribute,\n ],\n },\n conditionSection,\n ],\n };\n }\n\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n date({ type }: { type: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: type || 'date',\n value: null,\n withDefaultValue: false,\n disabled: !type,\n autoFocus: false,\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.unique, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n dynamiczone() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.max, attributeOptions.min],\n },\n conditionSection,\n ],\n };\n },\n email() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: 'email',\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n enumeration(data: { enum: Array<string> }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n name: 'default',\n type: 'select',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n options: [\n {\n key: '__null_reset_value__',\n value: '',\n metadatas: {\n intlLabel: {\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n },\n },\n },\n ...(data.enum || [])\n .filter((value, index) => data.enum.indexOf(value) === index && value)\n .map((value) => {\n return {\n key: value,\n value,\n metadatas: {\n intlLabel: { id: `${value}.no-override`, defaultMessage: value },\n },\n };\n }),\n ],\n },\n {\n intlLabel: {\n id: getTrad('form.attribute.item.enumeration.graphql'),\n defaultMessage: 'Name override for GraphQL',\n },\n name: 'enumName',\n type: 'text',\n validations: {},\n description: {\n id: getTrad('form.attribute.item.enumeration.graphql.description'),\n defaultMessage: 'Allows you to override the default generated name for GraphQL',\n },\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n json() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n media() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n intlLabel: {\n id: getTrad('form.attribute.media.allowed-types'),\n defaultMessage: 'Select allowed types of media',\n },\n name: 'allowedTypes',\n type: 'allowed-types-select',\n size: 7,\n value: '',\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n number(data: { type: DataType }) {\n const inputStep = data.type === 'decimal' || data.type === 'float' ? 'any' : 1;\n\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n name: 'default',\n type: data.type === 'biginteger' ? 'text' : 'number',\n step: inputStep,\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.max,\n attributeOptions.min,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n password() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n relation() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n richtext() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n text() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default, attributeOptions.regex] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n uid(data: { targetField: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n { ...attributeOptions.default, disabled: Boolean(data.targetField), type: 'text' },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n attributeOptions.regex,\n ],\n },\n conditionSection,\n ],\n };\n },\n};\n"],"names":["conditionSection","sectionTitle","id","getTrad","defaultMessage","intlLabel","items","name","type","validations","required","advancedForm","blocks","sections","attributeOptions","private","boolean","autoFocus","options","value","key","metadatas","component","repeatable","step","componentForm","advanced","minComponentsAttribute","min","maxComponentsAttribute","max","date","default","withDefaultValue","disabled","unique","dynamiczone","email","maxLength","minLength","enumeration","data","enum","filter","index","indexOf","map","description","json","media","size","number","inputStep","password","relation","richtext","text","regex","uid","Boolean","targetField"],"mappings":"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"}
1
+ {"version":3,"file":"advancedForm.js","sources":["../../../../../admin/src/components/FormModal/attributes/advancedForm.ts"],"sourcesContent":["import { getTrad } from '../../../utils/getTrad';\nimport { componentForm } from '../component/componentForm';\n\nimport { attributeOptions } from './attributeOptions';\n\ntype DataType = 'biginteger' | 'string' | 'integer' | 'float' | 'decimal';\n\nconst conditionSection = {\n sectionTitle: {\n id: getTrad('form.attribute.condition.title'),\n defaultMessage: 'Condition',\n },\n intlLabel: {\n id: getTrad('form.attribute.condition.description'),\n defaultMessage:\n 'Toggle field settings depending on the value of another boolean or enumeration field.',\n },\n items: [\n {\n name: 'conditions',\n type: 'condition-form',\n intlLabel: {\n id: getTrad('form.attribute.condition.label'),\n defaultMessage: 'Conditions',\n },\n validations: {\n required: true,\n },\n },\n ],\n};\n\nexport const advancedForm = {\n blocks() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n boolean() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n type: 'select-default-boolean',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n name: 'default',\n options: [\n {\n value: 'true',\n key: 'true',\n metadatas: { intlLabel: { id: 'true', defaultMessage: 'true' } },\n },\n {\n value: '',\n key: 'null',\n metadatas: { intlLabel: { id: 'null', defaultMessage: 'null' } },\n },\n {\n value: 'false',\n key: 'false',\n metadatas: { intlLabel: { id: 'false', defaultMessage: 'false' } },\n },\n ],\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n component({ repeatable }: { repeatable: boolean }, step: string) {\n if (step === '1') {\n return { sections: componentForm.advanced() };\n }\n\n if (repeatable) {\n const minComponentsAttribute = {\n ...attributeOptions.min,\n intlLabel: {\n id: getTrad('form.attribute.item.minimumComponents'),\n defaultMessage: 'Minimum components',\n },\n };\n const maxComponentsAttribute = {\n ...attributeOptions.max,\n intlLabel: {\n id: getTrad('form.attribute.item.maximumComponents'),\n defaultMessage: 'Maximum components',\n },\n };\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.private,\n minComponentsAttribute,\n maxComponentsAttribute,\n ],\n },\n conditionSection,\n ],\n };\n }\n\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n date({ type }: { type: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: type || 'date',\n value: null,\n withDefaultValue: false,\n disabled: !type,\n autoFocus: false,\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.unique, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n dynamiczone() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.max, attributeOptions.min],\n },\n conditionSection,\n ],\n };\n },\n email() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: 'email',\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n enumeration(data: { enum: Array<string> }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n name: 'default',\n type: 'select',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n options: [\n {\n key: '__null_reset_value__',\n value: '',\n metadatas: {\n intlLabel: {\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n },\n },\n },\n ...(data.enum || [])\n .filter((value, index) => data.enum.indexOf(value) === index && value)\n .map((value) => {\n return {\n key: value,\n value,\n metadatas: {\n intlLabel: { id: `${value}.no-override`, defaultMessage: value },\n },\n };\n }),\n ],\n },\n {\n intlLabel: {\n id: getTrad('form.attribute.item.enumeration.graphql'),\n defaultMessage: 'Name override for GraphQL',\n },\n name: 'enumName',\n type: 'text',\n validations: {},\n description: {\n id: getTrad('form.attribute.item.enumeration.graphql.description'),\n defaultMessage: 'Allows you to override the default generated name for GraphQL',\n },\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n json() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n media() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n intlLabel: {\n id: getTrad('form.attribute.media.allowed-types'),\n defaultMessage: 'Select allowed types of media',\n },\n name: 'allowedTypes',\n type: 'allowed-types-select',\n size: 7,\n value: '',\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n number(data: { type: DataType }) {\n const inputStep = data.type === 'decimal' || data.type === 'float' ? 'any' : 1;\n\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n name: 'default',\n type: data.type === 'biginteger' ? 'text' : 'number',\n step: inputStep,\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.max,\n attributeOptions.min,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n password() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n relation() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n richtext() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n text() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default, attributeOptions.regex] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n uid(data: { targetField: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n { ...attributeOptions.default, disabled: Boolean(data.targetField), type: 'text' },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n attributeOptions.regex,\n ],\n },\n conditionSection,\n ],\n };\n },\n};\n"],"names":["conditionSection","sectionTitle","id","getTrad","defaultMessage","intlLabel","items","name","type","validations","required","advancedForm","blocks","sections","attributeOptions","private","boolean","autoFocus","options","value","key","metadatas","component","repeatable","step","componentForm","advanced","minComponentsAttribute","min","maxComponentsAttribute","max","date","default","withDefaultValue","disabled","unique","dynamiczone","email","maxLength","minLength","enumeration","data","enum","filter","index","indexOf","map","description","json","media","size","number","inputStep","password","relation","richtext","text","regex","uid","Boolean","targetField"],"mappings":";;;;;;AAOA,MAAMA,gBAAAA,GAAmB;IACvBC,YAAAA,EAAc;AACZC,QAAAA,EAAAA,EAAIC,eAAAA,CAAQ,gCAAA,CAAA;QACZC,cAAAA,EAAgB;AAClB,KAAA;IACAC,SAAAA,EAAW;AACTH,QAAAA,EAAAA,EAAIC,eAAAA,CAAQ,sCAAA,CAAA;QACZC,cAAAA,EACE;AACJ,KAAA;IACAE,KAAAA,EAAO;AACL,QAAA;YACEC,IAAAA,EAAM,YAAA;YACNC,IAAAA,EAAM,gBAAA;YACNH,SAAAA,EAAW;AACTH,gBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,gCAAA,CAAA;gBACZC,cAAAA,EAAgB;AAClB,aAAA;YACAK,WAAAA,EAAa;gBACXC,QAAAA,EAAU;AACZ;AACF;AACD;AACH,CAAA;MAEaC,YAAAA,GAAe;AAC1BC,IAAAA,MAAAA,CAAAA,GAAAA;QACE,OAAO;YACLC,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAgB,IAAAA,OAAAA,CAAAA,GAAAA;QACE,OAAO;YACLH,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;4BACEW,SAAAA,EAAW,IAAA;4BACXT,IAAAA,EAAM,wBAAA;4BACNH,SAAAA,EAAW;AACTH,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA;4BACAG,IAAAA,EAAM,SAAA;4BACNW,OAAAA,EAAS;AACP,gCAAA;oCACEC,KAAAA,EAAO,MAAA;oCACPC,GAAAA,EAAK,MAAA;oCACLC,SAAAA,EAAW;wCAAEhB,SAAAA,EAAW;4CAAEH,EAAAA,EAAI,MAAA;4CAAQE,cAAAA,EAAgB;AAAO;AAAE;AACjE,iCAAA;AACA,gCAAA;oCACEe,KAAAA,EAAO,EAAA;oCACPC,GAAAA,EAAK,MAAA;oCACLC,SAAAA,EAAW;wCAAEhB,SAAAA,EAAW;4CAAEH,EAAAA,EAAI,MAAA;4CAAQE,cAAAA,EAAgB;AAAO;AAAE;AACjE,iCAAA;AACA,gCAAA;oCACEe,KAAAA,EAAO,OAAA;oCACPC,GAAAA,EAAK,OAAA;oCACLC,SAAAA,EAAW;wCAAEhB,SAAAA,EAAW;4CAAEH,EAAAA,EAAI,OAAA;4CAASE,cAAAA,EAAgB;AAAQ;AAAE;AACnE;AACD;AACH;AACD;AACH,iBAAA;AACA,gBAAA;oBACEH,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAsB,IAAAA,SAAAA,CAAAA,CAAU,EAAEC,UAAU,EAA2B,EAAEC,IAAY,EAAA;AAC7D,QAAA,IAAIA,SAAS,GAAA,EAAK;YAChB,OAAO;AAAEX,gBAAAA,QAAAA,EAAUY,4BAAcC,QAAQ;AAAG,aAAA;AAC9C,QAAA;AAEA,QAAA,IAAIH,UAAAA,EAAY;AACd,YAAA,MAAMI,sBAAAA,GAAyB;AAC7B,gBAAA,GAAGb,kCAAiBc,GAAG;gBACvBvB,SAAAA,EAAW;AACTH,oBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,uCAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB;AACF,aAAA;AACA,YAAA,MAAMyB,sBAAAA,GAAyB;AAC7B,gBAAA,GAAGf,kCAAiBgB,GAAG;gBACvBzB,SAAAA,EAAW;AACTH,oBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,uCAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB;AACF,aAAA;YACA,OAAO;gBACLS,QAAAA,EAAU;AACR,oBAAA;wBACEZ,YAAAA,EAAc;4BACZC,EAAAA,EAAI,iBAAA;4BACJE,cAAAA,EAAgB;AAClB,yBAAA;wBACAE,KAAAA,EAAO;AACLQ,4BAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,4BAAAA,iCAAAA,CAAiBC,OAAO;AACxBY,4BAAAA,sBAAAA;AACAE,4BAAAA;AACD;AACH,qBAAA;AACA7B,oBAAAA;AACD;AACH,aAAA;AACF,QAAA;QAEA,OAAO;YACLa,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;IACA+B,IAAAA,CAAAA,CAAK,EAAEvB,IAAI,EAAoB,EAAA;QAC7B,OAAO;YACLK,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;AACE,4BAAA,GAAGQ,kCAAiBkB,OAAO;AAC3BxB,4BAAAA,IAAAA,EAAMA,IAAAA,IAAQ,MAAA;4BACdW,KAAAA,EAAO,IAAA;4BACPc,gBAAAA,EAAkB,KAAA;AAClBC,4BAAAA,QAAAA,EAAU,CAAC1B,IAAAA;4BACXS,SAAAA,EAAW;AACb;AACD;AACH,iBAAA;AACA,gBAAA;oBACEhB,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBqB,MAAM;AAAErB,wBAAAA,iCAAAA,CAAiBC;AAAQ;AACvF,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAoC,IAAAA,WAAAA,CAAAA,GAAAA;QACE,OAAO;YACLvB,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBgB,GAAG;AAAEhB,wBAAAA,iCAAAA,CAAiBc;AAAI;AAChF,iBAAA;AACA5B,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAqC,IAAAA,KAAAA,CAAAA,GAAAA;QACE,OAAO;YACLxB,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;AACE,4BAAA,GAAGQ,kCAAiBkB,OAAO;4BAC3BxB,IAAAA,EAAM;AACR;AACD;AACH,iBAAA;AACA,gBAAA;oBACEP,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBqB,MAAM;AACvBrB,wBAAAA,iCAAAA,CAAiBwB,SAAS;AAC1BxB,wBAAAA,iCAAAA,CAAiByB,SAAS;AAC1BzB,wBAAAA,iCAAAA,CAAiBC;AAClB;AACH,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAwC,IAAAA,WAAAA,CAAAA,CAAYC,IAA6B,EAAA;QACvC,OAAO;YACL5B,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;4BACEC,IAAAA,EAAM,SAAA;4BACNC,IAAAA,EAAM,QAAA;4BACNH,SAAAA,EAAW;AACTH,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA;AACAK,4BAAAA,WAAAA,EAAa,EAAC;4BACdS,OAAAA,EAAS;AACP,gCAAA;oCACEE,GAAAA,EAAK,sBAAA;oCACLD,KAAAA,EAAO,EAAA;oCACPE,SAAAA,EAAW;wCACThB,SAAAA,EAAW;4CACTH,EAAAA,EAAI,2CAAA;4CACJE,cAAAA,EAAgB;AAClB;AACF;AACF,iCAAA;mCACG,CAACqC,KAAKC,IAAI,IAAI,EAAE,EAChBC,MAAM,CAAC,CAACxB,KAAAA,EAAOyB,QAAUH,IAAAA,CAAKC,IAAI,CAACG,OAAO,CAAC1B,WAAWyB,KAAAA,IAASzB,KAAAA,CAAAA,CAC/D2B,GAAG,CAAC,CAAC3B,KAAAA,GAAAA;oCACJ,OAAO;wCACLC,GAAAA,EAAKD,KAAAA;AACLA,wCAAAA,KAAAA;wCACAE,SAAAA,EAAW;4CACThB,SAAAA,EAAW;gDAAEH,EAAAA,EAAI,CAAA,EAAGiB,KAAAA,CAAM,YAAY,CAAC;gDAAEf,cAAAA,EAAgBe;AAAM;AACjE;AACF,qCAAA;AACF,gCAAA,CAAA;AACH;AACH,yBAAA;AACA,wBAAA;4BACEd,SAAAA,EAAW;AACTH,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,yCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA;4BACAG,IAAAA,EAAM,UAAA;4BACNC,IAAAA,EAAM,MAAA;AACNC,4BAAAA,WAAAA,EAAa,EAAC;4BACdsC,WAAAA,EAAa;AACX7C,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,qDAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB;AACF;AACD;AACH,iBAAA;AACA,gBAAA;oBACEH,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAgD,IAAAA,IAAAA,CAAAA,GAAAA;QACE,OAAO;YACLnC,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAiD,IAAAA,KAAAA,CAAAA,GAAAA;QACE,OAAO;YACLpC,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;4BACED,SAAAA,EAAW;AACTH,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,oCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA;4BACAG,IAAAA,EAAM,cAAA;4BACNC,IAAAA,EAAM,sBAAA;4BACN0C,IAAAA,EAAM,CAAA;4BACN/B,KAAAA,EAAO,EAAA;AACPV,4BAAAA,WAAAA,EAAa;AACf;AACD;AACH,iBAAA;AACA,gBAAA;oBACER,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAmD,IAAAA,MAAAA,CAAAA,CAAOV,IAAwB,EAAA;QAC7B,MAAMW,SAAAA,GAAYX,KAAKjC,IAAI,KAAK,aAAaiC,IAAAA,CAAKjC,IAAI,KAAK,OAAA,GAAU,KAAA,GAAQ,CAAA;QAE7E,OAAO;YACLK,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;4BACEW,SAAAA,EAAW,IAAA;4BACXV,IAAAA,EAAM,SAAA;AACNC,4BAAAA,IAAAA,EAAMiC,IAAAA,CAAKjC,IAAI,KAAK,YAAA,GAAe,MAAA,GAAS,QAAA;4BAC5CgB,IAAAA,EAAM4B,SAAAA;4BACN/C,SAAAA,EAAW;AACTH,gCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,iCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA;AACAK,4BAAAA,WAAAA,EAAa;AACf;AACD;AACH,iBAAA;AACA,gBAAA;oBACER,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBqB,MAAM;AACvBrB,wBAAAA,iCAAAA,CAAiBgB,GAAG;AACpBhB,wBAAAA,iCAAAA,CAAiBc,GAAG;AACpBd,wBAAAA,iCAAAA,CAAiBC;AAClB;AACH,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAqD,IAAAA,QAAAA,CAAAA,GAAAA;QACE,OAAO;YACLxC,QAAAA,EAAU;AACR,gBAAA;oBAAEZ,YAAAA,EAAc,IAAA;oBAAMK,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBkB;AAAQ;AAAC,iBAAA;AACxD,gBAAA;oBACE/B,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBwB,SAAS;AAC1BxB,wBAAAA,iCAAAA,CAAiByB,SAAS;AAC1BzB,wBAAAA,iCAAAA,CAAiBC;AAClB;AACH,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAsD,IAAAA,QAAAA,CAAAA,GAAAA;QACE,OAAO;YACLzC,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AAAEI,wBAAAA,iCAAAA,CAAiBC;AAAQ;AAC9D,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAuD,IAAAA,QAAAA,CAAAA,GAAAA;QACE,OAAO;YACL1C,QAAAA,EAAU;AACR,gBAAA;oBAAEZ,YAAAA,EAAc,IAAA;oBAAMK,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBkB;AAAQ;AAAC,iBAAA;AACxD,gBAAA;oBACE/B,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBwB,SAAS;AAC1BxB,wBAAAA,iCAAAA,CAAiByB,SAAS;AAC1BzB,wBAAAA,iCAAAA,CAAiBC;AAClB;AACH,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACAwD,IAAAA,IAAAA,CAAAA,GAAAA;QACE,OAAO;YACL3C,QAAAA,EAAU;AACR,gBAAA;oBAAEZ,YAAAA,EAAc,IAAA;oBAAMK,KAAAA,EAAO;AAACQ,wBAAAA,iCAAAA,CAAiBkB,OAAO;AAAElB,wBAAAA,iCAAAA,CAAiB2C;AAAM;AAAC,iBAAA;AAChF,gBAAA;oBACExD,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBqB,MAAM;AACvBrB,wBAAAA,iCAAAA,CAAiBwB,SAAS;AAC1BxB,wBAAAA,iCAAAA,CAAiByB,SAAS;AAC1BzB,wBAAAA,iCAAAA,CAAiBC;AAClB;AACH,iBAAA;AACAf,gBAAAA;AACD;AACH,SAAA;AACF,IAAA,CAAA;AACA0D,IAAAA,GAAAA,CAAAA,CAAIjB,IAA6B,EAAA;QAC/B,OAAO;YACL5B,QAAAA,EAAU;AACR,gBAAA;oBACEZ,YAAAA,EAAc,IAAA;oBACdK,KAAAA,EAAO;AACL,wBAAA;AAAE,4BAAA,GAAGQ,kCAAiBkB,OAAO;4BAAEE,QAAAA,EAAUyB,OAAAA,CAAQlB,KAAKmB,WAAW,CAAA;4BAAGpD,IAAAA,EAAM;AAAO;AAClF;AACH,iBAAA;AACA,gBAAA;oBACEP,YAAAA,EAAc;wBACZC,EAAAA,EAAI,iBAAA;wBACJE,cAAAA,EAAgB;AAClB,qBAAA;oBACAE,KAAAA,EAAO;AACLQ,wBAAAA,iCAAAA,CAAiBJ,QAAQ;AACzBI,wBAAAA,iCAAAA,CAAiBwB,SAAS;AAC1BxB,wBAAAA,iCAAAA,CAAiByB,SAAS;AAC1BzB,wBAAAA,iCAAAA,CAAiBC,OAAO;AACxBD,wBAAAA,iCAAAA,CAAiB2C;AAClB;AACH,iBAAA;AACAzD,gBAAAA;AACD;AACH,SAAA;AACF,IAAA;AACF;;;;"}
@@ -428,6 +428,7 @@ const advancedForm = {
428
428
  defaultMessage: 'Settings'
429
429
  },
430
430
  items: [
431
+ attributeOptions.required,
431
432
  attributeOptions.private
432
433
  ]
433
434
  },
@@ -1 +1 @@
1
- {"version":3,"file":"advancedForm.mjs","sources":["../../../../../admin/src/components/FormModal/attributes/advancedForm.ts"],"sourcesContent":["import { getTrad } from '../../../utils/getTrad';\nimport { componentForm } from '../component/componentForm';\n\nimport { attributeOptions } from './attributeOptions';\n\ntype DataType = 'biginteger' | 'string' | 'integer' | 'float' | 'decimal';\n\nconst conditionSection = {\n sectionTitle: {\n id: getTrad('form.attribute.condition.title'),\n defaultMessage: 'Condition',\n },\n intlLabel: {\n id: getTrad('form.attribute.condition.description'),\n defaultMessage:\n 'Toggle field settings depending on the value of another boolean or enumeration field.',\n },\n items: [\n {\n name: 'conditions',\n type: 'condition-form',\n intlLabel: {\n id: getTrad('form.attribute.condition.label'),\n defaultMessage: 'Conditions',\n },\n validations: {\n required: true,\n },\n },\n ],\n};\n\nexport const advancedForm = {\n blocks() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n boolean() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n type: 'select-default-boolean',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n name: 'default',\n options: [\n {\n value: 'true',\n key: 'true',\n metadatas: { intlLabel: { id: 'true', defaultMessage: 'true' } },\n },\n {\n value: '',\n key: 'null',\n metadatas: { intlLabel: { id: 'null', defaultMessage: 'null' } },\n },\n {\n value: 'false',\n key: 'false',\n metadatas: { intlLabel: { id: 'false', defaultMessage: 'false' } },\n },\n ],\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n component({ repeatable }: { repeatable: boolean }, step: string) {\n if (step === '1') {\n return { sections: componentForm.advanced() };\n }\n\n if (repeatable) {\n const minComponentsAttribute = {\n ...attributeOptions.min,\n intlLabel: {\n id: getTrad('form.attribute.item.minimumComponents'),\n defaultMessage: 'Minimum components',\n },\n };\n const maxComponentsAttribute = {\n ...attributeOptions.max,\n intlLabel: {\n id: getTrad('form.attribute.item.maximumComponents'),\n defaultMessage: 'Maximum components',\n },\n };\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.private,\n minComponentsAttribute,\n maxComponentsAttribute,\n ],\n },\n conditionSection,\n ],\n };\n }\n\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n date({ type }: { type: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: type || 'date',\n value: null,\n withDefaultValue: false,\n disabled: !type,\n autoFocus: false,\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.unique, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n dynamiczone() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.max, attributeOptions.min],\n },\n conditionSection,\n ],\n };\n },\n email() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: 'email',\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n enumeration(data: { enum: Array<string> }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n name: 'default',\n type: 'select',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n options: [\n {\n key: '__null_reset_value__',\n value: '',\n metadatas: {\n intlLabel: {\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n },\n },\n },\n ...(data.enum || [])\n .filter((value, index) => data.enum.indexOf(value) === index && value)\n .map((value) => {\n return {\n key: value,\n value,\n metadatas: {\n intlLabel: { id: `${value}.no-override`, defaultMessage: value },\n },\n };\n }),\n ],\n },\n {\n intlLabel: {\n id: getTrad('form.attribute.item.enumeration.graphql'),\n defaultMessage: 'Name override for GraphQL',\n },\n name: 'enumName',\n type: 'text',\n validations: {},\n description: {\n id: getTrad('form.attribute.item.enumeration.graphql.description'),\n defaultMessage: 'Allows you to override the default generated name for GraphQL',\n },\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n json() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n media() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n intlLabel: {\n id: getTrad('form.attribute.media.allowed-types'),\n defaultMessage: 'Select allowed types of media',\n },\n name: 'allowedTypes',\n type: 'allowed-types-select',\n size: 7,\n value: '',\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n number(data: { type: DataType }) {\n const inputStep = data.type === 'decimal' || data.type === 'float' ? 'any' : 1;\n\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n name: 'default',\n type: data.type === 'biginteger' ? 'text' : 'number',\n step: inputStep,\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.max,\n attributeOptions.min,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n password() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n relation() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n richtext() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n text() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default, attributeOptions.regex] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n uid(data: { targetField: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n { ...attributeOptions.default, disabled: Boolean(data.targetField), type: 'text' },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n attributeOptions.regex,\n ],\n },\n conditionSection,\n ],\n };\n },\n};\n"],"names":["conditionSection","sectionTitle","id","getTrad","defaultMessage","intlLabel","items","name","type","validations","required","advancedForm","blocks","sections","attributeOptions","private","boolean","autoFocus","options","value","key","metadatas","component","repeatable","step","componentForm","advanced","minComponentsAttribute","min","maxComponentsAttribute","max","date","default","withDefaultValue","disabled","unique","dynamiczone","email","maxLength","minLength","enumeration","data","enum","filter","index","indexOf","map","description","json","media","size","number","inputStep","password","relation","richtext","text","regex","uid","Boolean","targetField"],"mappings":"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"}
1
+ {"version":3,"file":"advancedForm.mjs","sources":["../../../../../admin/src/components/FormModal/attributes/advancedForm.ts"],"sourcesContent":["import { getTrad } from '../../../utils/getTrad';\nimport { componentForm } from '../component/componentForm';\n\nimport { attributeOptions } from './attributeOptions';\n\ntype DataType = 'biginteger' | 'string' | 'integer' | 'float' | 'decimal';\n\nconst conditionSection = {\n sectionTitle: {\n id: getTrad('form.attribute.condition.title'),\n defaultMessage: 'Condition',\n },\n intlLabel: {\n id: getTrad('form.attribute.condition.description'),\n defaultMessage:\n 'Toggle field settings depending on the value of another boolean or enumeration field.',\n },\n items: [\n {\n name: 'conditions',\n type: 'condition-form',\n intlLabel: {\n id: getTrad('form.attribute.condition.label'),\n defaultMessage: 'Conditions',\n },\n validations: {\n required: true,\n },\n },\n ],\n};\n\nexport const advancedForm = {\n blocks() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n boolean() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n type: 'select-default-boolean',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n name: 'default',\n options: [\n {\n value: 'true',\n key: 'true',\n metadatas: { intlLabel: { id: 'true', defaultMessage: 'true' } },\n },\n {\n value: '',\n key: 'null',\n metadatas: { intlLabel: { id: 'null', defaultMessage: 'null' } },\n },\n {\n value: 'false',\n key: 'false',\n metadatas: { intlLabel: { id: 'false', defaultMessage: 'false' } },\n },\n ],\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n component({ repeatable }: { repeatable: boolean }, step: string) {\n if (step === '1') {\n return { sections: componentForm.advanced() };\n }\n\n if (repeatable) {\n const minComponentsAttribute = {\n ...attributeOptions.min,\n intlLabel: {\n id: getTrad('form.attribute.item.minimumComponents'),\n defaultMessage: 'Minimum components',\n },\n };\n const maxComponentsAttribute = {\n ...attributeOptions.max,\n intlLabel: {\n id: getTrad('form.attribute.item.maximumComponents'),\n defaultMessage: 'Maximum components',\n },\n };\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.private,\n minComponentsAttribute,\n maxComponentsAttribute,\n ],\n },\n conditionSection,\n ],\n };\n }\n\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n date({ type }: { type: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: type || 'date',\n value: null,\n withDefaultValue: false,\n disabled: !type,\n autoFocus: false,\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.unique, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n dynamiczone() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.max, attributeOptions.min],\n },\n conditionSection,\n ],\n };\n },\n email() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n ...attributeOptions.default,\n type: 'email',\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n enumeration(data: { enum: Array<string> }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n name: 'default',\n type: 'select',\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n options: [\n {\n key: '__null_reset_value__',\n value: '',\n metadatas: {\n intlLabel: {\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n },\n },\n },\n ...(data.enum || [])\n .filter((value, index) => data.enum.indexOf(value) === index && value)\n .map((value) => {\n return {\n key: value,\n value,\n metadatas: {\n intlLabel: { id: `${value}.no-override`, defaultMessage: value },\n },\n };\n }),\n ],\n },\n {\n intlLabel: {\n id: getTrad('form.attribute.item.enumeration.graphql'),\n defaultMessage: 'Name override for GraphQL',\n },\n name: 'enumName',\n type: 'text',\n validations: {},\n description: {\n id: getTrad('form.attribute.item.enumeration.graphql.description'),\n defaultMessage: 'Allows you to override the default generated name for GraphQL',\n },\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n json() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n media() {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n intlLabel: {\n id: getTrad('form.attribute.media.allowed-types'),\n defaultMessage: 'Select allowed types of media',\n },\n name: 'allowedTypes',\n type: 'allowed-types-select',\n size: 7,\n value: '',\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n number(data: { type: DataType }) {\n const inputStep = data.type === 'decimal' || data.type === 'float' ? 'any' : 1;\n\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n {\n autoFocus: true,\n name: 'default',\n type: data.type === 'biginteger' ? 'text' : 'number',\n step: inputStep,\n intlLabel: {\n id: getTrad('form.attribute.settings.default'),\n defaultMessage: 'Default value',\n },\n validations: {},\n },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.max,\n attributeOptions.min,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n password() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n relation() {\n return {\n sections: [\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [attributeOptions.required, attributeOptions.private],\n },\n conditionSection,\n ],\n };\n },\n richtext() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n text() {\n return {\n sections: [\n { sectionTitle: null, items: [attributeOptions.default, attributeOptions.regex] },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.unique,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n ],\n },\n conditionSection,\n ],\n };\n },\n uid(data: { targetField: string }) {\n return {\n sections: [\n {\n sectionTitle: null,\n items: [\n { ...attributeOptions.default, disabled: Boolean(data.targetField), type: 'text' },\n ],\n },\n {\n sectionTitle: {\n id: 'global.settings',\n defaultMessage: 'Settings',\n },\n items: [\n attributeOptions.required,\n attributeOptions.maxLength,\n attributeOptions.minLength,\n attributeOptions.private,\n attributeOptions.regex,\n ],\n },\n conditionSection,\n ],\n };\n },\n};\n"],"names":["conditionSection","sectionTitle","id","getTrad","defaultMessage","intlLabel","items","name","type","validations","required","advancedForm","blocks","sections","attributeOptions","private","boolean","autoFocus","options","value","key","metadatas","component","repeatable","step","componentForm","advanced","minComponentsAttribute","min","maxComponentsAttribute","max","date","default","withDefaultValue","disabled","unique","dynamiczone","email","maxLength","minLength","enumeration","data","enum","filter","index","indexOf","map","description","json","media","size","number","inputStep","password","relation","richtext","text","regex","uid","Boolean","targetField"],"mappings":"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"}
@@ -144,7 +144,11 @@ const attributeTypes = {
144
144
  default: common.validators.default(),
145
145
  unique: common.validators.unique(),
146
146
  required: common.validators.required(),
147
- enum: yup__namespace.array().of(yup__namespace.string()).min(1, strapiAdmin.translatedErrors.min.id).test({
147
+ enum: yup__namespace.array().of(yup__namespace.string())/**
148
+ * CTB renders field errors as `formatMessage({ id: error })` with no values, so the
149
+ * message must not interpolate anything — the generic `errorsTrads.min` id would leak
150
+ * its `{min}` placeholder. See strapi/strapi#19030.
151
+ */ .min(1, getTrad.getTrad('error.validation.enum-empty')).test({
148
152
  name: 'areEnumValuesUnique',
149
153
  message: getTrad.getTrad('error.validation.enum-duplicate'),
150
154
  test (values) {
@@ -242,6 +246,7 @@ const attributeTypes = {
242
246
  target: yup__namespace.string().required(strapiAdmin.translatedErrors.required.id),
243
247
  relation: yup__namespace.string().required(),
244
248
  type: yup__namespace.string().required(),
249
+ required: common.validators.required(),
245
250
  targetAttribute: yup__namespace.lazy(()=>{
246
251
  const relationType = getRelationType.getRelationType(modifiedData.relation, modifiedData.targetAttribute);
247
252
  if (relationType === 'oneWay' || relationType === 'manyWay') {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../admin/src/components/FormModal/attributes/types.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport uniq from 'lodash/uniq';\nimport * as yup from 'yup';\n\nimport { getRelationType } from '../../../utils/getRelationType';\nimport { getTrad } from '../../../utils/getTrad';\nimport { toRegressedEnumValue } from '../../../utils/toRegressedEnumValue';\n\nimport {\n alreadyUsedAttributeNames,\n createStringShape,\n createTextShape,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n} from './validation/common';\n\nimport type { Schema } from '@strapi/types';\n\nexport const attributeTypes = {\n date(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n datetime(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n time(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n default(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n biginteger(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/),\n unique: validators.unique(),\n required: validators.required(),\n max: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n min: yup\n .string()\n .nullable()\n .test(isMinSuperiorThanMax<string | null>())\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n };\n\n return yup.object(shape);\n },\n boolean(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n default: yup.boolean().nullable(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n component(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n component: yup.string().required(errorsTrads.required.id),\n };\n\n return yup.object(shape);\n },\n decimal(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number(),\n required: validators.required(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n dynamiczone(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n email(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.string().email().nullable(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n enumeration(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n /**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\n const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\n const shape = {\n name: yup\n .string()\n .test(alreadyUsedAttributeNames(usedAttributeNames))\n .test(isNameAllowed(reservedNames))\n .matches(GRAPHQL_ENUM_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n enum: yup\n .array()\n .of(yup.string())\n .min(1, errorsTrads.min.id)\n .test({\n name: 'areEnumValuesUnique',\n message: getTrad('error.validation.enum-duplicate'),\n test(values) {\n if (!values) {\n return false;\n }\n const duplicates = uniq(\n values\n .map(toRegressedEnumValue)\n .filter((value, index, values) => values.indexOf(value) !== index)\n );\n\n return !duplicates.length;\n },\n })\n .test({\n name: 'doesNotHaveEmptyValues',\n message: getTrad('error.validation.enum-empty-string'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return !values.map(toRegressedEnumValue).some((val) => val === '');\n },\n })\n .test({\n name: 'doesMatchRegex',\n message: getTrad('error.validation.enum-regex'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return values\n .map(toRegressedEnumValue)\n .every((value) => GRAPHQL_ENUM_REGEX.test(value));\n },\n }),\n enumName: yup.string().nullable(),\n };\n\n return yup.object(shape);\n },\n float(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n default: yup.number(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n integer(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number().integer(),\n unique: validators.unique(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n json(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n media(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n multiple: yup.boolean(),\n required: validators.required(),\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1)\n .nullable(),\n };\n\n return yup.object(shape);\n },\n password(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n relation(\n usedAttributeNames: Array<string>,\n reservedNames: Array<string>,\n alreadyTakenTargetAttributes: Array<{ name: string }>,\n {\n initialData,\n modifiedData,\n }: {\n initialData: { targetAttribute?: string };\n modifiedData: {\n name?: string;\n relation?: Schema.Attribute.RelationKind.WithTarget;\n targetAttribute?: string;\n };\n }\n ) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n target: yup.string().required(errorsTrads.required.id),\n relation: yup.string().required(),\n type: yup.string().required(),\n targetAttribute: yup.lazy(() => {\n const relationType = getRelationType(modifiedData.relation!, modifiedData.targetAttribute);\n\n if (relationType === 'oneWay' || relationType === 'manyWay') {\n return yup.string().nullable();\n }\n\n const schema = yup.string().test(isNameAllowed(reservedNames));\n const initialForbiddenName = [\n ...alreadyTakenTargetAttributes.map(({ name }) => name),\n modifiedData.name,\n ];\n\n const forbiddenTargetAttributeName = initialForbiddenName.filter(\n (val) => val !== initialData.targetAttribute\n );\n\n return schema\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .test({\n name: 'forbiddenTargetAttributeName',\n message: getTrad('error.validation.relation.targetAttribute-taken'),\n test(value) {\n if (!value) {\n return false;\n }\n\n return !forbiddenTargetAttributeName.includes(value);\n },\n })\n .required(errorsTrads.required.id);\n }),\n };\n\n return yup.object(shape);\n },\n richtext(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n blocks(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n string(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createStringShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n text(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n uid(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n};\n"],"names":["attributeTypes","date","usedAttributeNames","reservedNames","shape","name","validators","type","yup","object","datetime","time","default","biginteger","string","nullable","matches","unique","required","max","errorsTrads","regex","id","min","test","isMinSuperiorThanMax","boolean","component","decimal","number","dynamiczone","email","maxLength","minLength","enumeration","GRAPHQL_ENUM_REGEX","alreadyUsedAttributeNames","isNameAllowed","enum","array","of","message","getTrad","values","duplicates","uniq","map","toRegressedEnumValue","filter","value","index","indexOf","length","some","val","every","enumName","float","integer","json","media","multiple","allowedTypes","oneOf","password","relation","alreadyTakenTargetAttributes","initialData","modifiedData","target","targetAttribute","lazy","relationType","getRelationType","schema","initialForbiddenName","forbiddenTargetAttributeName","NAME_REGEX","includes","richtext","blocks","createStringShape","text","createTextShape","uid"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../admin/src/components/FormModal/attributes/types.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport uniq from 'lodash/uniq';\nimport * as yup from 'yup';\n\nimport { getRelationType } from '../../../utils/getRelationType';\nimport { getTrad } from '../../../utils/getTrad';\nimport { toRegressedEnumValue } from '../../../utils/toRegressedEnumValue';\n\nimport {\n alreadyUsedAttributeNames,\n createStringShape,\n createTextShape,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n} from './validation/common';\n\nimport type { Schema } from '@strapi/types';\n\nexport const attributeTypes = {\n date(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n datetime(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n time(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n default(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n biginteger(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/),\n unique: validators.unique(),\n required: validators.required(),\n max: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n min: yup\n .string()\n .nullable()\n .test(isMinSuperiorThanMax<string | null>())\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n };\n\n return yup.object(shape);\n },\n boolean(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n default: yup.boolean().nullable(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n component(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n component: yup.string().required(errorsTrads.required.id),\n };\n\n return yup.object(shape);\n },\n decimal(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number(),\n required: validators.required(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n dynamiczone(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n email(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.string().email().nullable(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n enumeration(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n /**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\n const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\n const shape = {\n name: yup\n .string()\n .test(alreadyUsedAttributeNames(usedAttributeNames))\n .test(isNameAllowed(reservedNames))\n .matches(GRAPHQL_ENUM_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n enum: yup\n .array()\n .of(yup.string())\n /**\n * CTB renders field errors as `formatMessage({ id: error })` with no values, so the\n * message must not interpolate anything — the generic `errorsTrads.min` id would leak\n * its `{min}` placeholder. See strapi/strapi#19030.\n */\n .min(1, getTrad('error.validation.enum-empty'))\n .test({\n name: 'areEnumValuesUnique',\n message: getTrad('error.validation.enum-duplicate'),\n test(values) {\n if (!values) {\n return false;\n }\n const duplicates = uniq(\n values\n .map(toRegressedEnumValue)\n .filter((value, index, values) => values.indexOf(value) !== index)\n );\n\n return !duplicates.length;\n },\n })\n .test({\n name: 'doesNotHaveEmptyValues',\n message: getTrad('error.validation.enum-empty-string'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return !values.map(toRegressedEnumValue).some((val) => val === '');\n },\n })\n .test({\n name: 'doesMatchRegex',\n message: getTrad('error.validation.enum-regex'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return values\n .map(toRegressedEnumValue)\n .every((value) => GRAPHQL_ENUM_REGEX.test(value));\n },\n }),\n enumName: yup.string().nullable(),\n };\n\n return yup.object(shape);\n },\n float(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n default: yup.number(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n integer(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number().integer(),\n unique: validators.unique(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n json(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n media(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n multiple: yup.boolean(),\n required: validators.required(),\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1)\n .nullable(),\n };\n\n return yup.object(shape);\n },\n password(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n relation(\n usedAttributeNames: Array<string>,\n reservedNames: Array<string>,\n alreadyTakenTargetAttributes: Array<{ name: string }>,\n {\n initialData,\n modifiedData,\n }: {\n initialData: { targetAttribute?: string };\n modifiedData: {\n name?: string;\n relation?: Schema.Attribute.RelationKind.WithTarget;\n targetAttribute?: string;\n };\n }\n ) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n target: yup.string().required(errorsTrads.required.id),\n relation: yup.string().required(),\n type: yup.string().required(),\n required: validators.required(),\n targetAttribute: yup.lazy(() => {\n const relationType = getRelationType(modifiedData.relation!, modifiedData.targetAttribute);\n\n if (relationType === 'oneWay' || relationType === 'manyWay') {\n return yup.string().nullable();\n }\n\n const schema = yup.string().test(isNameAllowed(reservedNames));\n const initialForbiddenName = [\n ...alreadyTakenTargetAttributes.map(({ name }) => name),\n modifiedData.name,\n ];\n\n const forbiddenTargetAttributeName = initialForbiddenName.filter(\n (val) => val !== initialData.targetAttribute\n );\n\n return schema\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .test({\n name: 'forbiddenTargetAttributeName',\n message: getTrad('error.validation.relation.targetAttribute-taken'),\n test(value) {\n if (!value) {\n return false;\n }\n\n return !forbiddenTargetAttributeName.includes(value);\n },\n })\n .required(errorsTrads.required.id);\n }),\n };\n\n return yup.object(shape);\n },\n richtext(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n blocks(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n string(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createStringShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n text(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n uid(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n};\n"],"names":["attributeTypes","date","usedAttributeNames","reservedNames","shape","name","validators","type","yup","object","datetime","time","default","biginteger","string","nullable","matches","unique","required","max","errorsTrads","regex","id","min","test","isMinSuperiorThanMax","boolean","component","decimal","number","dynamiczone","email","maxLength","minLength","enumeration","GRAPHQL_ENUM_REGEX","alreadyUsedAttributeNames","isNameAllowed","enum","array","of","getTrad","message","values","duplicates","uniq","map","toRegressedEnumValue","filter","value","index","indexOf","length","some","val","every","enumName","float","integer","json","media","multiple","allowedTypes","oneOf","password","relation","alreadyTakenTargetAttributes","initialData","modifiedData","target","targetAttribute","lazy","relationType","getRelationType","schema","initialForbiddenName","forbiddenTargetAttributeName","NAME_REGEX","includes","richtext","blocks","createStringShape","text","createTextShape","uid"],"mappings":"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"}
@@ -119,7 +119,11 @@ const attributeTypes = {
119
119
  default: validators.default(),
120
120
  unique: validators.unique(),
121
121
  required: validators.required(),
122
- enum: yup.array().of(yup.string()).min(1, translatedErrors.min.id).test({
122
+ enum: yup.array().of(yup.string())/**
123
+ * CTB renders field errors as `formatMessage({ id: error })` with no values, so the
124
+ * message must not interpolate anything — the generic `errorsTrads.min` id would leak
125
+ * its `{min}` placeholder. See strapi/strapi#19030.
126
+ */ .min(1, getTrad('error.validation.enum-empty')).test({
123
127
  name: 'areEnumValuesUnique',
124
128
  message: getTrad('error.validation.enum-duplicate'),
125
129
  test (values) {
@@ -217,6 +221,7 @@ const attributeTypes = {
217
221
  target: yup.string().required(translatedErrors.required.id),
218
222
  relation: yup.string().required(),
219
223
  type: yup.string().required(),
224
+ required: validators.required(),
220
225
  targetAttribute: yup.lazy(()=>{
221
226
  const relationType = getRelationType(modifiedData.relation, modifiedData.targetAttribute);
222
227
  if (relationType === 'oneWay' || relationType === 'manyWay') {
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../admin/src/components/FormModal/attributes/types.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport uniq from 'lodash/uniq';\nimport * as yup from 'yup';\n\nimport { getRelationType } from '../../../utils/getRelationType';\nimport { getTrad } from '../../../utils/getTrad';\nimport { toRegressedEnumValue } from '../../../utils/toRegressedEnumValue';\n\nimport {\n alreadyUsedAttributeNames,\n createStringShape,\n createTextShape,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n} from './validation/common';\n\nimport type { Schema } from '@strapi/types';\n\nexport const attributeTypes = {\n date(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n datetime(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n time(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n default(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n biginteger(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/),\n unique: validators.unique(),\n required: validators.required(),\n max: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n min: yup\n .string()\n .nullable()\n .test(isMinSuperiorThanMax<string | null>())\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n };\n\n return yup.object(shape);\n },\n boolean(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n default: yup.boolean().nullable(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n component(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n component: yup.string().required(errorsTrads.required.id),\n };\n\n return yup.object(shape);\n },\n decimal(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number(),\n required: validators.required(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n dynamiczone(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n email(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.string().email().nullable(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n enumeration(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n /**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\n const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\n const shape = {\n name: yup\n .string()\n .test(alreadyUsedAttributeNames(usedAttributeNames))\n .test(isNameAllowed(reservedNames))\n .matches(GRAPHQL_ENUM_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n enum: yup\n .array()\n .of(yup.string())\n .min(1, errorsTrads.min.id)\n .test({\n name: 'areEnumValuesUnique',\n message: getTrad('error.validation.enum-duplicate'),\n test(values) {\n if (!values) {\n return false;\n }\n const duplicates = uniq(\n values\n .map(toRegressedEnumValue)\n .filter((value, index, values) => values.indexOf(value) !== index)\n );\n\n return !duplicates.length;\n },\n })\n .test({\n name: 'doesNotHaveEmptyValues',\n message: getTrad('error.validation.enum-empty-string'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return !values.map(toRegressedEnumValue).some((val) => val === '');\n },\n })\n .test({\n name: 'doesMatchRegex',\n message: getTrad('error.validation.enum-regex'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return values\n .map(toRegressedEnumValue)\n .every((value) => GRAPHQL_ENUM_REGEX.test(value));\n },\n }),\n enumName: yup.string().nullable(),\n };\n\n return yup.object(shape);\n },\n float(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n default: yup.number(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n integer(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number().integer(),\n unique: validators.unique(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n json(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n media(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n multiple: yup.boolean(),\n required: validators.required(),\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1)\n .nullable(),\n };\n\n return yup.object(shape);\n },\n password(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n relation(\n usedAttributeNames: Array<string>,\n reservedNames: Array<string>,\n alreadyTakenTargetAttributes: Array<{ name: string }>,\n {\n initialData,\n modifiedData,\n }: {\n initialData: { targetAttribute?: string };\n modifiedData: {\n name?: string;\n relation?: Schema.Attribute.RelationKind.WithTarget;\n targetAttribute?: string;\n };\n }\n ) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n target: yup.string().required(errorsTrads.required.id),\n relation: yup.string().required(),\n type: yup.string().required(),\n targetAttribute: yup.lazy(() => {\n const relationType = getRelationType(modifiedData.relation!, modifiedData.targetAttribute);\n\n if (relationType === 'oneWay' || relationType === 'manyWay') {\n return yup.string().nullable();\n }\n\n const schema = yup.string().test(isNameAllowed(reservedNames));\n const initialForbiddenName = [\n ...alreadyTakenTargetAttributes.map(({ name }) => name),\n modifiedData.name,\n ];\n\n const forbiddenTargetAttributeName = initialForbiddenName.filter(\n (val) => val !== initialData.targetAttribute\n );\n\n return schema\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .test({\n name: 'forbiddenTargetAttributeName',\n message: getTrad('error.validation.relation.targetAttribute-taken'),\n test(value) {\n if (!value) {\n return false;\n }\n\n return !forbiddenTargetAttributeName.includes(value);\n },\n })\n .required(errorsTrads.required.id);\n }),\n };\n\n return yup.object(shape);\n },\n richtext(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n blocks(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n string(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createStringShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n text(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n uid(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n};\n"],"names":["attributeTypes","date","usedAttributeNames","reservedNames","shape","name","validators","type","yup","object","datetime","time","default","biginteger","string","nullable","matches","unique","required","max","errorsTrads","regex","id","min","test","isMinSuperiorThanMax","boolean","component","decimal","number","dynamiczone","email","maxLength","minLength","enumeration","GRAPHQL_ENUM_REGEX","alreadyUsedAttributeNames","isNameAllowed","enum","array","of","message","getTrad","values","duplicates","uniq","map","toRegressedEnumValue","filter","value","index","indexOf","length","some","val","every","enumName","float","integer","json","media","multiple","allowedTypes","oneOf","password","relation","alreadyTakenTargetAttributes","initialData","modifiedData","target","targetAttribute","lazy","relationType","getRelationType","schema","initialForbiddenName","forbiddenTargetAttributeName","NAME_REGEX","includes","richtext","blocks","createStringShape","text","createTextShape","uid"],"mappings":"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"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../../admin/src/components/FormModal/attributes/types.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport uniq from 'lodash/uniq';\nimport * as yup from 'yup';\n\nimport { getRelationType } from '../../../utils/getRelationType';\nimport { getTrad } from '../../../utils/getTrad';\nimport { toRegressedEnumValue } from '../../../utils/toRegressedEnumValue';\n\nimport {\n alreadyUsedAttributeNames,\n createStringShape,\n createTextShape,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n} from './validation/common';\n\nimport type { Schema } from '@strapi/types';\n\nexport const attributeTypes = {\n date(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n datetime(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n time(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n default(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n };\n\n return yup.object(shape);\n },\n biginteger(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/),\n unique: validators.unique(),\n required: validators.required(),\n max: yup\n .string()\n .nullable()\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n min: yup\n .string()\n .nullable()\n .test(isMinSuperiorThanMax<string | null>())\n .matches(/^-?\\d*$/, errorsTrads.regex.id),\n };\n\n return yup.object(shape);\n },\n boolean(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n default: yup.boolean().nullable(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n component(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n component: yup.string().required(errorsTrads.required.id),\n };\n\n return yup.object(shape);\n },\n decimal(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number(),\n required: validators.required(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n dynamiczone(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n email(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.string().email().nullable(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n enumeration(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n /**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\n const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\n const shape = {\n name: yup\n .string()\n .test(alreadyUsedAttributeNames(usedAttributeNames))\n .test(isNameAllowed(reservedNames))\n .matches(GRAPHQL_ENUM_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n enum: yup\n .array()\n .of(yup.string())\n /**\n * CTB renders field errors as `formatMessage({ id: error })` with no values, so the\n * message must not interpolate anything — the generic `errorsTrads.min` id would leak\n * its `{min}` placeholder. See strapi/strapi#19030.\n */\n .min(1, getTrad('error.validation.enum-empty'))\n .test({\n name: 'areEnumValuesUnique',\n message: getTrad('error.validation.enum-duplicate'),\n test(values) {\n if (!values) {\n return false;\n }\n const duplicates = uniq(\n values\n .map(toRegressedEnumValue)\n .filter((value, index, values) => values.indexOf(value) !== index)\n );\n\n return !duplicates.length;\n },\n })\n .test({\n name: 'doesNotHaveEmptyValues',\n message: getTrad('error.validation.enum-empty-string'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return !values.map(toRegressedEnumValue).some((val) => val === '');\n },\n })\n .test({\n name: 'doesMatchRegex',\n message: getTrad('error.validation.enum-regex'),\n test: (values) => {\n if (!values) {\n return false;\n }\n return values\n .map(toRegressedEnumValue)\n .every((value) => GRAPHQL_ENUM_REGEX.test(value));\n },\n }),\n enumName: yup.string().nullable(),\n };\n\n return yup.object(shape);\n },\n float(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n default: yup.number(),\n max: yup.number(),\n min: yup.number().test(isMinSuperiorThanMax<number>()),\n };\n\n return yup.object(shape);\n },\n integer(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: yup.number().integer(),\n unique: validators.unique(),\n required: validators.required(),\n max: validators.max(),\n min: validators.min(),\n };\n\n return yup.object(shape);\n },\n json(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n required: validators.required(),\n unique: validators.unique(),\n };\n\n return yup.object(shape);\n },\n media(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n multiple: yup.boolean(),\n required: validators.required(),\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1)\n .nullable(),\n };\n\n return yup.object(shape);\n },\n password(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n relation(\n usedAttributeNames: Array<string>,\n reservedNames: Array<string>,\n alreadyTakenTargetAttributes: Array<{ name: string }>,\n {\n initialData,\n modifiedData,\n }: {\n initialData: { targetAttribute?: string };\n modifiedData: {\n name?: string;\n relation?: Schema.Attribute.RelationKind.WithTarget;\n targetAttribute?: string;\n };\n }\n ) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n target: yup.string().required(errorsTrads.required.id),\n relation: yup.string().required(),\n type: yup.string().required(),\n required: validators.required(),\n targetAttribute: yup.lazy(() => {\n const relationType = getRelationType(modifiedData.relation!, modifiedData.targetAttribute);\n\n if (relationType === 'oneWay' || relationType === 'manyWay') {\n return yup.string().nullable();\n }\n\n const schema = yup.string().test(isNameAllowed(reservedNames));\n const initialForbiddenName = [\n ...alreadyTakenTargetAttributes.map(({ name }) => name),\n modifiedData.name,\n ];\n\n const forbiddenTargetAttributeName = initialForbiddenName.filter(\n (val) => val !== initialData.targetAttribute\n );\n\n return schema\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .test({\n name: 'forbiddenTargetAttributeName',\n message: getTrad('error.validation.relation.targetAttribute-taken'),\n test(value) {\n if (!value) {\n return false;\n }\n\n return !forbiddenTargetAttributeName.includes(value);\n },\n })\n .required(errorsTrads.required.id);\n }),\n };\n\n return yup.object(shape);\n },\n richtext(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n blocks(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n };\n\n return yup.object(shape);\n },\n string(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createStringShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n text(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n uid(usedAttributeNames: Array<string>, reservedNames: Array<string>) {\n const shape = createTextShape(usedAttributeNames, reservedNames);\n\n return yup.object(shape);\n },\n};\n"],"names":["attributeTypes","date","usedAttributeNames","reservedNames","shape","name","validators","type","yup","object","datetime","time","default","biginteger","string","nullable","matches","unique","required","max","errorsTrads","regex","id","min","test","isMinSuperiorThanMax","boolean","component","decimal","number","dynamiczone","email","maxLength","minLength","enumeration","GRAPHQL_ENUM_REGEX","alreadyUsedAttributeNames","isNameAllowed","enum","array","of","getTrad","message","values","duplicates","uniq","map","toRegressedEnumValue","filter","value","index","indexOf","length","some","val","every","enumName","float","integer","json","media","multiple","allowedTypes","oneOf","password","relation","alreadyTakenTargetAttributes","initialData","modifiedData","target","targetAttribute","lazy","relationType","getRelationType","schema","initialForbiddenName","forbiddenTargetAttributeName","NAME_REGEX","includes","richtext","blocks","createStringShape","text","createTextShape","uid"],"mappings":"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"}
@@ -98,8 +98,9 @@ const createTextShape = (usedAttributeNames, reservedNames)=>{
98
98
  message: getTrad.getTrad('error.validation.regex'),
99
99
  test (value) {
100
100
  try {
101
- return new RegExp(value || '') !== null;
102
- } catch (e) {
101
+ new RegExp(value || '');
102
+ return true;
103
+ } catch {
103
104
  return false;
104
105
  }
105
106
  }
@@ -121,8 +122,9 @@ const createStringShape = (usedAttributeNames, reservedNames)=>{
121
122
  message: getTrad.getTrad('error.validation.regex'),
122
123
  test (value) {
123
124
  try {
124
- return new RegExp(value || '') !== null;
125
- } catch (e) {
125
+ new RegExp(value || '');
126
+ return true;
127
+ } catch {
126
128
  return false;
127
129
  }
128
130
  }