@angular/material 21.0.0-rc.1 → 21.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.
- package/button-toggle/_m3-button-toggle.scss +1 -1
- package/fesm2022/autocomplete.mjs +3 -3
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/button-testing.mjs +4 -3
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +6 -6
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +1 -1
- package/fesm2022/timepicker.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/stepper/_m3-stepper.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/testing/button-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 {booleanAttribute} from '@angular/core';\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatIconHarness} from '@angular/material/icon/testing';\nimport {\n ButtonAppearance,\n ButtonHarnessFilters,\n ButtonType,\n ButtonVariant,\n} from './button-harness-filters';\n\n/** Harness for interacting with a mat-button in tests. */\nexport class MatButtonHarness extends ContentContainerComponentHarness {\n // Note: `.mat-mdc-button-base` should be enough for all buttons, however some apps are using\n // the harness without actually having an applied button. Keep the attributes for backwards\n // compatibility.\n\n /** Selector for the harness. */\n static hostSelector = `.mat-mdc-button-base, [matButton], [mat-button], [matIconButton],\n [matFab], [matMiniFab], [mat-raised-button], [mat-flat-button], [mat-icon-button],\n [mat-stroked-button], [mat-fab], [mat-mini-fab]`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button with specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a button whose host element matches the given selector.\n * - `text` finds a button with specific text content.\n * - `variant` finds buttons matching a specific variant.\n * - `appearance` finds buttons matching a specific appearance.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatButtonHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ButtonHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('variant', options.variant, (harness, variant) =>\n HarnessPredicate.stringMatches(harness.getVariant(), variant),\n )\n .addOption('appearance', options.appearance, (harness, appearance) =>\n HarnessPredicate.stringMatches(harness.getAppearance(), appearance),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('buttonType', options.buttonType, (harness, buttonType) =>\n HarnessPredicate.stringMatches(harness.getType(), buttonType),\n )\n .addOption('iconName', options.iconName, (harness, iconName) => {\n return harness.hasHarness(MatIconHarness.with({name: iconName}));\n });\n }\n\n /**\n * Clicks the button at the given position relative to its top-left.\n * @param relativeX The relative x position of the click.\n * @param relativeY The relative y position of the click.\n */\n click(relativeX: number, relativeY: number): Promise<void>;\n /** Clicks the button at its center. */\n click(location: 'center'): Promise<void>;\n /** Clicks the button. */\n click(): Promise<void>;\n async click(...args: [] | ['center'] | [number, number]): Promise<void> {\n return (await this.host()).click(...(args as []));\n }\n\n /** Gets a boolean promise indicating if the button is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return (\n booleanAttribute(await host.getAttribute('disabled')) ||\n (await host.hasClass('mat-mdc-button-disabled'))\n );\n }\n\n /** Gets a promise for the button's label text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the button and returns a void promise that indicates when the action is complete. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the button and returns a void promise that indicates when the action is complete. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the button is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the variant of the button. */\n async getVariant(): Promise<ButtonVariant> {\n const host = await this.host();\n\n // TODO(crisbeto): we're checking both classes and attributes for backwards compatibility\n // with some internal apps that were applying the attribute without importing the directive.\n // Really we should be only targeting the classes.\n if (\n (await host.hasClass('mat-mdc-icon-button')) ||\n (await host.getAttribute('mat-icon-button')) != null\n ) {\n return 'icon';\n }\n\n if (\n (await host.hasClass('mat-mdc-mini-fab')) ||\n (await host.getAttribute('mat-mini-fab')) != null\n ) {\n return 'mini-fab';\n }\n\n if ((await host.hasClass('mat-mdc-fab')) || (await host.getAttribute('mat-fab')) != null) {\n return 'fab';\n }\n\n return 'basic';\n }\n\n /** Gets the appearance of the button. */\n async getAppearance(): Promise<ButtonAppearance | null> {\n const host = await this.host();\n\n if (await host.hasClass('mat-mdc-outlined-button')) {\n return 'outlined';\n }\n\n if (await host.hasClass('mat-mdc-raised-button')) {\n return 'elevated';\n }\n\n if (await host.hasClass('mat-mdc-unelevated-button')) {\n return 'filled';\n }\n\n if (await host.hasClass('mat-mdc-button')) {\n return 'text';\n }\n\n if (await host.hasClass('mat-tonal-button')) {\n return 'tonal';\n }\n\n return null;\n }\n\n /**\n * Gets the type of the button. Supported values are 'button', 'submit', and 'reset'.\n */\n async getType(): Promise<ButtonType | null> {\n const host = await this.host();\n const buttonType = await host.getAttribute('type');\n if (buttonType === 'button' || buttonType === 'submit' || buttonType === 'reset') {\n return buttonType;\n }\n return null;\n }\n}\n"],"names":["MatButtonHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","addOption","text","harness","stringMatches","getText","variant","getVariant","appearance","getAppearance","disabled","isDisabled","buttonType","getType","iconName","hasHarness","MatIconHarness","name","click","args","host","booleanAttribute","getAttribute","hasClass","focus","blur","isFocused"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/testing/button-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 {booleanAttribute} from '@angular/core';\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatIconHarness} from '@angular/material/icon/testing';\nimport {\n ButtonAppearance,\n ButtonHarnessFilters,\n ButtonType,\n ButtonVariant,\n} from './button-harness-filters';\n\n/** Harness for interacting with a mat-button in tests. */\nexport class MatButtonHarness extends ContentContainerComponentHarness {\n // Note: `.mat-mdc-button-base` should be enough for all buttons, however some apps are using\n // the harness without actually having an applied button. Keep the attributes for backwards\n // compatibility.\n\n /** Selector for the harness. */\n static hostSelector = `.mat-mdc-button-base, [matButton], [mat-button], [matIconButton],\n [matFab], [matMiniFab], [mat-raised-button], [mat-flat-button], [mat-icon-button],\n [mat-stroked-button], [mat-fab], [mat-mini-fab]`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button with specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a button whose host element matches the given selector.\n * - `text` finds a button with specific text content.\n * - `variant` finds buttons matching a specific variant.\n * - `appearance` finds buttons matching a specific appearance.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatButtonHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ButtonHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('variant', options.variant, (harness, variant) =>\n HarnessPredicate.stringMatches(harness.getVariant(), variant),\n )\n .addOption('appearance', options.appearance, (harness, appearance) =>\n HarnessPredicate.stringMatches(harness.getAppearance(), appearance),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('buttonType', options.buttonType, (harness, buttonType) =>\n HarnessPredicate.stringMatches(harness.getType(), buttonType),\n )\n .addOption('iconName', options.iconName, async (harness, iconName) => {\n const result = await harness.locatorForOptional(MatIconHarness.with({name: iconName}))();\n return result !== null;\n });\n }\n\n /**\n * Clicks the button at the given position relative to its top-left.\n * @param relativeX The relative x position of the click.\n * @param relativeY The relative y position of the click.\n */\n click(relativeX: number, relativeY: number): Promise<void>;\n /** Clicks the button at its center. */\n click(location: 'center'): Promise<void>;\n /** Clicks the button. */\n click(): Promise<void>;\n async click(...args: [] | ['center'] | [number, number]): Promise<void> {\n return (await this.host()).click(...(args as []));\n }\n\n /** Gets a boolean promise indicating if the button is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return (\n booleanAttribute(await host.getAttribute('disabled')) ||\n (await host.hasClass('mat-mdc-button-disabled'))\n );\n }\n\n /** Gets a promise for the button's label text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the button and returns a void promise that indicates when the action is complete. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the button and returns a void promise that indicates when the action is complete. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the button is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the variant of the button. */\n async getVariant(): Promise<ButtonVariant> {\n const host = await this.host();\n\n // TODO(crisbeto): we're checking both classes and attributes for backwards compatibility\n // with some internal apps that were applying the attribute without importing the directive.\n // Really we should be only targeting the classes.\n if (\n (await host.hasClass('mat-mdc-icon-button')) ||\n (await host.getAttribute('mat-icon-button')) != null\n ) {\n return 'icon';\n }\n\n if (\n (await host.hasClass('mat-mdc-mini-fab')) ||\n (await host.getAttribute('mat-mini-fab')) != null\n ) {\n return 'mini-fab';\n }\n\n if ((await host.hasClass('mat-mdc-fab')) || (await host.getAttribute('mat-fab')) != null) {\n return 'fab';\n }\n\n return 'basic';\n }\n\n /** Gets the appearance of the button. */\n async getAppearance(): Promise<ButtonAppearance | null> {\n const host = await this.host();\n\n if (await host.hasClass('mat-mdc-outlined-button')) {\n return 'outlined';\n }\n\n if (await host.hasClass('mat-mdc-raised-button')) {\n return 'elevated';\n }\n\n if (await host.hasClass('mat-mdc-unelevated-button')) {\n return 'filled';\n }\n\n if (await host.hasClass('mat-mdc-button')) {\n return 'text';\n }\n\n if (await host.hasClass('mat-tonal-button')) {\n return 'tonal';\n }\n\n return null;\n }\n\n /**\n * Gets the type of the button. Supported values are 'button', 'submit', and 'reset'.\n */\n async getType(): Promise<ButtonType | null> {\n const host = await this.host();\n const buttonType = await host.getAttribute('type');\n if (buttonType === 'button' || buttonType === 'submit' || buttonType === 'reset') {\n return buttonType;\n }\n return null;\n }\n}\n"],"names":["MatButtonHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","addOption","text","harness","stringMatches","getText","variant","getVariant","appearance","getAppearance","disabled","isDisabled","buttonType","getType","iconName","result","locatorForOptional","MatIconHarness","name","click","args","host","booleanAttribute","getAttribute","hasClass","focus","blur","isFocused"],"mappings":"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"}
|