{"version":3,"file":"forms.mjs","sources":["../../../../../admin/src/pages/Providers/utils/forms.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils';\n\nconst callbackLabel = {\n  id: getTrad('PopUpForm.Providers.redirectURL.front-end.label'),\n  defaultMessage: 'The redirect URL to your front-end app',\n};\nconst callbackPlaceholder = {\n  id: 'http://www.client-app.com',\n  defaultMessage: 'http://www.client-app.com',\n};\nconst enabledDescription = {\n  id: getTrad('PopUpForm.Providers.enabled.description'),\n  defaultMessage: \"If disabled, users won't be able to use this provider.\",\n};\nconst enabledLabel = {\n  id: getTrad('PopUpForm.Providers.enabled.label'),\n  defaultMessage: 'Enable',\n};\nconst keyLabel = { id: getTrad('PopUpForm.Providers.key.label'), defaultMessage: 'Client ID' };\nconst hintLabel = {\n  id: getTrad('PopUpForm.Providers.redirectURL.label'),\n  defaultMessage: 'The redirect URL to add in your {provider} application configurations',\n};\nconst textPlaceholder = {\n  id: getTrad('PopUpForm.Providers.key.placeholder'),\n  defaultMessage: 'TEXT',\n};\n\nconst secretLabel = {\n  id: getTrad('PopUpForm.Providers.secret.label'),\n  defaultMessage: 'Client Secret',\n};\n\nconst CALLBACK_REGEX = /^$|^[a-z][a-z0-9+.-]*:\\/\\/[^\\s/$.?#](?:[^\\s]*[^\\s/$.?#])?$/i;\nconst SUBDOMAIN_REGEX = /^(([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+)(:\\d+)?(\\/\\S*)?$/i;\n\nconst forms = {\n  email: {\n    form: [\n      [\n        {\n          intlLabel: enabledLabel,\n          name: 'enabled',\n          type: 'bool',\n          description: enabledDescription,\n          size: 6,\n          // TODO check if still needed\n          // validations: {\n          //   required: true,\n          // },\n        },\n      ],\n    ],\n    schema: yup.object().shape({\n      enabled: yup.bool().required(translatedErrors.required.id),\n    }),\n  },\n  providers: {\n    form: [\n      [\n        {\n          intlLabel: enabledLabel,\n          name: 'enabled',\n          type: 'bool',\n          description: enabledDescription,\n          size: 6,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: keyLabel,\n          name: 'key',\n          type: 'text',\n          placeholder: textPlaceholder,\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: secretLabel,\n          name: 'secret',\n          type: 'text',\n          placeholder: textPlaceholder,\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: callbackLabel,\n          placeholder: callbackPlaceholder,\n          name: 'callback',\n          type: 'text',\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: hintLabel,\n          name: 'noName',\n          type: 'text',\n          validations: {},\n          size: 12,\n          disabled: true,\n        },\n      ],\n    ],\n    schema: yup.object().shape({\n      enabled: yup.bool().required(translatedErrors.required.id),\n      key: yup.string().when('enabled', {\n        is: true,\n        then: yup.string().required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n      secret: yup.string().when('enabled', {\n        is: true,\n        then: yup.string().required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n      callback: yup.string().when('enabled', {\n        is: true,\n        then: yup\n          .string()\n          .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n          .required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n    }),\n  },\n  providersWithSubdomain: {\n    form: [\n      [\n        {\n          intlLabel: enabledLabel,\n          name: 'enabled',\n          type: 'bool',\n          description: enabledDescription,\n          size: 6,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: keyLabel,\n          name: 'key',\n          type: 'text',\n          placeholder: textPlaceholder,\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: secretLabel,\n          name: 'secret',\n          type: 'text',\n          placeholder: textPlaceholder,\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: {\n            id: getTrad({ id: 'PopUpForm.Providers.jwksurl.label' }),\n            defaultMessage: 'JWKS URL',\n          },\n          name: 'jwksurl',\n          type: 'text',\n          placeholder: textPlaceholder,\n          size: 12,\n          validations: {\n            required: false,\n          },\n        },\n      ],\n\n      [\n        {\n          intlLabel: {\n            id: getTrad('PopUpForm.Providers.subdomain.label'),\n            defaultMessage: 'Host URI (Subdomain)',\n          },\n          name: 'subdomain',\n          type: 'text',\n          placeholder: {\n            id: getTrad('PopUpForm.Providers.subdomain.placeholder'),\n            defaultMessage: 'my.subdomain.com',\n          },\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: callbackLabel,\n          placeholder: callbackPlaceholder,\n          name: 'callback',\n          type: 'text',\n          size: 12,\n          validations: {\n            required: true,\n          },\n        },\n      ],\n      [\n        {\n          intlLabel: hintLabel,\n          name: 'noName',\n          type: 'text',\n          validations: {},\n          size: 12,\n          disabled: true,\n        },\n      ],\n    ],\n    schema: yup.object().shape({\n      enabled: yup.bool().required(translatedErrors.required.id),\n      key: yup.string().when('enabled', {\n        is: true,\n        then: yup.string().required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n      secret: yup.string().when('enabled', {\n        is: true,\n        then: yup.string().required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n      subdomain: yup.string().when('enabled', {\n        is: true,\n        then: yup\n          .string()\n          .matches(SUBDOMAIN_REGEX, translatedErrors.regex.id)\n          .required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n      callback: yup.string().when('enabled', {\n        is: true,\n        then: yup\n          .string()\n          .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n          .required(translatedErrors.required.id),\n        otherwise: yup.string(),\n      }),\n    }),\n  },\n};\n\nexport default forms;\n"],"names":["callbackLabel","id","getTrad","defaultMessage","callbackPlaceholder","enabledDescription","enabledLabel","keyLabel","hintLabel","textPlaceholder","secretLabel","CALLBACK_REGEX","SUBDOMAIN_REGEX","forms","email","form","intlLabel","name","type","description","size","schema","yup","object","shape","enabled","bool","required","translatedErrors","providers","validations","placeholder","disabled","key","string","when","is","then","otherwise","secret","callback","matches","regex","providersWithSubdomain","subdomain"],"mappings":"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"}