{"version":3,"file":"ng-met-antd-core.mjs","sources":["../../../../packages/components/core/src/lib/time/date-adapter.ts","../../../../packages/components/core/src/lib/time/candy-date.ts","../../../../packages/components/core/src/lib/time/time.ts","../../../../packages/components/core/src/lib/time/time-parser.ts","../../../../packages/components/core/src/lib/time/index.ts","../../../../packages/components/core/src/ng-met-antd-core.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { forwardRef, Injectable } from '@angular/core';\n\nimport {\n  addDays,\n  addMonths,\n  addYears,\n  differenceInCalendarDays,\n  differenceInCalendarMonths,\n  differenceInCalendarYears,\n  differenceInHours,\n  differenceInMinutes,\n  differenceInSeconds,\n  format,\n  getISOWeek,\n  isFirstDayOfMonth,\n  isLastDayOfMonth,\n  isSameDay,\n  isSameHour,\n  isSameMinute,\n  isSameMonth,\n  isSameSecond,\n  isSameYear,\n  isToday,\n  isValid,\n  setDay,\n  setMonth,\n  setYear,\n  startOfMonth,\n  startOfWeek,\n  parse as fnsParse,\n  Locale,\n} from 'date-fns';\n\nexport type DateLocale = Locale;\n\n// @ts-ignore\nimport { CandyDateMode, WeekDayIndex } from './candy-date';\n\nexport type DateMode = CandyDateMode;\n\n@Injectable({\n  providedIn: 'root',\n  useExisting: forwardRef(() => DateFnsDateAdapter),\n})\nexport abstract class NzDateAdapter<D = Date> {\n  abstract calendarStartOfWeek(\n    date: D,\n    options?: { weekStartsOn: WeekDayIndex | undefined }\n  ): D;\n\n  abstract calendarStartOfMonth(date: D): D;\n\n  abstract deserialize(input: D | Date | string | number | never): D;\n\n  abstract parse(\n    text: string,\n    formatStr: string,\n    options?: { locale: DateLocale; weekStartsOn: number }\n  ): D;\n\n  abstract toNativeDate(input: D): Date;\n\n  abstract today(): D;\n\n  abstract getYear(date: D): number;\n\n  abstract getMonth(date: D): number;\n\n  abstract getDay(date: D): number;\n\n  abstract getTime(date: D): number;\n\n  abstract getDate(date: D): number;\n\n  abstract getHours(date: D): number;\n\n  abstract getMinutes(date: D): number;\n\n  abstract getSeconds(date: D): number;\n\n  abstract getMilliseconds(date: D): number;\n\n  abstract getISOWeek(date: Date): number;\n\n  abstract clone(date: D): D;\n\n  abstract setHms(date: D, hour: number, minute: number, second: number): D;\n\n  abstract setYear(date: D, year: number): D;\n\n  abstract addYears(date: D, amount: number): D;\n\n  abstract setMonth(date: D, amount: number): D;\n\n  abstract addMonths(date: D, amount: number): D;\n\n  abstract setDay(\n    date: D,\n    day: number,\n    options?: { weekStartsOn: WeekDayIndex | undefined }\n  ): D;\n\n  abstract setDate(date: D, amount: number): D;\n\n  abstract addDays(date: D, amount: number): D;\n\n  abstract isSame(first: D, second: D, mode: DateMode): boolean;\n\n  abstract isBefore(first: D, second: D, mode: DateMode): boolean;\n\n  abstract isToday(date: D): boolean;\n\n  abstract isValid(date: D): boolean;\n\n  abstract isFirstDayOfMonth(date: D): boolean;\n\n  abstract isLastDayOfMonth(date: D): boolean;\n\n  abstract format(\n    date: Date,\n    displayFormat: string,\n    options?: { locale: DateLocale }\n  ): string;\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DateFnsDateAdapter extends NzDateAdapter<Date> {\n  today(): Date {\n    return new Date();\n  }\n\n  deserialize(input: Date | string | number | never): Date {\n    if (\n      input instanceof Date ||\n      typeof input === 'string' ||\n      typeof input === 'number'\n    ) {\n      return new Date(input);\n    }\n\n    throw new Error(\n      'The input date type is not supported (\"Date\" is now recommended)'\n    );\n  }\n\n  parse(\n    text: string,\n    formatStr: string,\n    options: { locale: DateLocale; weekStartsOn: WeekDayIndex }\n  ): Date {\n    return fnsParse(text, formatStr, new Date(), {\n      locale: options?.locale,\n      weekStartsOn: options?.weekStartsOn,\n    });\n  }\n\n  toNativeDate(input: Date): Date {\n    return input;\n  }\n\n  calendarStartOfWeek(\n    date: Date,\n    options?: { weekStartsOn: WeekDayIndex | undefined }\n  ): Date {\n    return startOfWeek(date, options);\n  }\n\n  calendarStartOfMonth(date: Date): Date {\n    return startOfMonth(date);\n  }\n\n  getYear(date: Date): number {\n    return date.getFullYear();\n  }\n\n  getMonth(date: Date): number {\n    return date.getMonth();\n  }\n\n  getDay(date: Date): number {\n    return date.getDay();\n  }\n\n  getTime(date: Date): number {\n    return date.getTime();\n  }\n\n  getDate(date: Date): number {\n    return date.getDate();\n  }\n\n  getHours(date: Date): number {\n    return date.getHours();\n  }\n\n  getMinutes(date: Date): number {\n    return date.getMinutes();\n  }\n\n  getSeconds(date: Date): number {\n    return date.getSeconds();\n  }\n\n  getMilliseconds(date: Date): number {\n    return date.getMilliseconds();\n  }\n\n  getISOWeek(date: Date): number {\n    return getISOWeek(date);\n  }\n\n  clone(date: Date): Date {\n    return new Date(date);\n  }\n\n  setHms(date: Date, hour: number, minute: number, second: number): Date {\n    return new Date(date.setHours(hour, minute, second));\n  }\n\n  setYear(date: Date, year: number): Date {\n    return setYear(date, year);\n  }\n\n  addYears(date: Date, amount: number): Date {\n    return addYears(date, amount);\n  }\n\n  addDays(date: Date, amount: number): Date {\n    return addDays(date, amount);\n  }\n\n  addMonths(date: Date, amount: number): Date {\n    return addMonths(date, amount);\n  }\n\n  setDate(date: Date, amount: number): Date {\n    const newDate = new Date(date);\n    return new Date(newDate.setDate(amount));\n  }\n\n  setDay(\n    date: Date,\n    day: number,\n    options?: { weekStartsOn: WeekDayIndex | undefined }\n  ): Date {\n    return setDay(date, day, options);\n  }\n\n  setMonth(date: Date, month: number): Date {\n    return setMonth(date, month);\n  }\n\n  isSame(first: Date, second: Date, mode: DateMode): boolean {\n    let fn;\n    switch (mode) {\n      case 'decade':\n        fn = (pre: Date, next: Date) =>\n          Math.abs(pre.getFullYear() - next.getFullYear()) < 11;\n        break;\n      case 'year':\n        fn = isSameYear;\n        break;\n      case 'month':\n        fn = isSameMonth;\n        break;\n      case 'day':\n        fn = isSameDay;\n        break;\n      case 'hour':\n        fn = isSameHour;\n        break;\n      case 'minute':\n        fn = isSameMinute;\n        break;\n      case 'second':\n        fn = isSameSecond;\n        break;\n      default:\n        fn = isSameDay;\n        break;\n    }\n    return fn(first, second);\n  }\n\n  isBefore(first: Date, second: Date, mode: CandyDateMode): boolean {\n    let fn;\n    switch (mode) {\n      case 'year':\n        fn = differenceInCalendarYears;\n        break;\n      case 'month':\n        fn = differenceInCalendarMonths;\n        break;\n      case 'day':\n        fn = differenceInCalendarDays;\n        break;\n      case 'hour':\n        fn = differenceInHours;\n        break;\n      case 'minute':\n        fn = differenceInMinutes;\n        break;\n      case 'second':\n        fn = differenceInSeconds;\n        break;\n      default:\n        fn = differenceInCalendarDays;\n        break;\n    }\n    return fn(first, second) < 0;\n  }\n\n  isToday(date: Date): boolean {\n    return isToday(date);\n  }\n\n  isValid(date: Date): boolean {\n    return isValid(date);\n  }\n\n  isFirstDayOfMonth(date: Date): boolean {\n    return isFirstDayOfMonth(date);\n  }\n\n  isLastDayOfMonth(date: Date): boolean {\n    return isLastDayOfMonth(date);\n  }\n\n  format(\n    date: Date,\n    displayFormat: string,\n    options?: { locale: DateLocale }\n  ): string {\n    return format(date, displayFormat, options);\n  }\n}\n\nexport function isCustomAdapter(adapter: NzDateAdapter): boolean {\n  return !(adapter instanceof DateFnsDateAdapter);\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Injectable } from '@angular/core';\n\nimport { IndexableObject } from 'ng-zorro-antd/core/types';\n\n// @ts-ignore\nimport { NzDateAdapter } from './date-adapter';\n\nexport type CandyDateMode =\n  | 'decade'\n  | 'year'\n  | 'month'\n  | 'day'\n  | 'hour'\n  | 'minute'\n  | 'second';\nexport type NormalizedMode = 'decade' | 'year' | 'month';\nexport type WeekDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\nexport type CandyDateType<D = Date> = CandyDate<D> | null;\nexport type SingleValue = CandyDate | null;\nexport type CompatibleValue = SingleValue | SingleValue[];\nexport type CandyDateFac = (date?: Date | string | number) => CandyDate;\n\nexport function wrongSortOrder(rangeValue: SingleValue[]): boolean {\n  const [start, end] = rangeValue;\n  return !!start && !!end && end.isBeforeDay(start);\n}\n\nexport function normalizeRangeValue(\n  adapter: NzDateAdapter,\n  value: SingleValue[],\n  hasTimePicker: boolean,\n  type: NormalizedMode = 'month',\n  activePart: 'left' | 'right' = 'left'\n): CandyDate[] {\n  const [start, end] = value;\n  let newStart: CandyDate = start || new CandyDate(adapter);\n  let newEnd: CandyDate =\n    end || (hasTimePicker ? newStart : newStart.add(1, type));\n\n  if (start && !end) {\n    newStart = start;\n    newEnd = hasTimePicker ? start : start.add(1, type);\n  } else if (!start && end) {\n    newStart = hasTimePicker ? end : end.add(-1, type);\n    newEnd = end;\n  } else if (start && end && !hasTimePicker) {\n    if (start.isSame(end, type)) {\n      newEnd = newStart.add(1, type);\n    } else {\n      if (activePart === 'left') {\n        newEnd = newStart.add(1, type);\n      } else {\n        newStart = newEnd.add(-1, type);\n      }\n    }\n  }\n  return [newStart, newEnd];\n}\n\nexport function cloneDate(value: CompatibleValue): CompatibleValue {\n  if (Array.isArray(value)) {\n    return value.map((v) => (v instanceof CandyDate ? v.clone() : null));\n  } else {\n    return value instanceof CandyDate ? value.clone() : null;\n  }\n}\n\nexport function CANDY_DATE_FACTORY(adapter: NzDateAdapter): CandyDateFac {\n  return (date?: Date | string | number): CandyDate =>\n    new CandyDate(adapter, date);\n}\n\n/**\n * Wrapping kind APIs for date operating and unify\n * NOTE: every new API return new CandyDate object without side effects to the former Date object\n * NOTE: most APIs are based on local time other than customized locale id (this needs tobe support in future)\n * TODO: support format() against to angular's core API\n */\n@Injectable({\n  providedIn: 'root',\n  useFactory: CANDY_DATE_FACTORY,\n  deps: [NzDateAdapter],\n})\nexport class CandyDate<D = Date> implements IndexableObject {\n  date!: D;\n  nativeDate!: Date;\n\n  // locale: string; // Custom specified locale ID\n\n  constructor(\n    private dateAdapter: NzDateAdapter<D>,\n    date?: D | Date | string | number\n  ) {\n    if (date) {\n      if (typeof date === 'string' || typeof date === 'number')\n        console.warn(\n          'The string type is not recommended for date-picker, use \"Date\" type'\n        );\n\n      try {\n        this.date = this.dateAdapter.deserialize(date);\n      } catch (e) {\n        throw new Error(\n          'The input date type is not supported (\"Date\" is now recommended)'\n        );\n      }\n    } else {\n      this.date = dateAdapter.today();\n    }\n\n    this.nativeDate = this.dateAdapter.toNativeDate(this.date);\n  }\n\n  calendarStart(options?: {\n    weekStartsOn: WeekDayIndex | undefined;\n  }): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.calendarStartOfWeek(\n        this.dateAdapter.calendarStartOfMonth(this.date),\n        options\n      )\n    );\n  }\n\n  // ---------------------------------------------------------------------\n  // | Native shortcuts\n  // -----------------------------------------------------------------------------\\\n\n  getYear(): number {\n    return this.dateAdapter.getYear(this.date);\n  }\n\n  getMonth(): number {\n    return this.dateAdapter.getMonth(this.date);\n  }\n\n  getDay(): number {\n    return this.dateAdapter.getDay(this.date);\n  }\n\n  getTime(): number {\n    return this.dateAdapter.getTime(this.date);\n  }\n\n  getDate(): number {\n    return this.dateAdapter.getDate(this.date);\n  }\n\n  getHours(): number {\n    return this.dateAdapter.getHours(this.date);\n  }\n\n  getMinutes(): number {\n    return this.dateAdapter.getMinutes(this.date);\n  }\n\n  getSeconds(): number {\n    return this.dateAdapter.getSeconds(this.date);\n  }\n\n  getMilliseconds(): number {\n    return this.dateAdapter.getMilliseconds(this.date);\n  }\n\n  // ---------------------------------------------------------------------\n  // | New implementing APIs\n  // ---------------------------------------------------------------------\n\n  clone(): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.clone(this.date)\n    );\n  }\n\n  setHms(hour: number, minute: number, second: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.setHms(this.date, hour, minute, second)\n    );\n  }\n\n  setYear(year: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.setYear(this.date, year)\n    );\n  }\n\n  addYears(amount: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.addYears(this.date, amount)\n    );\n  }\n\n  // NOTE: month starts from 0\n  // NOTE: Don't use the native API for month manipulation as it not restrict the date when it overflows, eg. (new Date('2018-7-31')).setMonth(1) will be date of 2018-3-03 instead of 2018-2-28\n  setMonth(month: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.setMonth(this.date, month)\n    );\n  }\n\n  addMonths(amount: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.addMonths(this.date, amount)\n    );\n  }\n\n  setDay(day: number, options?: { weekStartsOn: WeekDayIndex }): CandyDate<D> {\n    return new CandyDate(\n      this.dateAdapter,\n      this.dateAdapter.setDay(this.date, day, options)\n    );\n  }\n\n  setDate(amount: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.setDate(this.date, amount)\n    );\n  }\n\n  addDays(amount: number): CandyDate<D> {\n    return new CandyDate<D>(\n      this.dateAdapter,\n      this.dateAdapter.addDays(this.date, amount)\n    );\n  }\n\n  add(amount: number, mode: NormalizedMode): CandyDate<D> {\n    switch (mode) {\n      case 'decade':\n        return this.addYears(amount * 10);\n      case 'year':\n        return this.addYears(amount);\n      case 'month':\n        return this.addMonths(amount);\n      default:\n        return this.addMonths(amount);\n    }\n  }\n\n  isSame(candyDate: CandyDateType<D>, grain: CandyDateMode = 'day'): boolean {\n    if (!candyDate) return false;\n\n    return this.dateAdapter.isSame(this.date, candyDate.date, grain);\n  }\n\n  isSameYear(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'year');\n  }\n\n  isSameMonth(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'month');\n  }\n\n  isSameDay(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'day');\n  }\n\n  isSameHour(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'hour');\n  }\n\n  isSameMinute(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'minute');\n  }\n\n  isSameSecond(date: CandyDateType<D>): boolean {\n    return this.isSame(date, 'second');\n  }\n\n  isBefore(candyDate: CandyDateType<D>, grain: CandyDateMode = 'day'): boolean {\n    if (!candyDate) return false;\n\n    return this.dateAdapter.isBefore(this.date, candyDate.date, grain);\n  }\n\n  isBeforeYear(date: CandyDateType<D>): boolean {\n    return this.isBefore(date, 'year');\n  }\n\n  isBeforeMonth(date: CandyDateType<D>): boolean {\n    return this.isBefore(date, 'month');\n  }\n\n  isBeforeDay(date: CandyDateType<D>): boolean {\n    return this.isBefore(date, 'day');\n  }\n\n  // Equal to today accurate to \"day\"\n  isToday(): boolean {\n    return this.dateAdapter.isToday(this.date);\n  }\n\n  isValid(): boolean {\n    return this.dateAdapter.isValid(this.date);\n  }\n\n  isFirstDayOfMonth(): boolean {\n    return this.dateAdapter.isFirstDayOfMonth(this.date);\n  }\n\n  isLastDayOfMonth(): boolean {\n    return this.dateAdapter.isLastDayOfMonth(this.date);\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport const timeUnits: Array<[string, number]> = [\n  ['Y', 1000 * 60 * 60 * 24 * 365], // years\n  ['M', 1000 * 60 * 60 * 24 * 30], // months\n  ['D', 1000 * 60 * 60 * 24], // days\n  ['H', 1000 * 60 * 60], // hours\n  ['m', 1000 * 60], // minutes\n  ['s', 1000], // seconds\n  ['S', 1], // million seconds\n];\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n// from https://github.com/hsuanxyz/ng-time-parser\nimport {\n  FormStyle,\n  getLocaleDayPeriods,\n  TranslationWidth,\n} from '@angular/common';\n\nimport { isNotNil } from 'ng-zorro-antd/core/util';\n\nexport interface TimeResult {\n  hour: number | null;\n  minute: number | null;\n  second: number | null;\n  period: number | null;\n}\n\nexport class NgTimeParser {\n  regex: RegExp = null!;\n  matchMap: { [key: string]: null | number } = {\n    hour: null,\n    minute: null,\n    second: null,\n    periodNarrow: null,\n    periodWide: null,\n    periodAbbreviated: null,\n  };\n\n  constructor(private format: string, private localeId: string) {\n    this.genRegexp();\n  }\n\n  toDate(str: string): Date {\n    const result = this.getTimeResult(str);\n    const time = new Date();\n\n    if (isNotNil(result?.hour)) {\n      time.setHours(result!.hour);\n    }\n\n    if (isNotNil(result?.minute)) {\n      time.setMinutes(result!.minute);\n    }\n\n    if (isNotNil(result?.second)) {\n      time.setSeconds(result!.second);\n    }\n\n    if (result?.period === 1 && time.getHours() < 12) {\n      time.setHours(time.getHours() + 12);\n    }\n\n    return time;\n  }\n\n  getTimeResult(str: string): TimeResult | null {\n    const match = this.regex.exec(str);\n    let period = null;\n    if (match) {\n      if (isNotNil(this.matchMap['periodNarrow'])) {\n        period = getLocaleDayPeriods(\n          this.localeId,\n          FormStyle.Format,\n          TranslationWidth.Narrow\n        ).indexOf(match[this.matchMap['periodNarrow'] + 1]);\n      }\n      if (isNotNil(this.matchMap['periodWide'])) {\n        period = getLocaleDayPeriods(\n          this.localeId,\n          FormStyle.Format,\n          TranslationWidth.Wide\n        ).indexOf(match[this.matchMap['periodWide'] + 1]);\n      }\n      if (isNotNil(this.matchMap['periodAbbreviated'])) {\n        period = getLocaleDayPeriods(\n          this.localeId,\n          FormStyle.Format,\n          TranslationWidth.Abbreviated\n        ).indexOf(match[this.matchMap['periodAbbreviated'] + 1]);\n      }\n      return {\n        hour: isNotNil(this.matchMap['hour'])\n          ? Number.parseInt(match[this.matchMap['hour'] + 1], 10)\n          : null,\n        minute: isNotNil(this.matchMap['minute'])\n          ? Number.parseInt(match[this.matchMap['minute'] + 1], 10)\n          : null,\n        second: isNotNil(this.matchMap['second'])\n          ? Number.parseInt(match[this.matchMap['second'] + 1], 10)\n          : null,\n        period,\n      };\n    } else {\n      return null;\n    }\n  }\n\n  genRegexp(): void {\n    let regexStr = this.format.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$&');\n    const hourRegex = /h{1,2}/i;\n    const minuteRegex = /m{1,2}/;\n    const secondRegex = /s{1,2}/;\n    const periodNarrow = /aaaaa/;\n    const periodWide = /aaaa/;\n    const periodAbbreviated = /a{1,3}/;\n\n    const hourMatch = hourRegex.exec(this.format);\n    const minuteMatch = minuteRegex.exec(this.format);\n    const secondMatch = secondRegex.exec(this.format);\n    const periodNarrowMatch = periodNarrow.exec(this.format);\n    let periodWideMatch: null | RegExpExecArray = null;\n    let periodAbbreviatedMatch: null | RegExpExecArray = null;\n    if (!periodNarrowMatch) {\n      periodWideMatch = periodWide.exec(this.format);\n    }\n    if (!periodWideMatch && !periodNarrowMatch) {\n      periodAbbreviatedMatch = periodAbbreviated.exec(this.format);\n    }\n\n    const matchs = [\n      hourMatch,\n      minuteMatch,\n      secondMatch,\n      periodNarrowMatch,\n      periodWideMatch,\n      periodAbbreviatedMatch,\n    ]\n      .filter((m) => !!m)\n      .sort((a, b) => a!.index - b!.index);\n\n    matchs.forEach((match, index) => {\n      switch (match) {\n        case hourMatch:\n          this.matchMap['hour'] = index;\n          regexStr = regexStr.replace(hourRegex, '(\\\\d{1,2})');\n          break;\n        case minuteMatch:\n          this.matchMap['minute'] = index;\n          regexStr = regexStr.replace(minuteRegex, '(\\\\d{1,2})');\n          break;\n        case secondMatch:\n          this.matchMap['second'] = index;\n          regexStr = regexStr.replace(secondRegex, '(\\\\d{1,2})');\n          break;\n        case periodNarrowMatch:\n          this.matchMap['periodNarrow'] = index;\n          const periodsNarrow = getLocaleDayPeriods(\n            this.localeId,\n            FormStyle.Format,\n            TranslationWidth.Narrow\n          ).join('|');\n          regexStr = regexStr.replace(periodNarrow, `(${periodsNarrow})`);\n          break;\n        case periodWideMatch:\n          this.matchMap['periodWide'] = index;\n          const periodsWide = getLocaleDayPeriods(\n            this.localeId,\n            FormStyle.Format,\n            TranslationWidth.Wide\n          ).join('|');\n          regexStr = regexStr.replace(periodWide, `(${periodsWide})`);\n          break;\n        case periodAbbreviatedMatch:\n          this.matchMap['periodAbbreviated'] = index;\n          const periodsAbbreviated = getLocaleDayPeriods(\n            this.localeId,\n            FormStyle.Format,\n            TranslationWidth.Abbreviated\n          ).join('|');\n          regexStr = regexStr.replace(\n            periodAbbreviated,\n            `(${periodsAbbreviated})`\n          );\n          break;\n      }\n    });\n\n    this.regex = new RegExp(regexStr);\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './candy-date';\nexport * from './date-adapter';\nexport * from './time';\nexport {\n  NgTimeParser as ɵNgTimeParser,\n  TimeResult as ɵTimeResult,\n} from './time-parser';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["fnsParse"],"mappings":"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"}