{"version":3,"file":"talenra-ngx-base-user-input-common.mjs","sources":["../../../projects/ngx-base/user-input-common/src/validators/validators.ts","../../../projects/ngx-base/user-input-common/talenra-ngx-base-user-input-common.ts"],"sourcesContent":["import { ValidatorFn } from '@angular/forms';\nimport { validateStartDateIsBeforeEndDate, validateYearIsEqualOrGreater } from '@talenra/ngx-base/date';\nimport { deprecationWarning } from '@talenra/ngx-base/dev-kit';\n\n/**\n * Collects custom form-validators which can be used by a reactive form.\n *\n * ```typescript\n * form: FormGroup = new FormGroup({\n *   date: new FormControl(null, [CustomValidators.validPeriodStartYear(2023)])\n * });\n * ```\n *\n * ### Import\n *\n * ```typescript\n * import { CustomValidators } from '@talenra/ngx-base/user-input-common';\n * ```\n */\nexport class CustomValidators {\n  /**\n   * Checks if a date's year is greater than or equal the threshold's year.\n   *\n   * @param threshold The minimum year\n   *\n   * @returns Returns a function which in case of an error it returns `{ invalidPeriodStartYear: true }` apart from that `null`.\n   */\n  static validPeriodStartYear(threshold: number): ValidatorFn {\n    deprecationWarning({\n      submodule: 'user-input-common',\n      className: 'CustomValidators',\n      member: 'validPeriodStartYear',\n      instructions:\n        'Import the validator function `validateYearIsEqualOrGreater` from `@talenra/ngx-base/date` instead.',\n    });\n    return validateYearIsEqualOrGreater(threshold);\n  }\n\n  /**\n   * Checks if the start date is before the end date.\n   *\n   * @param startDateId Name of the form-control\n   * @param endDateId Name of the form-control\n   * @param allowSameDay Allows the end date to be on the same day as the start date, default is 'false'\n   *\n   * @returns Returns a function which in case of an error it returns `{ invalidDateOrder: true }` apart from that `null`.\n   */\n  static startDateBeforeEndDate(startDateId: string, endDateId: string, allowSameDay: boolean = false): ValidatorFn {\n    deprecationWarning({\n      submodule: 'user-input-common',\n      className: 'CustomValidators',\n      member: 'startDateBeforeEndDate',\n      instructions:\n        'Import the validator function `validateStartDateIsBeforeEndDate` from `@talenra/ngx-base/date` instead.',\n    });\n    return validateStartDateIsBeforeEndDate(startDateId, endDateId, allowSameDay);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;AAcG;MACU,gBAAgB,CAAA;AAC3B;;;;;;AAMG;IACH,OAAO,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,kBAAkB,CAAC;AACjB,YAAA,SAAS,EAAE,mBAAmB;AAC9B,YAAA,SAAS,EAAE,kBAAkB;AAC7B,YAAA,MAAM,EAAE,sBAAsB;AAC9B,YAAA,YAAY,EACV,qGAAqG;AACxG,SAAA,CAAC;AACF,QAAA,OAAO,4BAA4B,CAAC,SAAS,CAAC;;AAGhD;;;;;;;;AAQG;IACH,OAAO,sBAAsB,CAAC,WAAmB,EAAE,SAAiB,EAAE,eAAwB,KAAK,EAAA;AACjG,QAAA,kBAAkB,CAAC;AACjB,YAAA,SAAS,EAAE,mBAAmB;AAC9B,YAAA,SAAS,EAAE,kBAAkB;AAC7B,YAAA,MAAM,EAAE,wBAAwB;AAChC,YAAA,YAAY,EACV,yGAAyG;AAC5G,SAAA,CAAC;QACF,OAAO,gCAAgC,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC;;AAEhF;;ACzDD;;AAEG;;;;"}