@strapi/content-type-builder 5.48.1 → 5.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/admin/components/AIChat/components/Messages/Message.js +5 -1
  2. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  3. package/dist/admin/components/AIChat/components/SimpleMenu.js +3 -2
  4. package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
  5. package/dist/admin/components/AIChat/hooks/useCodeUpload.js +7 -2
  6. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  7. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +11 -5
  8. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  9. package/dist/admin/components/AllowedTypesSelect.js +5 -1
  10. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  11. package/dist/admin/components/AttributeOptions/EmptyAttributes.js +3 -2
  12. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  13. package/dist/admin/components/AttributeRow.js +10 -5
  14. package/dist/admin/components/AttributeRow.js.map +1 -1
  15. package/dist/admin/components/AutoReloadOverlayBlocker.js +3 -2
  16. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  17. package/dist/admin/components/ComponentCard/ComponentCard.js +5 -1
  18. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  19. package/dist/admin/components/ComponentList.js +5 -1
  20. package/dist/admin/components/ComponentList.js.map +1 -1
  21. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +5 -1
  22. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  23. package/dist/admin/components/DataManager/DataManagerProvider.js +12 -6
  24. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  25. package/dist/admin/components/DataManager/reducer.js +7 -2
  26. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  27. package/dist/admin/components/DataManager/utils/cleanData.js +10 -4
  28. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  29. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js +5 -1
  30. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
  31. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js +5 -1
  32. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  33. package/dist/admin/components/FormModal/FormModal.js +30 -22
  34. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  35. package/dist/admin/components/FormModal/attributes/ConditionForm.js +3 -2
  36. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  37. package/dist/admin/components/FormModal/attributes/types.js +7 -3
  38. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  39. package/dist/admin/components/FormModal/attributes/validation/common.js +8 -4
  40. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  41. package/dist/admin/components/FormModal/component/createComponentSchema.js +4 -3
  42. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  43. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  44. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  45. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +3 -2
  46. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
  47. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +5 -1
  48. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  49. package/dist/admin/components/FormModal/reducer.js +32 -26
  50. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  51. package/dist/admin/components/FormModalHeader.js +6 -2
  52. package/dist/admin/components/FormModalHeader.js.map +1 -1
  53. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js +3 -2
  54. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  55. package/dist/admin/components/FormModalSubHeader.js +6 -2
  56. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  57. package/dist/admin/components/GenericInputs.js +9 -4
  58. package/dist/admin/components/GenericInputs.js.map +1 -1
  59. package/dist/admin/components/IconPicker/constants.js +4 -3
  60. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  61. package/dist/admin/components/PluralName.js +5 -1
  62. package/dist/admin/components/PluralName.js.map +1 -1
  63. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +13 -7
  64. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  65. package/dist/admin/components/TabForm.js +7 -3
  66. package/dist/admin/components/TabForm.js.map +1 -1
  67. package/dist/admin/pages/ListView/ListView.js +5 -1
  68. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  69. package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +4 -5
  70. package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +1 -1
  71. package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +0 -1
  72. package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +0 -1
  73. package/dist/admin/src/components/AIChat/components/Input.d.ts +2 -3
  74. package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +0 -1
  75. package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +9 -9
  76. package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +0 -1
  77. package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +0 -1
  78. package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +5 -5
  79. package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +2 -3
  80. package/dist/admin/src/components/AttributeRow.d.ts +7 -8
  81. package/dist/admin/src/components/CTBSession/sessionContext.d.ts +0 -1
  82. package/dist/admin/src/components/ComponentRow.d.ts +6 -7
  83. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +0 -1
  84. package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +3 -4
  85. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +0 -1
  86. package/dist/admin/src/components/DataManager/reducer.d.ts +2 -2
  87. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +56 -56
  88. package/dist/admin/src/components/FormModal/attributes/form.d.ts +3 -3
  89. package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +1 -1
  90. package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -2
  91. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +0 -1
  92. package/dist/admin/src/components/List.d.ts +2 -3
  93. package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +6 -7
  94. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +0 -1
  95. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  96. package/dist/admin/translations/en.json.js +1 -0
  97. package/dist/admin/translations/en.json.js.map +1 -1
  98. package/dist/admin/translations/en.json.mjs +1 -0
  99. package/dist/admin/translations/en.json.mjs.map +1 -1
  100. package/dist/admin/translations/ja.json.js +109 -50
  101. package/dist/admin/translations/ja.json.js.map +1 -1
  102. package/dist/admin/translations/ja.json.mjs +109 -50
  103. package/dist/admin/translations/ja.json.mjs.map +1 -1
  104. package/dist/admin/utils/formAPI.js +11 -6
  105. package/dist/admin/utils/formAPI.js.map +1 -1
  106. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  107. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  108. package/dist/admin/utils/nameToSlug.js +5 -1
  109. package/dist/admin/utils/nameToSlug.js.map +1 -1
  110. package/dist/admin/utils/toRegressedEnumValue.js +5 -1
  111. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
  112. package/dist/server/controllers/components.js +6 -2
  113. package/dist/server/controllers/components.js.map +1 -1
  114. package/dist/server/controllers/content-types.js +8 -4
  115. package/dist/server/controllers/content-types.js.map +1 -1
  116. package/dist/server/controllers/validation/common.js +6 -2
  117. package/dist/server/controllers/validation/common.js.map +1 -1
  118. package/dist/server/controllers/validation/common.mjs +1 -1
  119. package/dist/server/controllers/validation/common.mjs.map +1 -1
  120. package/dist/server/controllers/validation/component.js +9 -5
  121. package/dist/server/controllers/validation/component.js.map +1 -1
  122. package/dist/server/controllers/validation/data-transform.js +6 -2
  123. package/dist/server/controllers/validation/data-transform.js.map +1 -1
  124. package/dist/server/controllers/validation/model-schema.js +6 -2
  125. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  126. package/dist/server/controllers/validation/types.js +8 -4
  127. package/dist/server/controllers/validation/types.js.map +1 -1
  128. package/dist/server/routes/content-api.js +3 -2
  129. package/dist/server/routes/content-api.js.map +1 -1
  130. package/dist/server/services/api-handler.js +4 -3
  131. package/dist/server/services/api-handler.js.map +1 -1
  132. package/dist/server/services/api-handler.mjs.map +1 -1
  133. package/dist/server/services/components.js.map +1 -1
  134. package/dist/server/services/components.mjs.map +1 -1
  135. package/dist/server/services/content-types.js +8 -4
  136. package/dist/server/services/content-types.js.map +1 -1
  137. package/dist/server/services/schema-builder/component-builder.js +11 -5
  138. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  139. package/dist/server/services/schema-builder/content-type-builder.js +13 -8
  140. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  141. package/dist/server/services/schema-builder/index.js +5 -1
  142. package/dist/server/services/schema-builder/index.js.map +1 -1
  143. package/dist/server/services/schema-builder/schema-handler.js +35 -29
  144. package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
  145. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
  146. package/dist/server/services/schema.js +5 -1
  147. package/dist/server/services/schema.js.map +1 -1
  148. package/dist/server/src/bootstrap.d.ts.map +1 -1
  149. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  150. package/dist/server/src/controllers/validation/component-category.d.ts +1 -1
  151. package/dist/server/src/controllers/validation/component.d.ts +1 -1
  152. package/dist/server/src/controllers/validation/component.d.ts.map +1 -1
  153. package/dist/server/src/controllers/validation/content-type.d.ts +1 -1
  154. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  155. package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -1
  156. package/dist/server/src/controllers/validation/model-schema.d.ts +1 -1
  157. package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -1
  158. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
  159. package/dist/server/src/controllers/validation/schema.d.ts +1 -1
  160. package/dist/server/src/controllers/validation/types.d.ts.map +1 -1
  161. package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -1
  162. package/dist/server/src/register.d.ts.map +1 -1
  163. package/dist/server/src/services/builder.d.ts.map +1 -1
  164. package/dist/server/src/services/component-categories.d.ts.map +1 -1
  165. package/dist/server/src/services/components.d.ts +3 -26
  166. package/dist/server/src/services/components.d.ts.map +1 -1
  167. package/dist/server/src/services/content-types.d.ts +1 -1
  168. package/dist/server/src/services/content-types.d.ts.map +1 -1
  169. package/dist/server/src/services/schema-builder/component-builder.d.ts +12 -12
  170. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  171. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +14 -14
  172. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  173. package/dist/server/src/services/schema-builder/index.d.ts +27 -27
  174. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  175. package/dist/server/src/services/schema-builder/schema-handler.d.ts +13 -12
  176. package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -1
  177. package/dist/server/src/services/schema.d.ts +66 -66
  178. package/dist/server/src/services/schema.d.ts.map +1 -1
  179. package/dist/server/src/utils/attributes.d.ts +2 -2
  180. package/dist/server/src/utils/attributes.d.ts.map +1 -1
  181. package/dist/server/src/utils/helpers.d.ts.map +1 -1
  182. package/dist/server/src/utils/typeguards.d.ts.map +1 -1
  183. package/dist/server/utils/attributes.js +12 -7
  184. package/dist/server/utils/attributes.js.map +1 -1
  185. package/package.json +12 -8
