{"version":3,"file":"datepicker-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/datepicker/testing/datepicker-toggle-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/datepicker/testing/datepicker-actions-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\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://angular.dev/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DatepickerToggleHarnessFilters} from './datepicker-harness-filters';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\n\n/** Harness for interacting with a standard Material datepicker toggle in tests. */\nexport class MatDatepickerToggleHarness extends DatepickerTriggerHarnessBase {\n  static hostSelector = '.mat-datepicker-toggle';\n\n  /** The clickable button inside the toggle. */\n  private _button = this.locatorFor('button');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerToggleHarness` that\n   * meets certain criteria.\n   * @param options Options for filtering which datepicker toggle instances are considered a match.\n   * @return a `HarnessPredicate` configured with the given options.\n   */\n  static with(\n    options: DatepickerToggleHarnessFilters = {},\n  ): HarnessPredicate<MatDatepickerToggleHarness> {\n    return new HarnessPredicate(MatDatepickerToggleHarness, options);\n  }\n\n  /** Gets whether the calendar associated with the toggle is open. */\n  async isCalendarOpen(): Promise<boolean> {\n    return (await this.host()).hasClass('mat-datepicker-toggle-active');\n  }\n\n  /** Whether the toggle is disabled. */\n  async isDisabled(): Promise<boolean> {\n    const button = await this._button();\n    return coerceBooleanProperty(await button.getAttribute('disabled'));\n  }\n\n  protected async _openCalendar(): Promise<void> {\n    return (await this._button()).click();\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\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://angular.dev/license\n */\n\nimport {\n  ContentContainerComponentHarness,\n  HarnessPredicate,\n  TestElement,\n} from '@angular/cdk/testing';\nimport {DatepickerActionsHarnessFilters} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material datepicker actions in tests. */\nexport class MatDatepickerActionsHarness extends ContentContainerComponentHarness<string> {\n  static hostSelector = '.mat-datepicker-actions';\n\n  private _applyLocator = this.locatorForOptional(\n    '[matDatepickerApply], [matDateRangePickerApply]',\n  );\n  private _cancelLocator = this.locatorForOptional(\n    '[matDatepickerCancel], [matDateRangePickerCancel]',\n  );\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerActionsHarness` that\n   * meets certain criteria.\n   * @param options Options for filtering which datepicker actions instances are considered a match.\n   * @return a `HarnessPredicate` configured with the given options.\n   */\n  static with(\n    options: DatepickerActionsHarnessFilters = {},\n  ): HarnessPredicate<MatDatepickerActionsHarness> {\n    return new HarnessPredicate(MatDatepickerActionsHarness, options);\n  }\n\n  /** Applies the current selection. */\n  apply(): Promise<void> {\n    return this._clickAction('apply', this._applyLocator);\n  }\n\n  /** Cancels the current selection. */\n  cancel(): Promise<void> {\n    return this._clickAction('cancel', this._cancelLocator);\n  }\n\n  private async _clickAction(name: string, locator: () => Promise<TestElement | null>) {\n    const button = await locator();\n\n    if (!button) {\n      throw new Error(`MatDatepickerActions does not have ${name} button`);\n    }\n\n    await button.click();\n  }\n}\n"],"names":["MatDatepickerToggleHarness","DatepickerTriggerHarnessBase","hostSelector","_button","locatorFor","with","options","HarnessPredicate","isCalendarOpen","host","hasClass","isDisabled","button","coerceBooleanProperty","getAttribute","_openCalendar","click","MatDatepickerActionsHarness","ContentContainerComponentHarness","_applyLocator","locatorForOptional","_cancelLocator","apply","_clickAction","cancel","name","locator","Error"],"mappings":";;;;;;AAcM,MAAOA,0BAA2B,SAAQC,4BAA4B,CAAA;EAC1E,OAAOC,YAAY,GAAG,wBAAwB;AAGtCC,EAAAA,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC,QAAQ,CAAC;AAQ3C,EAAA,OAAOC,IAAIA,CACTC,OAAA,GAA0C,EAAE,EAAA;AAE5C,IAAA,OAAO,IAAIC,gBAAgB,CAACP,0BAA0B,EAAEM,OAAO,CAAC;AAClE,EAAA;EAGA,MAAME,cAAcA,GAAA;IAClB,OAAO,CAAC,MAAM,IAAI,CAACC,IAAI,EAAE,EAAEC,QAAQ,CAAC,8BAA8B,CAAC;AACrE,EAAA;EAGA,MAAMC,UAAUA,GAAA;AACd,IAAA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACT,OAAO,EAAE;IACnC,OAAOU,qBAAqB,CAAC,MAAMD,MAAM,CAACE,YAAY,CAAC,UAAU,CAAC,CAAC;AACrE,EAAA;EAEU,MAAMC,aAAaA,GAAA;IAC3B,OAAO,CAAC,MAAM,IAAI,CAACZ,OAAO,EAAE,EAAEa,KAAK,EAAE;AACvC,EAAA;;;AC7BI,MAAOC,2BAA4B,SAAQC,gCAAwC,CAAA;EACvF,OAAOhB,YAAY,GAAG,yBAAyB;AAEvCiB,EAAAA,aAAa,GAAG,IAAI,CAACC,kBAAkB,CAC7C,iDAAiD,CAClD;AACOC,EAAAA,cAAc,GAAG,IAAI,CAACD,kBAAkB,CAC9C,mDAAmD,CACpD;AAQD,EAAA,OAAOf,IAAIA,CACTC,OAAA,GAA2C,EAAE,EAAA;AAE7C,IAAA,OAAO,IAAIC,gBAAgB,CAACU,2BAA2B,EAAEX,OAAO,CAAC;AACnE,EAAA;AAGAgB,EAAAA,KAAKA,GAAA;IACH,OAAO,IAAI,CAACC,YAAY,CAAC,OAAO,EAAE,IAAI,CAACJ,aAAa,CAAC;AACvD,EAAA;AAGAK,EAAAA,MAAMA,GAAA;IACJ,OAAO,IAAI,CAACD,YAAY,CAAC,QAAQ,EAAE,IAAI,CAACF,cAAc,CAAC;AACzD,EAAA;AAEQ,EAAA,MAAME,YAAYA,CAACE,IAAY,EAAEC,OAA0C,EAAA;AACjF,IAAA,MAAMd,MAAM,GAAG,MAAMc,OAAO,EAAE;IAE9B,IAAI,CAACd,MAAM,EAAE;AACX,MAAA,MAAM,IAAIe,KAAK,CAAC,CAAA,mCAAA,EAAsCF,IAAI,SAAS,CAAC;AACtE,IAAA;AAEA,IAAA,MAAMb,MAAM,CAACI,KAAK,EAAE;AACtB,EAAA;;;;;"}