@spectrum-web-components/button 0.40.1 → 0.40.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/README.md +20 -4
- package/custom-elements.json +74 -28
- package/package.json +9 -9
- package/src/Button.d.ts +7 -1
- package/src/Button.dev.js +59 -0
- package/src/Button.dev.js.map +2 -2
- package/src/Button.js +10 -1
- package/src/Button.js.map +3 -3
- package/src/button-base.css.dev.js +4 -4
- package/src/button-base.css.dev.js.map +1 -1
- package/src/button-base.css.js +4 -4
- package/src/button-base.css.js.map +1 -1
- package/src/button.css.dev.js +16 -4
- package/src/button.css.dev.js.map +2 -2
- package/src/button.css.js +16 -4
- package/src/button.css.js.map +2 -2
- package/src/spectrum-button-base.css.dev.js.map +1 -1
- package/src/spectrum-button-base.css.js.map +1 -1
- package/src/spectrum-button.css.dev.js +3 -3
- package/src/spectrum-button.css.dev.js.map +1 -1
- package/src/spectrum-button.css.js +3 -3
- package/src/spectrum-button.css.js.map +1 -1
- package/src/spectrum-config.js +6 -1
- package/stories/button-accent-fill-pending.stories.js +34 -0
- package/stories/button-accent-fill-pending.stories.js.map +7 -0
- package/stories/button-accent-outline-pending.stories.js +34 -0
- package/stories/button-accent-outline-pending.stories.js.map +7 -0
- package/stories/button-black-fill-pending.stories.js +34 -0
- package/stories/button-black-fill-pending.stories.js.map +7 -0
- package/stories/button-black-outline-pending.stories.js +34 -0
- package/stories/button-black-outline-pending.stories.js.map +7 -0
- package/stories/button-negative-fill-pending.stories.js +34 -0
- package/stories/button-negative-fill-pending.stories.js.map +7 -0
- package/stories/button-negative-outline-pending.stories.js +34 -0
- package/stories/button-negative-outline-pending.stories.js.map +7 -0
- package/stories/button-primary-fill-pending.stories.js +34 -0
- package/stories/button-primary-fill-pending.stories.js.map +7 -0
- package/stories/button-primary-outline-pending.stories.js +34 -0
- package/stories/button-primary-outline-pending.stories.js.map +7 -0
- package/stories/button-secondary-fill-pending.stories.js +34 -0
- package/stories/button-secondary-fill-pending.stories.js.map +7 -0
- package/stories/button-secondary-outline-pending.stories.js +34 -0
- package/stories/button-secondary-outline-pending.stories.js.map +7 -0
- package/stories/button-white-fill-pending.stories.js +34 -0
- package/stories/button-white-fill-pending.stories.js.map +7 -0
- package/stories/button-white-outline-pending.stories.js +34 -0
- package/stories/button-white-outline-pending.stories.js.map +7 -0
- package/stories/index.js +16 -1
- package/stories/index.js.map +2 -2
- package/test/button-accent-fill-pending.test-vrt.js +5 -0
- package/test/button-accent-fill-pending.test-vrt.js.map +7 -0
- package/test/button-accent-outline-pending.test-vrt.js +5 -0
- package/test/button-accent-outline-pending.test-vrt.js.map +7 -0
- package/test/button-black-fill-pending.test-vrt.js +5 -0
- package/test/button-black-fill-pending.test-vrt.js.map +7 -0
- package/test/button-black-outline-pending.test-vrt.js +5 -0
- package/test/button-black-outline-pending.test-vrt.js.map +7 -0
- package/test/button-negative-fill-pending.test-vrt.js +5 -0
- package/test/button-negative-fill-pending.test-vrt.js.map +7 -0
- package/test/button-negative-outline-pending.test-vrt.js +5 -0
- package/test/button-negative-outline-pending.test-vrt.js.map +7 -0
- package/test/button-primary-fill-pending.test-vrt.js +5 -0
- package/test/button-primary-fill-pending.test-vrt.js.map +7 -0
- package/test/button-primary-outline-pending.test-vrt.js +5 -0
- package/test/button-primary-outline-pending.test-vrt.js.map +7 -0
- package/test/button-secondary-fill-pending.test-vrt.js +5 -0
- package/test/button-secondary-fill-pending.test-vrt.js.map +7 -0
- package/test/button-secondary-outline-pending.test-vrt.js +5 -0
- package/test/button-secondary-outline-pending.test-vrt.js.map +7 -0
- package/test/button-white-fill-pending.test-vrt.js +5 -0
- package/test/button-white-fill-pending.test-vrt.js.map +7 -0
- package/test/button-white-outline-pending.test-vrt.js +5 -0
- package/test/button-white-outline-pending.test-vrt.js.map +7 -0
- package/test/button.test.js +113 -0
- package/test/button.test.js.map +2 -2
package/stories/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["index.ts"],
|
|
4
|
-
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/icon/sp-icon.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-help.js';\nimport {\n ButtonTreatments,\n ButtonVariants,\n} from '@spectrum-web-components/button/src/Button.js';\n\nexport const args = {\n disabled: false,\n variant: 'cta',\n};\n\nexport const argTypes = {\n disabled: {\n name: 'disabled',\n type: { name: 'boolean', required: false },\n description:\n 'Disable this control. It will not receive focus or events.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n variant: {\n name: 'variant',\n type: { name: 'string', required: false },\n description: 'The visual variant to apply to the button.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'cta' },\n },\n control: {\n type: 'inline-radio',\n options: [\n 'cta',\n 'accent',\n 'primary',\n 'secondary',\n 'negative',\n 'overBackground',\n 'black',\n 'white',\n ],\n },\n },\n treatment: {\n name: 'treatment',\n type: { name: 'string', required: false },\n description: 'The visual treatment to apply to the button.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'fill' },\n },\n control: {\n type: 'inline-radio',\n options: ['fill', 'outline'],\n },\n },\n};\n\nexport interface Properties {\n variant?: ButtonVariants;\n treatment?: ButtonTreatments;\n quiet?: boolean;\n content?: TemplateResult;\n disabled?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n href?: string;\n target?: '_blank' | '_parent' | '_self' | '_top';\n warning?: boolean;\n iconOnly?: boolean;\n}\n\nexport const makeOverBackground =\n (variant?: 'white' | 'black') =>\n (story: () => TemplateResult): TemplateResult => {\n const color =\n variant === 'black'\n ? 'rgb(181, 209, 211)'\n : 'var(--spectrum-global-color-seafoam-600)';\n return html`\n <div\n style=\"\n --mod-actionbutton-static-content-color: ${color};\n --mod-button-static-content-color: ${color};\n background-color: ${color};\n color: ${color};\n padding: var(--spectrum-global-dimension-size-175) var(--spectrum-global-dimension-size-250);\n display: inline-block;\n \"\n >\n ${story()}\n </div>\n `;\n };\n\nexport function renderButton(properties: Properties): TemplateResult {\n if (properties.variant) {\n return html`\n <sp-button\n variant=\"${properties.variant}\"\n treatment=\"${properties.treatment}\"\n ?quiet=\"${!!properties.quiet}\"\n ?disabled=${!!properties.disabled}\n size=${properties.size || 'm'}\n href=${ifDefined(properties.href)}\n target=${ifDefined(properties.target)}\n ?warning=${properties.warning}\n ?icon-only=${properties.iconOnly}\n >\n ${properties.content || 'Click Me'}\n </sp-button>\n `;\n } else {\n return html`\n <sp-button\n ?quiet=\"${!!properties.quiet}\"\n ?disabled=${!!properties.disabled}\n size=${properties.size}\n >\n ${properties.content || 'Click Me'}\n </sp-button>\n `;\n }\n}\n\nexport function renderButtonSet(properties: Properties): TemplateResult {\n const disabled = Object.assign({}, properties, { disabled: true });\n const icon = Object.assign({}, properties, {\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n Click Me\n `,\n });\n return html`\n ${renderButton(properties)} ${renderButton(disabled)}\n ${renderButton(icon)}\n `;\n}\n\nexport function renderIconButtonSet(properties: Properties): TemplateResult {\n const disabled = Object.assign({}, properties, {\n iconOnly: true,\n disabled: true,\n });\n const iconOnly = Object.assign({}, properties, {\n iconOnly: true,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n `,\n });\n return html`\n ${renderButton(iconOnly)} ${renderButton(disabled)}\n `;\n}\n\nexport const bellIcon = html`\n <svg slot=\"icon\" viewBox=\"0 0 36 36\" focusable=\"false\" aria-hidden=\"true\">\n <path\n d=\"M16 36a4.407 4.407 0 0 0 4-4h-8a4.407 4.407 0 0 0 4 4zm9.143-24.615c0-3.437-3.206-4.891-7.143-5.268V3a1.079 1.079 0 0 0-1.143-1h-1.714A1.079 1.079 0 0 0 14 3v3.117c-3.937.377-7.143 1.831-7.143 5.268C6.857 26.8 2 26.111 2 28.154V30h28v-1.846C30 26 25.143 26.8 25.143 11.385z\"\n ></path>\n </svg>\n`;\n\nexport const renderWithIcon = (props: Properties): TemplateResult => {\n return html`\n <style>\n .row {\n padding: 10px;\n }\n </style>\n <div class=\"row\">\n ${renderButtonSet({\n ...props,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n Help\n `,\n })}\n </div>\n <div class=\"row\">\n ${renderButtonSet({\n ...props,\n content: html`\n ${bellIcon} Custom SVG\n `,\n })}\n </div>\n `;\n};\n\nexport const renderWithIconOnly = (props: Properties): TemplateResult => {\n return html`\n ${renderIconButtonSet({\n ...props,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n `,\n })}\n `;\n};\n\nexport const renderIconSizeOverridden = (\n variant: ButtonVariants,\n treatment: ButtonTreatments\n): TemplateResult => {\n return html`\n <sp-button\n label=\"Edit\"\n size=\"xl\"\n variant=${variant}\n treatment=${treatment}\n >\n <sp-icon-help slot=\"icon\" size=\"s\">Testing</sp-icon-help>\n </sp-button>\n <h1>For testing purposes only</h1>\n <p>\n This is a test to ensure that sizing the icon will still work when\n it's in the scope of a parent element. You shouldn't normally do\n this as it deviates from the Spectrum design specification.\n </p>\n `;\n};\n\nexport const renderMinWidthButton = (props: Properties): TemplateResult => {\n return html`\n <style>\n sp-button {\n min-width: 300px;\n }\n </style>\n ${renderButtonSet(props)}\n `;\n};\n\nconst href = 'https://github.com/adobe/spectrum-web-components';\n\nexport const renderLink = (props: Properties): TemplateResult =>\n renderButtonSet({\n ...props,\n href,\n });\n\nexport const renderLinkWithTarget = (props: Properties): TemplateResult =>\n renderButtonSet({\n ...props,\n href,\n target: '_blank',\n });\n"],
|
|
5
|
-
"mappings": ";AAWA,SAAS,YAA4B;AACrC,SAAS,iBAAiB;AAE1B,OAAO;AACP,OAAO;AACP,OAAO;AAMA,aAAM,OAAO;AAAA,EAChB,UAAU;AAAA,EACV,SAAS;AACb;AAEO,aAAM,WAAW;AAAA,EACpB,UAAU;AAAA,IACN,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,WAAW,UAAU,MAAM;AAAA,IACzC,aACI;AAAA,IACJ,OAAO;AAAA,MACH,MAAM,EAAE,SAAS,UAAU;AAAA,MAC3B,cAAc,EAAE,SAAS,MAAM;AAAA,IACnC;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,IACV;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,IACL,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,IACxC,aAAa;AAAA,IACb,OAAO;AAAA,MACH,MAAM,EAAE,SAAS,SAAS;AAAA,MAC1B,cAAc,EAAE,SAAS,MAAM;AAAA,IACnC;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,WAAW;AAAA,IACP,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,IACxC,aAAa;AAAA,IACb,OAAO;AAAA,MACH,MAAM,EAAE,SAAS,SAAS;AAAA,MAC1B,cAAc,EAAE,SAAS,OAAO;AAAA,IACpC;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAC,QAAQ,SAAS;AAAA,IAC/B;AAAA,EACJ;AACJ;
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/icon/sp-icon.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-help.js';\nimport {\n ButtonTreatments,\n ButtonVariants,\n} from '@spectrum-web-components/button/src/Button.js';\n\nexport const args = {\n disabled: false,\n variant: 'cta',\n pending: false,\n};\n\nexport const argTypes = {\n disabled: {\n name: 'disabled',\n type: { name: 'boolean', required: false },\n description:\n 'Disable this control. It will not receive focus or events.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n variant: {\n name: 'variant',\n type: { name: 'string', required: false },\n description: 'The visual variant to apply to the button.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'cta' },\n },\n control: {\n type: 'inline-radio',\n options: [\n 'cta',\n 'accent',\n 'primary',\n 'secondary',\n 'negative',\n 'overBackground',\n 'black',\n 'white',\n ],\n },\n },\n treatment: {\n name: 'treatment',\n type: { name: 'string', required: false },\n description: 'The visual treatment to apply to the button.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'fill' },\n },\n control: {\n type: 'inline-radio',\n options: ['fill', 'outline'],\n },\n },\n pending: {\n name: 'pending',\n type: { name: 'boolean', required: false },\n description: 'Shows the pending state of the button.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n};\n\nexport interface Properties {\n variant?: ButtonVariants;\n treatment?: ButtonTreatments;\n quiet?: boolean;\n pending?: boolean;\n content?: TemplateResult;\n disabled?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n href?: string;\n target?: '_blank' | '_parent' | '_self' | '_top';\n warning?: boolean;\n iconOnly?: boolean;\n}\n\nexport const makeOverBackground =\n (variant?: 'white' | 'black') =>\n (story: () => TemplateResult): TemplateResult => {\n const color =\n variant === 'black'\n ? 'rgb(181, 209, 211)'\n : 'var(--spectrum-global-color-seafoam-600)';\n return html`\n <div\n style=\"\n --mod-actionbutton-static-content-color: ${color};\n --mod-button-static-content-color: ${color};\n background-color: ${color};\n color: ${color};\n padding: var(--spectrum-global-dimension-size-175) var(--spectrum-global-dimension-size-250);\n display: inline-block;\n \"\n >\n ${story()}\n </div>\n `;\n };\n\nexport function renderButton(properties: Properties): TemplateResult {\n if (properties.variant) {\n return html`\n <sp-button\n variant=\"${properties.variant}\"\n treatment=\"${properties.treatment}\"\n ?quiet=\"${!!properties.quiet}\"\n ?disabled=${!!properties.disabled}\n size=${properties.size || 'm'}\n href=${ifDefined(properties.href)}\n target=${ifDefined(properties.target)}\n ?warning=${properties.warning}\n ?pending=${!!properties.pending}\n ?icon-only=${properties.iconOnly}\n >\n ${properties.content || 'Click Me'}\n </sp-button>\n `;\n } else {\n return html`\n <sp-button\n ?quiet=\"${!!properties.quiet}\"\n ?disabled=${!!properties.disabled}\n size=${properties.size}\n ?pending=${!!properties.pending}\n >\n ${properties.content || 'Click Me'}\n </sp-button>\n `;\n }\n}\n\nexport function renderButtonSet(properties: Properties): TemplateResult {\n const disabled = Object.assign({}, properties, { disabled: true });\n const icon = Object.assign({}, properties, {\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n Click Me\n `,\n });\n return html`\n ${renderButton(properties)} ${renderButton(disabled)}\n ${renderButton(icon)}\n `;\n}\n\nexport function renderIconButtonSet(properties: Properties): TemplateResult {\n const disabled = Object.assign({}, properties, {\n iconOnly: true,\n disabled: true,\n });\n const iconOnly = Object.assign({}, properties, {\n iconOnly: true,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n `,\n });\n return html`\n ${renderButton(iconOnly)} ${renderButton(disabled)}\n `;\n}\n\nexport const bellIcon = html`\n <svg slot=\"icon\" viewBox=\"0 0 36 36\" focusable=\"false\" aria-hidden=\"true\">\n <path\n d=\"M16 36a4.407 4.407 0 0 0 4-4h-8a4.407 4.407 0 0 0 4 4zm9.143-24.615c0-3.437-3.206-4.891-7.143-5.268V3a1.079 1.079 0 0 0-1.143-1h-1.714A1.079 1.079 0 0 0 14 3v3.117c-3.937.377-7.143 1.831-7.143 5.268C6.857 26.8 2 26.111 2 28.154V30h28v-1.846C30 26 25.143 26.8 25.143 11.385z\"\n ></path>\n </svg>\n`;\n\nexport const renderWithIcon = (props: Properties): TemplateResult => {\n return html`\n <style>\n .row {\n padding: 10px;\n }\n </style>\n <div class=\"row\">\n ${renderButtonSet({\n ...props,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n Help\n `,\n })}\n </div>\n <div class=\"row\">\n ${renderButtonSet({\n ...props,\n content: html`\n ${bellIcon} Custom SVG\n `,\n })}\n </div>\n `;\n};\n\nexport const renderWithIconOnly = (props: Properties): TemplateResult => {\n return html`\n ${renderIconButtonSet({\n ...props,\n content: html`\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n `,\n })}\n `;\n};\n\nexport const renderIconSizeOverridden = (\n variant: ButtonVariants,\n treatment: ButtonTreatments\n): TemplateResult => {\n return html`\n <sp-button\n label=\"Edit\"\n size=\"xl\"\n variant=${variant}\n treatment=${treatment}\n >\n <sp-icon-help slot=\"icon\" size=\"s\">Testing</sp-icon-help>\n </sp-button>\n <h1>For testing purposes only</h1>\n <p>\n This is a test to ensure that sizing the icon will still work when\n it's in the scope of a parent element. You shouldn't normally do\n this as it deviates from the Spectrum design specification.\n </p>\n `;\n};\n\nexport const renderMinWidthButton = (props: Properties): TemplateResult => {\n return html`\n <style>\n sp-button {\n min-width: 300px;\n }\n </style>\n ${renderButtonSet(props)}\n `;\n};\n\nconst href = 'https://github.com/adobe/spectrum-web-components';\n\nexport const renderLink = (props: Properties): TemplateResult =>\n renderButtonSet({\n ...props,\n href,\n });\n\nexport const renderLinkWithTarget = (props: Properties): TemplateResult =>\n renderButtonSet({\n ...props,\n href,\n target: '_blank',\n });\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-accent-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonAccentFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-accent-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-accent-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-accent-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonAccentFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,kCAAkC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-accent-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonAccentOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-accent-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-accent-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-accent-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonAccentOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,qCAAqC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-black-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonBlackFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-black-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-black-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-black-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonBlackFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,iCAAiC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-black-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonBlackOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-black-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-black-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-black-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonBlackOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,oCAAoC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-negative-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonNegativeFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-negative-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-negative-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-negative-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonNegativeFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,oCAAoC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-negative-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonNegativeOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-negative-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-negative-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-negative-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonNegativeOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,uCAAuC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-primary-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonPrimaryFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-primary-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-primary-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-primary-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonPrimaryFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,mCAAmC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-primary-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonPrimaryOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-primary-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-primary-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-primary-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonPrimaryOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,sCAAsC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-secondary-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonSecondaryFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-secondary-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-secondary-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-secondary-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonSecondaryFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,qCAAqC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-secondary-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonSecondaryOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-secondary-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-secondary-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-secondary-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonSecondaryOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,wCAAwC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-white-fill-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonWhiteFillPendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-white-fill-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-white-fill-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-white-fill-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonWhiteFillPendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,iCAAiC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import * as stories from "../stories/button-white-outline-pending.stories.js";
|
|
3
|
+
import { regressVisuals } from "../../../test/visual/test.js";
|
|
4
|
+
regressVisuals("ButtonWhiteOutlinePendingStories", stories);
|
|
5
|
+
//# sourceMappingURL=button-white-outline-pending.test-vrt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["button-white-outline-pending.test-vrt.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/button-white-outline-pending.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\nimport type { TestsType } from '../../../test/visual/test.js';\n\nregressVisuals('ButtonWhiteOutlinePendingStories', stories as unknown as TestsType);\n"],
|
|
5
|
+
"mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAG/B,eAAe,oCAAoC,OAA+B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/test/button.test.js
CHANGED
|
@@ -5,12 +5,14 @@ import {
|
|
|
5
5
|
expect,
|
|
6
6
|
fixture,
|
|
7
7
|
html,
|
|
8
|
+
nextFrame,
|
|
8
9
|
waitUntil
|
|
9
10
|
} from "@open-wc/testing";
|
|
10
11
|
import {
|
|
11
12
|
shiftTabEvent,
|
|
12
13
|
testForLitDevWarnings
|
|
13
14
|
} from "../../../test/testing-helpers.js";
|
|
15
|
+
import { a11ySnapshot, findAccessibilityNode } from "@web/test-runner-commands";
|
|
14
16
|
import { spy } from "sinon";
|
|
15
17
|
describe("Button", () => {
|
|
16
18
|
testForLitDevWarnings(
|
|
@@ -211,6 +213,117 @@ describe("Button", () => {
|
|
|
211
213
|
await elementUpdated(el);
|
|
212
214
|
expect(el.hasAttribute("aria-disabled"), "finally not").to.be.false;
|
|
213
215
|
});
|
|
216
|
+
it("manages aria-label from disabled state", async () => {
|
|
217
|
+
const el = await fixture(
|
|
218
|
+
html`
|
|
219
|
+
<sp-button
|
|
220
|
+
href="test_url"
|
|
221
|
+
target="_blank"
|
|
222
|
+
label="clickable"
|
|
223
|
+
disabled
|
|
224
|
+
pending-label="Pending Button"
|
|
225
|
+
>
|
|
226
|
+
Click me
|
|
227
|
+
</sp-button>
|
|
228
|
+
`
|
|
229
|
+
);
|
|
230
|
+
await elementUpdated(el);
|
|
231
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
232
|
+
el.pending = true;
|
|
233
|
+
await elementUpdated(el);
|
|
234
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
235
|
+
el.disabled = false;
|
|
236
|
+
await elementUpdated(el);
|
|
237
|
+
expect(el.getAttribute("aria-label")).to.equal("Pending Button");
|
|
238
|
+
el.pending = false;
|
|
239
|
+
await elementUpdated(el);
|
|
240
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
241
|
+
});
|
|
242
|
+
it("manages aria-label from pending state", async () => {
|
|
243
|
+
const el = await fixture(
|
|
244
|
+
html`
|
|
245
|
+
<sp-button
|
|
246
|
+
href="test_url"
|
|
247
|
+
target="_blank"
|
|
248
|
+
label="clickable"
|
|
249
|
+
pending
|
|
250
|
+
>
|
|
251
|
+
Click me
|
|
252
|
+
</sp-button>
|
|
253
|
+
`
|
|
254
|
+
);
|
|
255
|
+
await elementUpdated(el);
|
|
256
|
+
expect(el.getAttribute("aria-label")).to.equal("Pending");
|
|
257
|
+
el.disabled = true;
|
|
258
|
+
await elementUpdated(el);
|
|
259
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
260
|
+
el.pending = false;
|
|
261
|
+
await elementUpdated(el);
|
|
262
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
263
|
+
el.disabled = false;
|
|
264
|
+
await elementUpdated(el);
|
|
265
|
+
expect(el.getAttribute("aria-label")).to.equal("clickable");
|
|
266
|
+
});
|
|
267
|
+
it("manages aria-label set from outside", async () => {
|
|
268
|
+
const el = await fixture(
|
|
269
|
+
html`
|
|
270
|
+
<sp-button
|
|
271
|
+
href="test_url"
|
|
272
|
+
target="_blank"
|
|
273
|
+
aria-label="test"
|
|
274
|
+
pending-label="Pending Button"
|
|
275
|
+
>
|
|
276
|
+
Click me
|
|
277
|
+
</sp-button>
|
|
278
|
+
`
|
|
279
|
+
);
|
|
280
|
+
await elementUpdated(el);
|
|
281
|
+
expect(el.getAttribute("aria-label")).to.equal("test");
|
|
282
|
+
el.pending = true;
|
|
283
|
+
await elementUpdated(el);
|
|
284
|
+
expect(el.getAttribute("aria-label")).to.equal("Pending Button");
|
|
285
|
+
el.disabled = true;
|
|
286
|
+
await elementUpdated(el);
|
|
287
|
+
expect(el.getAttribute("aria-label")).to.equal("test");
|
|
288
|
+
el.disabled = false;
|
|
289
|
+
await elementUpdated(el);
|
|
290
|
+
expect(el.getAttribute("aria-label")).to.equal("Pending Button");
|
|
291
|
+
el.pending = false;
|
|
292
|
+
await elementUpdated(el);
|
|
293
|
+
expect(el.getAttribute("aria-label")).to.equal("test");
|
|
294
|
+
});
|
|
295
|
+
it("updates pending label accessibly", async () => {
|
|
296
|
+
const el = await fixture(
|
|
297
|
+
html`
|
|
298
|
+
<sp-button href="test_url" target="_blank">Button</sp-button>
|
|
299
|
+
`
|
|
300
|
+
);
|
|
301
|
+
await elementUpdated(el);
|
|
302
|
+
el.pending = true;
|
|
303
|
+
await elementUpdated(el);
|
|
304
|
+
await nextFrame();
|
|
305
|
+
let snapshot = await a11ySnapshot({});
|
|
306
|
+
expect(
|
|
307
|
+
findAccessibilityNode(
|
|
308
|
+
snapshot,
|
|
309
|
+
(node) => node.name === "Pending"
|
|
310
|
+
),
|
|
311
|
+
"`Pending` is the label text"
|
|
312
|
+
).to.not.be.null;
|
|
313
|
+
expect(el.pending).to.be.true;
|
|
314
|
+
el.pending = false;
|
|
315
|
+
await elementUpdated(el);
|
|
316
|
+
await nextFrame();
|
|
317
|
+
snapshot = await a11ySnapshot({});
|
|
318
|
+
expect(
|
|
319
|
+
findAccessibilityNode(
|
|
320
|
+
snapshot,
|
|
321
|
+
(node) => node.name === "Button"
|
|
322
|
+
),
|
|
323
|
+
"`Button` is the label text"
|
|
324
|
+
).to.not.be.null;
|
|
325
|
+
expect(el.pending).to.be.false;
|
|
326
|
+
});
|
|
214
327
|
it("manages tabIndex while disabled", async () => {
|
|
215
328
|
const el = await fixture(
|
|
216
329
|
html`
|
package/test/button.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["button.test.ts"],
|
|
4
|
-
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport { Button } from '@spectrum-web-components/button';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n waitUntil,\n} from '@open-wc/testing';\nimport {\n shiftTabEvent,\n testForLitDevWarnings,\n} from '../../../test/testing-helpers.js';\nimport { spy } from 'sinon';\n\ntype TestableButtonType = {\n hasLabel: boolean;\n};\n\ndescribe('Button', () => {\n testForLitDevWarnings(\n async () =>\n await fixture<Button>(\n html`\n <sp-button tabindex=\"0\">Button</sp-button>\n `\n )\n );\n it('loads default', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button tabindex=\"0\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('Button');\n await expect(el).to.be.accessible();\n\n // Applies a default variant as an stylable attribute\n expect(el.variant).to.equal('accent');\n expect(el.getAttribute('variant')).to.equal('accent');\n });\n it('loads default w/ element content', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\"><svg></svg></sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n await expect(el).to.be.accessible();\n });\n it('loads default w/ an icon', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"\">\n Button\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('Button');\n expect(!(el as unknown as { hasIcon: boolean }).hasIcon);\n await expect(el).to.be.accessible();\n });\n it('loads default only icon', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\" icon-only>\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n await expect(el).to.be.accessible();\n });\n it('manages \"role\"', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('button');\n\n el.href = '#';\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('link');\n\n el.removeAttribute('href');\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('button');\n });\n it('allows label to be toggled', async () => {\n const testNode = document.createTextNode('Button');\n const el = await fixture<Button>(\n html`\n <sp-button>\n ${testNode}\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n const labelTestableEl = el as unknown as TestableButtonType;\n\n expect(labelTestableEl.hasLabel, 'starts with label').to.be.true;\n\n testNode.textContent = '';\n\n await elementUpdated(el);\n\n await waitUntil(() => !labelTestableEl.hasLabel, 'label is removed');\n\n testNode.textContent = 'Button';\n\n await elementUpdated(el);\n\n expect(labelTestableEl.hasLabel, 'label is returned').to.be.true;\n });\n it('loads with href', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\">With Href</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('With Href');\n });\n it('loads with href and target', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('With Target');\n });\n it('accepts shit+tab interactions', async () => {\n let focusedCount = 0;\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n const focusElement = el.focusElement as HTMLButtonElement;\n focusElement.addEventListener('focus', () => (focusedCount += 1));\n expect(focusedCount).to.equal(0);\n\n el.focus();\n await elementUpdated(el);\n\n expect(focusedCount).to.equal(1);\n\n el.dispatchEvent(shiftTabEvent());\n el.dispatchEvent(new Event('focusin'));\n await elementUpdated(el);\n\n expect(focusedCount).to.equal(1);\n });\n it('manages `disabled`', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button @click=${() => clickSpy()}>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n el.click();\n await elementUpdated(el);\n expect(clickSpy.calledOnce).to.be.true;\n\n clickSpy.resetHistory();\n el.disabled = true;\n await elementUpdated(el);\n el.click();\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n clickSpy.resetHistory();\n await elementUpdated(el);\n el.dispatchEvent(new Event('click', {}));\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n clickSpy.resetHistory();\n el.disabled = false;\n el.click();\n await elementUpdated(el);\n expect(clickSpy.calledOnce).to.be.true;\n });\n it('`disabled` manages `tabindex`', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button disabled>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.tabIndex).to.equal(-1);\n expect(el.getAttribute('tabindex')).to.equal('-1');\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(0);\n expect(el.getAttribute('tabindex')).to.equal('0');\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n expect(el.getAttribute('tabindex')).to.equal('-1');\n });\n it('manages `aria-disabled`', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.hasAttribute('aria-disabled'), 'initially not').to.be.false;\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.getAttribute('aria-disabled')).to.equal('true');\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.hasAttribute('aria-disabled'), 'finally not').to.be.false;\n });\n it('manages tabIndex while disabled', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(0);\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n\n el.tabIndex = 2;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(2);\n });\n it('swallows `click` interaction when `[disabled]`', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button disabled @click=${() => clickSpy()}>\n Button\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n el.click();\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n });\n it('translates keyboard interactions to click', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button @click=${() => clickSpy()}>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Enter',\n key: 'Enter',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'NumpadEnter',\n key: 'NumpadEnter',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'KeyG',\n key: 'g',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'KeyG',\n key: 'g',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n });\n it('proxies clicks by \"type\"', async () => {\n const submitSpy = spy();\n const resetSpy = spy();\n const test = await fixture<HTMLFormElement>(\n html`\n <form\n @submit=${(event: Event): void => {\n event.preventDefault();\n submitSpy();\n }}\n @reset=${(event: Event): void => {\n event.preventDefault();\n resetSpy();\n }}\n >\n <sp-button>Button</sp-button>\n </form>\n `\n );\n const el = test.querySelector('sp-button') as Button;\n\n await elementUpdated(el);\n el.type = 'submit';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(0);\n\n el.type = 'reset';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(1);\n\n el.type = 'button';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(1);\n });\n it('proxies click by [href]', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\">With Href</sp-button>\n `\n );\n\n await elementUpdated(el);\n (\n el as unknown as {\n anchorElement: HTMLAnchorElement;\n }\n ).anchorElement.addEventListener('click', (event: Event): void => {\n event.preventDefault();\n event.stopPropagation();\n clickSpy();\n });\n expect(clickSpy.callCount).to.equal(0);\n\n el.click();\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n });\n it('manages \"active\" while focused', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\">\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n el.active = true;\n await elementUpdated(el);\n\n el.dispatchEvent(new FocusEvent('focusout'));\n await elementUpdated(el);\n\n expect(el.active).to.be.false;\n });\n describe('deprecated variants and attributes', () => {\n it('manages [quiet]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button quiet>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.treatment).to.equal('outline');\n\n el.quiet = false;\n\n await elementUpdated(el);\n expect(el.treatment).to.equal('fill');\n });\n it('upgrades [variant=\"cta\"] to [variant=\"accent\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"cta\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.variant).to.equal('accent');\n });\n it('manages [variant=\"overBackground\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"overBackground\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.hasAttribute('variant')).to.not.equal('overBackground');\n expect(el.treatment).to.equal('outline');\n expect(el.static).to.equal('white');\n });\n it('forces [variant=\"accent\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"not-supported\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.variant).to.equal('accent');\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport { Button } from '@spectrum-web-components/button';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n nextFrame,\n waitUntil,\n} from '@open-wc/testing';\nimport {\n shiftTabEvent,\n testForLitDevWarnings,\n} from '../../../test/testing-helpers.js';\nimport { a11ySnapshot, findAccessibilityNode } from '@web/test-runner-commands';\nimport { spy } from 'sinon';\n\ntype TestableButtonType = {\n hasLabel: boolean;\n};\n\ndescribe('Button', () => {\n testForLitDevWarnings(\n async () =>\n await fixture<Button>(\n html`\n <sp-button tabindex=\"0\">Button</sp-button>\n `\n )\n );\n it('loads default', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button tabindex=\"0\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('Button');\n await expect(el).to.be.accessible();\n\n // Applies a default variant as an stylable attribute\n expect(el.variant).to.equal('accent');\n expect(el.getAttribute('variant')).to.equal('accent');\n });\n it('loads default w/ element content', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\"><svg></svg></sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n await expect(el).to.be.accessible();\n });\n it('loads default w/ an icon', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"\">\n Button\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('Button');\n expect(!(el as unknown as { hasIcon: boolean }).hasIcon);\n await expect(el).to.be.accessible();\n });\n it('loads default only icon', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\" icon-only>\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n await expect(el).to.be.accessible();\n });\n it('manages \"role\"', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('button');\n\n el.href = '#';\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('link');\n\n el.removeAttribute('href');\n\n await elementUpdated(el);\n expect(el.getAttribute('role')).to.equal('button');\n });\n it('allows label to be toggled', async () => {\n const testNode = document.createTextNode('Button');\n const el = await fixture<Button>(\n html`\n <sp-button>\n ${testNode}\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n const labelTestableEl = el as unknown as TestableButtonType;\n\n expect(labelTestableEl.hasLabel, 'starts with label').to.be.true;\n\n testNode.textContent = '';\n\n await elementUpdated(el);\n\n await waitUntil(() => !labelTestableEl.hasLabel, 'label is removed');\n\n testNode.textContent = 'Button';\n\n await elementUpdated(el);\n\n expect(labelTestableEl.hasLabel, 'label is returned').to.be.true;\n });\n it('loads with href', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\">With Href</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('With Href');\n });\n it('loads with href and target', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n expect(el.textContent).to.include('With Target');\n });\n it('accepts shit+tab interactions', async () => {\n let focusedCount = 0;\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n const focusElement = el.focusElement as HTMLButtonElement;\n focusElement.addEventListener('focus', () => (focusedCount += 1));\n expect(focusedCount).to.equal(0);\n\n el.focus();\n await elementUpdated(el);\n\n expect(focusedCount).to.equal(1);\n\n el.dispatchEvent(shiftTabEvent());\n el.dispatchEvent(new Event('focusin'));\n await elementUpdated(el);\n\n expect(focusedCount).to.equal(1);\n });\n it('manages `disabled`', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button @click=${() => clickSpy()}>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n el.click();\n await elementUpdated(el);\n expect(clickSpy.calledOnce).to.be.true;\n\n clickSpy.resetHistory();\n el.disabled = true;\n await elementUpdated(el);\n el.click();\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n clickSpy.resetHistory();\n await elementUpdated(el);\n el.dispatchEvent(new Event('click', {}));\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n clickSpy.resetHistory();\n el.disabled = false;\n el.click();\n await elementUpdated(el);\n expect(clickSpy.calledOnce).to.be.true;\n });\n it('`disabled` manages `tabindex`', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button disabled>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.tabIndex).to.equal(-1);\n expect(el.getAttribute('tabindex')).to.equal('-1');\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(0);\n expect(el.getAttribute('tabindex')).to.equal('0');\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n expect(el.getAttribute('tabindex')).to.equal('-1');\n });\n it('manages `aria-disabled`', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.hasAttribute('aria-disabled'), 'initially not').to.be.false;\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.getAttribute('aria-disabled')).to.equal('true');\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.hasAttribute('aria-disabled'), 'finally not').to.be.false;\n });\n it('manages aria-label from disabled state', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button\n href=\"test_url\"\n target=\"_blank\"\n label=\"clickable\"\n disabled\n pending-label=\"Pending Button\"\n >\n Click me\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n\n // button set to pending while disabled and the aria-label should stay the same\n el.pending = true;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n\n // button set to enabled while pending is true and the aria-label should update\n el.disabled = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('Pending Button');\n\n // pending is removed and the aria-label should be back to the original\n el.pending = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n });\n\n it('manages aria-label from pending state', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button\n href=\"test_url\"\n target=\"_blank\"\n label=\"clickable\"\n pending\n >\n Click me\n </sp-button>\n `\n );\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('Pending');\n\n // button set to disabled while pending is true and the aria-label should be original\n el.disabled = true;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n\n // pending is removed and the aria-label should not change as the button is disabled\n el.pending = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n\n // button is enabled and the aria-label should not change\n el.disabled = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('clickable');\n });\n\n it('manages aria-label set from outside', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button\n href=\"test_url\"\n target=\"_blank\"\n aria-label=\"test\"\n pending-label=\"Pending Button\"\n >\n Click me\n </sp-button>\n `\n );\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('test');\n\n // button set to pending and aria-label should update\n el.pending = true;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('Pending Button');\n\n // button set to disabled while pending and aria-label should update\n el.disabled = true;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('test');\n\n // button set to enabled while pending and aria-label should update\n el.disabled = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('Pending Button');\n\n // pending removed and aria-label should update\n el.pending = false;\n await elementUpdated(el);\n expect(el.getAttribute('aria-label')).to.equal('test');\n });\n\n it('updates pending label accessibly', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n el.pending = true;\n await elementUpdated(el);\n\n await nextFrame();\n\n type NamedNode = { name: string };\n let snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Pending'\n ),\n '`Pending` is the label text'\n ).to.not.be.null;\n\n expect(el.pending).to.be.true;\n\n // remove pending state\n el.pending = false;\n await elementUpdated(el);\n\n await nextFrame();\n\n snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n\n // check label returns to previous value\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Button'\n ),\n '`Button` is the label text'\n ).to.not.be.null;\n\n expect(el.pending).to.be.false;\n });\n\n it('manages tabIndex while disabled', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\" target=\"_blank\">\n With Target\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(0);\n\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n\n el.tabIndex = 2;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(-1);\n\n el.disabled = false;\n await elementUpdated(el);\n\n expect(el.tabIndex).to.equal(2);\n });\n it('swallows `click` interaction when `[disabled]`', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button disabled @click=${() => clickSpy()}>\n Button\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n el.click();\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n });\n it('translates keyboard interactions to click', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button @click=${() => clickSpy()}>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Enter',\n key: 'Enter',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'NumpadEnter',\n key: 'NumpadEnter',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keypress', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'KeyG',\n key: 'g',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n clickSpy.resetHistory();\n\n el.dispatchEvent(\n new KeyboardEvent('keydown', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'KeyG',\n key: 'g',\n })\n );\n el.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n code: 'Space',\n key: 'Space',\n })\n );\n\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(0);\n });\n it('proxies clicks by \"type\"', async () => {\n const submitSpy = spy();\n const resetSpy = spy();\n const test = await fixture<HTMLFormElement>(\n html`\n <form\n @submit=${(event: Event): void => {\n event.preventDefault();\n submitSpy();\n }}\n @reset=${(event: Event): void => {\n event.preventDefault();\n resetSpy();\n }}\n >\n <sp-button>Button</sp-button>\n </form>\n `\n );\n const el = test.querySelector('sp-button') as Button;\n\n await elementUpdated(el);\n el.type = 'submit';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(0);\n\n el.type = 'reset';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(1);\n\n el.type = 'button';\n\n await elementUpdated(el);\n el.click();\n\n expect(submitSpy.callCount).to.equal(1);\n expect(resetSpy.callCount).to.equal(1);\n });\n it('proxies click by [href]', async () => {\n const clickSpy = spy();\n const el = await fixture<Button>(\n html`\n <sp-button href=\"test_url\">With Href</sp-button>\n `\n );\n\n await elementUpdated(el);\n (\n el as unknown as {\n anchorElement: HTMLAnchorElement;\n }\n ).anchorElement.addEventListener('click', (event: Event): void => {\n event.preventDefault();\n event.stopPropagation();\n clickSpy();\n });\n expect(clickSpy.callCount).to.equal(0);\n\n el.click();\n await elementUpdated(el);\n expect(clickSpy.callCount).to.equal(1);\n });\n it('manages \"active\" while focused', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button label=\"Button\">\n <svg slot=\"icon\"></svg>\n </sp-button>\n `\n );\n\n await elementUpdated(el);\n el.active = true;\n await elementUpdated(el);\n\n el.dispatchEvent(new FocusEvent('focusout'));\n await elementUpdated(el);\n\n expect(el.active).to.be.false;\n });\n describe('deprecated variants and attributes', () => {\n it('manages [quiet]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button quiet>Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.treatment).to.equal('outline');\n\n el.quiet = false;\n\n await elementUpdated(el);\n expect(el.treatment).to.equal('fill');\n });\n it('upgrades [variant=\"cta\"] to [variant=\"accent\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"cta\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.variant).to.equal('accent');\n });\n it('manages [variant=\"overBackground\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"overBackground\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.hasAttribute('variant')).to.not.equal('overBackground');\n expect(el.treatment).to.equal('outline');\n expect(el.static).to.equal('white');\n });\n it('forces [variant=\"accent\"]', async () => {\n const el = await fixture<Button>(\n html`\n <sp-button variant=\"not-supported\">Button</sp-button>\n `\n );\n\n await elementUpdated(el);\n expect(el.variant).to.equal('accent');\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|