@@ -1,6 +1,6 @@
1
1
  import type { Schema } from '@strapi/types';
2
2
  export declare const isConfigurable: (attribute: Schema.Attribute.AnyAttribute) => boolean;
3
- export declare const isRelation: (attribute: Schema.Attribute.AnyAttribute) => boolean;
3
+ export declare const isRelation: (attribute: Schema.Attribute.AnyAttribute) => attribute is Schema.Attribute.Relation<Schema.Attribute.RelationKind.Any, import("@strapi/types/dist/uid").ContentType>;
4
4
  /**
5
5
  * Formats a component's attributes
6
6
  */
@@ -400,7 +400,7 @@ export declare const formatAttribute: (attribute: Schema.Attribute.AnyAttribute
400
400
  column?: Partial<Schema.Attribute.Column> | undefined;
401
401
  targetField?: string | undefined;
402
402
  options?: Schema.Attribute.UIDOptions | undefined;
403
- regex?: string | undefined;
403
+ regex?: RegExp["source"] | undefined;
404
404
  configurable?: boolean | undefined;
405
405
  default?: string | (() => string) | undefined;
406
406
  minLength?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,cAAc,cAAe,OAAO,SAAS,CAAC,YAAY,YAC/B,CAAC;AAEzC,eAAO,MAAM,UAAU,cAAe,OAAO,SAAS,CAAC,YAAY,YACpC,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,GAAG,QAQ1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,cAAe,OAAO,SAAS,CAAC,YAAY,GAAG,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B7F,CAAC;AAGF,eAAO,MAAM,oBAAoB,WAAY,GAAG,cAAc,GAAG,QA4ChE,CAAC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,YAC/B,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,4HACpC,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,GAAG,QAQ1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B7F,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,MAAM,QAAQ,GAAG,QA4ChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,oDAE1B,CAAC;AAEF,eAAO,MAAM,cAAc,cAAe,MAAM,GAAG,MAAM,KAAG,MAAM,GAAG,MAcpE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,gBAAY,EAAE,oBAAkB,WAE9D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM,GAAG,MAcpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB,cACnB,OAAO,SAAS,CAAC,YAAY,yFAGzC,CAAC"}
1
+ {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,KACvC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAErF,CAAC"}
@@ -3,13 +3,18 @@
3
3
  var _ = require('lodash');
4
4
  var utils = require('@strapi/utils');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var ___default = /*#__PURE__*/_interopDefault(_);
9
+ var utils__default = /*#__PURE__*/_interopDefault(utils);
10
+
6
11
  const { ApplicationError } = utils.errors;
7
- const isConfigurable = (attribute)=>_.get(attribute, 'configurable', true);
12
+ const isConfigurable = (attribute)=>___default.default.get(attribute, 'configurable', true);
8
13
  const isRelation = (attribute)=>attribute.type === 'relation';
9
14
  /**
10
15
  * Formats a component's attributes
11
16
  */ const formatAttributes = (model)=>{
12
- const { getVisibleAttributes } = utils.contentTypes;
17
+ const { getVisibleAttributes } = utils__default.default.contentTypes;
13
18
  // only get attributes that can be seen in the CTB
14
19
  return getVisibleAttributes(model).reduce((acc, key)=>{
15
20
  acc[key] = formatAttribute(model.attributes[key]);
@@ -53,23 +58,23 @@ const replaceTemporaryUIDs = (uidMap)=>(schema)=>{
53
58
  attributes: Object.keys(schema.attributes).reduce((acc, key)=>{
54
59
  const attr = schema.attributes[key];
55
60
  if (attr.type === 'component') {
56
- if (_.has(uidMap, attr.component)) {
61
+ if (___default.default.has(uidMap, attr.component)) {
57
62
  acc[key] = {
58
63
  ...attr,
59
64
  component: uidMap[attr.component]
60
65
  };
61
66
  return acc;
62
67
  }
63
- if (!_.has(strapi.components, attr.component)) {
68
+ if (!___default.default.has(strapi.components, attr.component)) {
64
69
  throw new ApplicationError('component.notFound');
65
70
  }
66
71
  }
67
- if (attr.type === 'dynamiczone' && _.intersection(attr.components, Object.keys(uidMap)).length > 0) {
72
+ if (attr.type === 'dynamiczone' && ___default.default.intersection(attr.components, Object.keys(uidMap)).length > 0) {
68
73
  acc[key] = {
69
74
  ...attr,
70
75
  components: attr.components.map((value)=>{
71
- if (_.has(uidMap, value)) return uidMap[value];
72
- if (!_.has(strapi.components, value)) {
76
+ if (___default.default.has(uidMap, value)) return uidMap[value];
77
+ if (!___default.default.has(strapi.components, value)) {
73
78
  throw new ApplicationError('component.notFound');
74
79
  }
75
80
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sources":["../../../server/src/utils/attributes.ts"],"sourcesContent":["import _ from 'lodash';\nimport utils, { errors } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst { ApplicationError } = errors;\n\nexport const isConfigurable = (attribute: Schema.Attribute.AnyAttribute) =>\n _.get(attribute, 'configurable', true);\n\nexport const isRelation = (attribute: Schema.Attribute.AnyAttribute) =>\n attribute.type === 'relation';\n\n/**\n * Formats a component's attributes\n */\nexport const formatAttributes = (model: any) => {\n const { getVisibleAttributes } = utils.contentTypes;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).reduce((acc: any, key) => {\n acc[key] = formatAttribute(model.attributes[key]);\n return acc;\n }, {});\n};\n\n/**\n * Formats a component attribute\n */\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n const { configurable, required, autoPopulate, pluginOptions } = attribute;\n\n if (attribute.type === 'media') {\n return {\n type: 'media',\n multiple: !!attribute.multiple,\n required: !!required,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n allowedTypes: attribute.allowedTypes,\n pluginOptions,\n };\n }\n\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n type: 'relation',\n target: attribute.target,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n pluginOptions,\n // TODO: remove\n autoPopulate,\n };\n }\n\n return attribute;\n};\n\n// TODO: move to schema builder\nexport const replaceTemporaryUIDs = (uidMap: any) => (schema: any) => {\n return {\n ...schema,\n attributes: Object.keys(schema.attributes).reduce((acc: any, key) => {\n const attr = schema.attributes[key];\n if (attr.type === 'component') {\n if (_.has(uidMap, attr.component)) {\n acc[key] = {\n ...attr,\n component: uidMap[attr.component],\n };\n\n return acc;\n }\n\n if (!_.has(strapi.components, attr.component)) {\n throw new ApplicationError('component.notFound');\n }\n }\n\n if (\n attr.type === 'dynamiczone' &&\n _.intersection(attr.components, Object.keys(uidMap)).length > 0\n ) {\n acc[key] = {\n ...attr,\n components: attr.components.map((value: any) => {\n if (_.has(uidMap, value)) return uidMap[value];\n\n if (!_.has(strapi.components, value)) {\n throw new ApplicationError('component.notFound');\n }\n\n return value;\n }),\n };\n\n return acc;\n }\n\n acc[key] = attr;\n return acc;\n }, {}),\n };\n};\n"],"names":["ApplicationError","errors","isConfigurable","attribute","_","get","isRelation","type","formatAttributes","model","getVisibleAttributes","utils","contentTypes","reduce","acc","key","formatAttribute","attributes","configurable","required","autoPopulate","pluginOptions","multiple","undefined","private","allowedTypes","target","targetAttribute","inversedBy","mappedBy","replaceTemporaryUIDs","uidMap","schema","Object","keys","attr","has","component","strapi","components","intersection","length","map","value"],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sources":["../../../server/src/utils/attributes.ts"],"sourcesContent":["import _ from 'lodash';\nimport utils, { errors } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst { ApplicationError } = errors;\n\nexport const isConfigurable = (attribute: Schema.Attribute.AnyAttribute) =>\n _.get(attribute, 'configurable', true);\n\nexport const isRelation = (attribute: Schema.Attribute.AnyAttribute) =>\n attribute.type === 'relation';\n\n/**\n * Formats a component's attributes\n */\nexport const formatAttributes = (model: any) => {\n const { getVisibleAttributes } = utils.contentTypes;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).reduce((acc: any, key) => {\n acc[key] = formatAttribute(model.attributes[key]);\n return acc;\n }, {});\n};\n\n/**\n * Formats a component attribute\n */\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n const { configurable, required, autoPopulate, pluginOptions } = attribute;\n\n if (attribute.type === 'media') {\n return {\n type: 'media',\n multiple: !!attribute.multiple,\n required: !!required,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n allowedTypes: attribute.allowedTypes,\n pluginOptions,\n };\n }\n\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n type: 'relation',\n target: attribute.target,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n pluginOptions,\n // TODO: remove\n autoPopulate,\n };\n }\n\n return attribute;\n};\n\n// TODO: move to schema builder\nexport const replaceTemporaryUIDs = (uidMap: any) => (schema: any) => {\n return {\n ...schema,\n attributes: Object.keys(schema.attributes).reduce((acc: any, key) => {\n const attr = schema.attributes[key];\n if (attr.type === 'component') {\n if (_.has(uidMap, attr.component)) {\n acc[key] = {\n ...attr,\n component: uidMap[attr.component],\n };\n\n return acc;\n }\n\n if (!_.has(strapi.components, attr.component)) {\n throw new ApplicationError('component.notFound');\n }\n }\n\n if (\n attr.type === 'dynamiczone' &&\n _.intersection(attr.components, Object.keys(uidMap)).length > 0\n ) {\n acc[key] = {\n ...attr,\n components: attr.components.map((value: any) => {\n if (_.has(uidMap, value)) return uidMap[value];\n\n if (!_.has(strapi.components, value)) {\n throw new ApplicationError('component.notFound');\n }\n\n return value;\n }),\n };\n\n return acc;\n }\n\n acc[key] = attr;\n return acc;\n }, {}),\n };\n};\n"],"names":["ApplicationError","errors","isConfigurable","attribute","_","get","isRelation","type","formatAttributes","model","getVisibleAttributes","utils","contentTypes","reduce","acc","key","formatAttribute","attributes","configurable","required","autoPopulate","pluginOptions","multiple","undefined","private","allowedTypes","target","targetAttribute","inversedBy","mappedBy","replaceTemporaryUIDs","uidMap","schema","Object","keys","attr","has","component","strapi","components","intersection","length","map","value"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/content-type-builder",
3
- "version": "5.48.1",
3
+ "version": "5.50.0",
4
4
  "description": "Create and manage content types",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -62,6 +62,8 @@
62
62
  "test:ts:front": "run -T tsc -p admin/tsconfig.json",
63
63
  "test:unit": "run -T jest",
64
64
  "test:unit:watch": "run -T jest --watch",
65
+ "test:unit:vitest": "vitest run",
66
+ "test:unit:vitest:watch": "vitest --watch",
65
67
  "watch": "run -T rollup -c -w"
66
68
  },
67
69
  "dependencies": {
@@ -72,10 +74,10 @@
72
74
  "@dnd-kit/utilities": "3.2.2",
73
75
  "@reduxjs/toolkit": "1.9.7",
74
76
  "@sindresorhus/slugify": "1.1.0",
75
- "@strapi/design-system": "2.2.0",
76
- "@strapi/generators": "5.48.1",
77
- "@strapi/icons": "2.2.0",
78
- "@strapi/utils": "5.48.1",
77
+ "@strapi/design-system": "2.2.1",
78
+ "@strapi/generators": "5.50.0",
79
+ "@strapi/icons": "2.2.1",
80
+ "@strapi/utils": "5.50.0",
79
81
  "ai": "5.0.52",
80
82
  "date-fns": "2.30.0",
81
83
  "fs-extra": "11.3.4",
@@ -93,8 +95,8 @@
93
95
  "zod": "3.25.67"
94
96
  },
95
97
  "devDependencies": {
96
- "@strapi/admin": "5.48.1",
97
- "@strapi/types": "5.48.1",
98
+ "@strapi/admin": "5.50.0",
99
+ "@strapi/types": "5.50.0",
98
100
  "@testing-library/dom": "10.4.1",
99
101
  "@testing-library/react": "16.3.2",
100
102
  "@testing-library/user-event": "14.6.1",
@@ -107,7 +109,9 @@
107
109
  "react-dom": "18.3.1",
108
110
  "react-query": "3.39.3",
109
111
  "react-router-dom": "6.30.3",
110
- "styled-components": "6.4.1"
112
+ "styled-components": "6.4.1",
113
+ "vitest": "catalog:",
114
+ "vitest-config": "5.50.0"
111
115
  },
112
116
  "peerDependencies": {
113
117
  "@strapi/admin": "^5.0.0",