@webiny/app-headless-cms-common 6.0.0-rc.1 → 6.0.0-rc.3

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 (61) hide show
  1. package/Fields/FieldRulesProvider.d.ts +9 -0
  2. package/Fields/FieldRulesProvider.js +20 -0
  3. package/Fields/FieldRulesProvider.js.map +1 -0
  4. package/Fields/Fields.js +127 -14
  5. package/Fields/Fields.js.map +1 -1
  6. package/Fields/LayoutDescriptorCell.d.ts +12 -0
  7. package/Fields/LayoutDescriptorCell.js +47 -0
  8. package/Fields/LayoutDescriptorCell.js.map +1 -0
  9. package/Fields/evaluateExpression.d.ts +23 -0
  10. package/Fields/evaluateExpression.js +102 -0
  11. package/Fields/evaluateExpression.js.map +1 -0
  12. package/Fields/fieldOptions.d.ts +36 -0
  13. package/Fields/fieldOptions.js +113 -0
  14. package/Fields/fieldOptions.js.map +1 -0
  15. package/Fields/index.d.ts +5 -0
  16. package/Fields/index.js +5 -0
  17. package/Fields/index.js.map +1 -1
  18. package/Fields/layoutFieldRenderers/AlertFieldRenderer.d.ts +7 -0
  19. package/Fields/layoutFieldRenderers/AlertFieldRenderer.js +13 -0
  20. package/Fields/layoutFieldRenderers/AlertFieldRenderer.js.map +1 -0
  21. package/Fields/layoutFieldRenderers/SeparatorFieldRenderer.d.ts +7 -0
  22. package/Fields/layoutFieldRenderers/SeparatorFieldRenderer.js +18 -0
  23. package/Fields/layoutFieldRenderers/SeparatorFieldRenderer.js.map +1 -0
  24. package/Fields/layoutFieldRenderers/TabsFieldRenderer.d.ts +12 -0
  25. package/Fields/layoutFieldRenderers/TabsFieldRenderer.js +72 -0
  26. package/Fields/layoutFieldRenderers/TabsFieldRenderer.js.map +1 -0
  27. package/Fields/operatorOptions.d.ts +10 -0
  28. package/Fields/operatorOptions.js +92 -0
  29. package/Fields/operatorOptions.js.map +1 -0
  30. package/Fields/useBind.d.ts +1 -0
  31. package/Fields/useBind.js +7 -3
  32. package/Fields/useBind.js.map +1 -1
  33. package/Fields/useFieldRules.d.ts +32 -0
  34. package/Fields/useFieldRules.js +153 -0
  35. package/Fields/useFieldRules.js.map +1 -0
  36. package/ModelFieldProvider/CanEditField.d.ts +5 -0
  37. package/ModelFieldProvider/CanEditField.js +13 -0
  38. package/ModelFieldProvider/CanEditField.js.map +1 -0
  39. package/ModelFieldProvider/ModelFieldContext.d.ts +1 -0
  40. package/ModelFieldProvider/index.d.ts +1 -0
  41. package/ModelFieldProvider/index.js +1 -0
  42. package/ModelFieldProvider/index.js.map +1 -1
  43. package/ModelFieldProvider/useModelField.js +1 -1
  44. package/ModelFieldProvider/useModelField.js.map +1 -1
  45. package/entries.graphql.js +3 -0
  46. package/entries.graphql.js.map +1 -1
  47. package/exports/admin/cms/model.d.ts +2 -0
  48. package/exports/admin/cms/model.js +3 -0
  49. package/exports/admin/cms/model.js.map +1 -0
  50. package/exports/admin/cms.d.ts +1 -1
  51. package/exports/admin/cms.js.map +1 -1
  52. package/normalizeIcon.d.ts +3 -0
  53. package/normalizeIcon.js +10 -0
  54. package/normalizeIcon.js.map +1 -0
  55. package/package.json +12 -11
  56. package/types/index.d.ts +66 -3
  57. package/types/index.js +51 -1
  58. package/types/index.js.map +1 -1
  59. package/types/model.d.ts +53 -2
  60. package/types/model.js +27 -1
  61. package/types/model.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import type { Validator } from \"@webiny/validation/types.js\";\nimport type { CmsModelFieldValidator } from \"~/types/validation.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEditorFieldPredefinedValues,\n CmsModelFieldRendererPlugin\n} from \"~/types/index.js\";\nimport type { CmsIdentity } from \"~/types/shared.js\";\nimport type React from \"react\";\n\n/**\n * @deprecated Use `CmsModelField` instead.\n */\nexport type CmsEditorField<T = unknown> = CmsModelField<T>;\n\nexport interface CmsModelFieldSettings<T = unknown> {\n defaultValue?: string | boolean | number | null | undefined;\n defaultSetValue?: string;\n type?: string;\n fields?: CmsModelField<T>[];\n layout?: string[][];\n models?: Pick<CmsModel, \"modelId\">[];\n templates?: CmsDynamicZoneTemplate[];\n imagesOnly?: boolean;\n [key: string]: any;\n}\n\nexport type CmsModelField<T = unknown> = T & {\n id: string;\n type: string;\n fieldId: CmsEditorFieldId;\n storageId?: string;\n label: string;\n help?: string | React.ReactNode;\n description?: string | React.ReactNode;\n note?: string | React.ReactNode;\n placeholder?: string;\n validation?: (CmsModelFieldValidator | Validator)[];\n listValidation?: CmsModelFieldValidator[];\n list?: boolean;\n predefinedValues?: CmsEditorFieldPredefinedValues;\n settings?: CmsModelFieldSettings<T>;\n renderer:\n | {\n name: string;\n settings?: Record<string, any>;\n }\n /**\n * Use this only for programmatic assignment of renderers.\n * Since functions cannot be serialized, this can only work via code.\n */\n | CmsModelFieldRendererPlugin[\"renderer\"][\"render\"];\n tags?: string[];\n};\n\nexport type CmsEditorFieldId = string;\nexport type CmsEditorFieldsLayout = CmsEditorFieldId[][];\n\n/**\n * @category GraphQL\n * @category Model\n */\nexport type CmsEditorContentModel = CmsModel;\n\n/**\n * @category GraphQL\n * @category Group\n */\nexport interface CmsGroup {\n id: string;\n name: string;\n slug: string;\n icon: string;\n description?: string;\n contentModels: CmsModel[];\n createdBy: CmsIdentity;\n /**\n * Tells if this group is a plugin one (cannot be changed/deleted)\n */\n plugin?: boolean;\n}\n\nexport interface CmsModel {\n id: string;\n group: string;\n description?: string;\n version: number;\n layout?: CmsEditorFieldsLayout;\n fields: CmsModelField[];\n icon: string;\n name: string;\n modelId: string;\n singularApiName: string;\n pluralApiName: string;\n titleFieldId: string | null;\n descriptionFieldId: string | null;\n imageFieldId: string | null;\n status: string;\n savedOn: string;\n meta: any;\n createdBy: CmsIdentity;\n tags: string[];\n /**\n * If model is a plugin one (it cannot be changed/deleted)\n */\n plugin?: boolean;\n /**\n * Is model currently being deleted?\n */\n isBeingDeleted?: boolean;\n settings: {\n [key: string]: any;\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["isLayoutDescriptor","cell","type"],"sources":["model.ts"],"sourcesContent":["import type { Validator } from \"@webiny/validation/types.js\";\nimport type { CmsModelFieldValidator } from \"~/types/validation.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEditorFieldPredefinedValues,\n CmsModelFieldRendererPlugin\n} from \"~/types/index.js\";\nimport type { CmsIdentity } from \"~/types/shared.js\";\nimport type React from \"react\";\n\n/**\n * @deprecated Use `CmsModelField` instead.\n */\nexport type CmsEditorField<T = unknown> = CmsModelField<T>;\n\nexport interface CmsModelFieldSettings<T = unknown> {\n defaultValue?: string | boolean | number | null | undefined;\n defaultSetValue?: string;\n type?: string;\n fields?: CmsModelField<T>[];\n layout?: CmsEditorFieldsLayout;\n models?: Pick<CmsModel, \"modelId\">[];\n templates?: CmsDynamicZoneTemplate[];\n imagesOnly?: boolean;\n [key: string]: any;\n}\n\nexport type FieldRuleAction = \"hide\" | \"disable\" | string;\n\nexport interface FieldRule {\n type: \"accessControl\" | \"condition\";\n target: string;\n operator: string;\n value: string | number | boolean | null;\n action: FieldRuleAction;\n}\n\nexport type CmsModelField<T = unknown> = T & {\n id: string;\n type: string;\n fieldId: CmsEditorFieldId;\n storageId?: string;\n label: string;\n help?: string | React.ReactNode;\n description?: string | React.ReactNode;\n note?: string | React.ReactNode;\n placeholder?: string;\n validation?: (CmsModelFieldValidator | Validator)[];\n listValidation?: CmsModelFieldValidator[];\n list?: boolean;\n predefinedValues?: CmsEditorFieldPredefinedValues;\n settings?: CmsModelFieldSettings<T>;\n renderer:\n | {\n name: string;\n settings?: Record<string, any>;\n }\n /**\n * Use this only for programmatic assignment of renderers.\n * Since functions cannot be serialized, this can only work via code.\n */\n | CmsModelFieldRendererPlugin[\"renderer\"][\"render\"];\n tags?: string[];\n rules?: FieldRule[];\n};\n\nexport type CmsEditorFieldId = string;\n\nexport interface CmsBaseLayoutDescriptor {\n id: string;\n type: string;\n rules?: FieldRule[];\n}\n\nexport interface CmsSeparatorLayoutDescriptor extends CmsBaseLayoutDescriptor {\n type: \"separator\";\n label: string;\n description?: string;\n}\n\nexport interface CmsAlertLayoutDescriptor extends CmsBaseLayoutDescriptor {\n type: \"alert\";\n label: string;\n alertType: \"info\" | \"success\" | \"warning\" | \"danger\";\n}\n\nexport interface CmsTabLayoutTab {\n id: string;\n label: string;\n icon?: string;\n layout: CmsEditorFieldsLayout;\n rules?: FieldRule[];\n}\n\nexport interface CmsTabLayoutDescriptor extends CmsBaseLayoutDescriptor {\n type: \"tabs\";\n label: string;\n description?: string | null;\n help?: string | null;\n tabs: CmsTabLayoutTab[];\n}\n\nexport type CmsLayoutDescriptor =\n | CmsSeparatorLayoutDescriptor\n | CmsAlertLayoutDescriptor\n | CmsTabLayoutDescriptor\n | CmsBaseLayoutDescriptor;\n\nexport type CmsEditorLayoutCell = CmsEditorFieldId | CmsLayoutDescriptor;\nexport type CmsEditorFieldsLayout = CmsEditorLayoutCell[][];\n\n/**\n * Distinguish layout descriptors from field IDs (strings) and CmsModelField objects.\n *\n * In raw layout data (`CmsEditorFieldsLayout`), cells are either strings (field IDs)\n * or layout descriptor objects — the `typeof` check handles that.\n *\n * In resolved layout data (after `getFieldsInLayout`), cells are either `CmsModelField`\n * or layout descriptor objects — both have `{ id, type }`, but only `CmsModelField`\n * has `fieldId`, so we use its absence as the discriminator.\n */\nexport function isLayoutDescriptor(cell: unknown): cell is CmsLayoutDescriptor {\n return (\n typeof cell === \"object\" &&\n cell !== null &&\n \"type\" in cell &&\n typeof (cell as any).type === \"string\" &&\n !(\"fieldId\" in cell)\n );\n}\n\n/**\n * @category GraphQL\n * @category Model\n */\nexport type CmsEditorContentModel = CmsModel;\n\n/**\n * @category GraphQL\n * @category Group\n */\nexport interface CmsGroup {\n id: string;\n name: string;\n slug: string;\n icon: string;\n description?: string;\n contentModels: CmsModel[];\n createdBy: CmsIdentity;\n /**\n * Tells if this group is a plugin one (cannot be changed/deleted)\n */\n plugin?: boolean;\n}\n\nexport interface CmsModel {\n id: string;\n group: string;\n description?: string;\n version: number;\n layout?: CmsEditorFieldsLayout;\n fields: CmsModelField[];\n icon: string;\n name: string;\n modelId: string;\n singularApiName: string;\n pluralApiName: string;\n titleFieldId: string | null;\n descriptionFieldId: string | null;\n imageFieldId: string | null;\n status: string;\n savedOn: string;\n meta: any;\n createdBy: CmsIdentity;\n tags: string[];\n /**\n * If model is a plugin one (it cannot be changed/deleted)\n */\n plugin?: boolean;\n /**\n * Is model currently being deleted?\n */\n isBeingDeleted?: boolean;\n settings: {\n [key: string]: any;\n };\n}\n"],"mappings":"AAUA;AACA;AACA;;AAmGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,kBAAkBA,CAACC,IAAa,EAA+B;EAC3E,OACI,OAAOA,IAAI,KAAK,QAAQ,IACxBA,IAAI,KAAK,IAAI,IACb,MAAM,IAAIA,IAAI,IACd,OAAQA,IAAI,CAASC,IAAI,KAAK,QAAQ,IACtC,EAAE,SAAS,IAAID,IAAI,CAAC;AAE5B;;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA","ignoreList":[]}