@spectrum-web-components/radio 0.37.0 → 0.38.0

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 CHANGED
@@ -91,6 +91,8 @@ import {
91
91
 
92
92
  Standard radio buttons are the default style for radio buttons. They are optimal for application panels where all visual elements are monochrome in order to direct focus to the content.
93
93
 
94
+ Invalid selections in radio groups are identified using the `negative-help-text` slot. Read more about using [help text](#help-text) below.
95
+
94
96
  ```html-live
95
97
  <div style="display: flex; justify-content: space-between;">
96
98
  <div style="display: flex; flex-direction: column;">
@@ -107,9 +109,12 @@ Standard radio buttons are the default style for radio buttons. They are optimal
107
109
  <sp-field-label for="example-2" size="l">
108
110
  <h4 class="spectrum-Heading--subtitle1">Invalid</h4>
109
111
  </sp-field-label>
110
- <sp-radio-group id="example-2" name="example" vertical>
112
+ <sp-radio-group invalid id="example-2" name="example" vertical>
111
113
  <sp-radio invalid value="kittens">Kittens</sp-radio>
112
114
  <sp-radio invalid value="puppies" checked>Puppies</sp-radio>
115
+ <sp-help-text slot="negative-help-text" icon>
116
+ This selection is invalid.
117
+ </sp-help-text>
113
118
  </sp-radio-group>
114
119
  </div>
115
120
 
@@ -129,6 +134,8 @@ Standard radio buttons are the default style for radio buttons. They are optimal
129
134
 
130
135
  Emphasized radio buttons are a secondary style for radio buttons. The blue color provides a visual prominence that is optimal for forms, settings, etc. where the radio buttons need to be noticed.
131
136
 
137
+ Invalid selections in radio groups are identified using the `negative-help-text` slot. Read more about using [help text](#help-text) below.
138
+
132
139
  ```html-live
133
140
  <div style="display: flex; justify-content: space-between;">
134
141
  <div style="display: flex; flex-direction: column;">
@@ -145,9 +152,12 @@ Emphasized radio buttons are a secondary style for radio buttons. The blue color
145
152
  <sp-field-label for="example-b" size="l">
146
153
  <h4 class="spectrum-Heading--subtitle1">Invalid</h4>
147
154
  </sp-field-label>
148
- <sp-radio-group id="example-b" name="example" vertical>
155
+ <sp-radio-group invalid id="example-b" name="example" vertical>
149
156
  <sp-radio emphasized invalid value="kittens">Kittens</sp-radio>
150
157
  <sp-radio emphasized invalid value="puppies" checked>Puppies</sp-radio>
158
+ <sp-help-text slot="negative-help-text" icon>
159
+ This selection is invalid.
160
+ </sp-help-text>
151
161
  </sp-radio-group>
152
162
  </div>
153
163
 
@@ -334,7 +334,7 @@
334
334
  {
335
335
  "kind": "field",
336
336
  "name": "rovingTabindexController",
337
- "default": "new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this.selected = el.value;\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n })"
337
+ "default": "new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this._setSelected(el.value);\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n })"
338
338
  },
339
339
  {
340
340
  "kind": "method",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/radio",
3
- "version": "0.37.0",
3
+ "version": "0.38.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -65,11 +65,11 @@
65
65
  "lit-html"
66
66
  ],
67
67
  "dependencies": {
68
- "@spectrum-web-components/base": "^0.37.0",
69
- "@spectrum-web-components/field-group": "^0.37.0",
70
- "@spectrum-web-components/help-text": "^0.37.0",
71
- "@spectrum-web-components/reactive-controllers": "^0.37.0",
72
- "@spectrum-web-components/shared": "^0.37.0"
68
+ "@spectrum-web-components/base": "^0.38.0",
69
+ "@spectrum-web-components/field-group": "^0.38.0",
70
+ "@spectrum-web-components/help-text": "^0.38.0",
71
+ "@spectrum-web-components/reactive-controllers": "^0.38.0",
72
+ "@spectrum-web-components/shared": "^0.38.0"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@spectrum-css/radio": "^7.0.46"
@@ -80,5 +80,5 @@
80
80
  "./sp-*.js",
81
81
  "./**/*.dev.js"
82
82
  ],
83
- "gitHead": "d771f62f0d8063070af43283bb0fd5e3400bad06"
83
+ "gitHead": "9a099b7543672f2fd4030833ab813b16c2cad62e"
84
84
  }
package/src/Radio.dev.js CHANGED
@@ -19,7 +19,8 @@ import { property } from "@spectrum-web-components/base/src/decorators.js";
19
19
  import { FocusVisiblePolyfillMixin } from "@spectrum-web-components/shared/src/focus-visible.js";
20
20
  import radioStyles from "./radio.css.js";
21
21
  export class Radio extends SizedMixin(
22
- FocusVisiblePolyfillMixin(SpectrumElement)
22
+ FocusVisiblePolyfillMixin(SpectrumElement),
23
+ { noDefaultSize: true }
23
24
  ) {
24
25
  constructor() {
25
26
  super(...arguments);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["Radio.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 {\n CSSResultArray,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\n\nimport radioStyles from './radio.css.js';\n\n/**\n * @element sp-radio\n *\n * @slot - text label of the Radio button\n * @attr invalid - Uses the invalid style\n * @attr disabled - Uses the disabled style\n * @attr checked - Represents when the input is checked\n * @attr value - Identifies this radio button within its radio group\n *\n * @fires change - When the input is interacted with and its state is changed\n */\nexport class Radio extends SizedMixin(\n FocusVisiblePolyfillMixin(SpectrumElement)\n) {\n public static override get styles(): CSSResultArray {\n return [radioStyles];\n }\n\n /**\n * When this control is rendered, focus it automatically\n * @private\n */\n @property({ type: Boolean })\n public override autofocus = false;\n\n @property({ type: String, reflect: true })\n public value = '';\n\n @property({ type: Boolean, reflect: true })\n public checked = false;\n\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n this.activate();\n }\n\n protected manageAutoFocus(): void {\n if (this.autofocus) {\n /**\n * Trick :focus-visible polyfill into thinking keyboard based focus\n *\n * @private\n **/\n this.dispatchEvent(\n new KeyboardEvent('keydown', {\n code: 'Tab',\n })\n );\n this.focus();\n }\n }\n\n protected activate(): void {\n if (this.checked) {\n return;\n }\n this.checked = true;\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected handleKeyup(event: KeyboardEvent): void {\n if (event.code === 'Space') {\n this.activate();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"input\"></div>\n <span id=\"button\"></span>\n <span id=\"label\" role=\"presentation\"><slot></slot></span>\n `;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n this.setAttribute('role', 'radio');\n if (!this.hasAttribute('tabindex')) {\n this.tabIndex = 0;\n }\n this.manageAutoFocus();\n this.addEventListener('click', this.activate);\n this.addEventListener('keyup', this.handleKeyup);\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.setAttribute('aria-invalid', 'true');\n } else {\n this.removeAttribute('aria-invalid');\n }\n }\n if (changes.has('checked')) {\n if (this.checked) {\n this.setAttribute('aria-checked', 'true');\n } else {\n this.setAttribute('aria-checked', 'false');\n }\n }\n if (changes.has('disabled')) {\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\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 {\n CSSResultArray,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\n\nimport radioStyles from './radio.css.js';\n\n/**\n * @element sp-radio\n *\n * @slot - text label of the Radio button\n * @attr invalid - Uses the invalid style\n * @attr disabled - Uses the disabled style\n * @attr checked - Represents when the input is checked\n * @attr value - Identifies this radio button within its radio group\n *\n * @fires change - When the input is interacted with and its state is changed\n */\nexport class Radio extends SizedMixin(\n FocusVisiblePolyfillMixin(SpectrumElement),\n { noDefaultSize: true }\n) {\n public static override get styles(): CSSResultArray {\n return [radioStyles];\n }\n\n /**\n * When this control is rendered, focus it automatically\n * @private\n */\n @property({ type: Boolean })\n public override autofocus = false;\n\n @property({ type: String, reflect: true })\n public value = '';\n\n @property({ type: Boolean, reflect: true })\n public checked = false;\n\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n this.activate();\n }\n\n protected manageAutoFocus(): void {\n if (this.autofocus) {\n /**\n * Trick :focus-visible polyfill into thinking keyboard based focus\n *\n * @private\n **/\n this.dispatchEvent(\n new KeyboardEvent('keydown', {\n code: 'Tab',\n })\n );\n this.focus();\n }\n }\n\n protected activate(): void {\n if (this.checked) {\n return;\n }\n this.checked = true;\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected handleKeyup(event: KeyboardEvent): void {\n if (event.code === 'Space') {\n this.activate();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"input\"></div>\n <span id=\"button\"></span>\n <span id=\"label\" role=\"presentation\"><slot></slot></span>\n `;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n this.setAttribute('role', 'radio');\n if (!this.hasAttribute('tabindex')) {\n this.tabIndex = 0;\n }\n this.manageAutoFocus();\n this.addEventListener('click', this.activate);\n this.addEventListener('keyup', this.handleKeyup);\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.setAttribute('aria-invalid', 'true');\n } else {\n this.removeAttribute('aria-invalid');\n }\n }\n if (changes.has('checked')) {\n if (this.checked) {\n this.setAttribute('aria-checked', 'true');\n } else {\n this.setAttribute('aria-checked', 'false');\n }\n }\n if (changes.has('disabled')) {\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/src/Radio.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var t=(l,s,e,a)=>{for(var i=a>1?void 0:a?c(s,e):s,d=l.length-1,o;d>=0;d--)(o=l[d])&&(i=(a?o(s,e,i):o(i))||i);return a&&i&&u(s,e,i),i};import{html as p,SizedMixin as n,SpectrumElement as h}from"@spectrum-web-components/base";import{property as r}from"@spectrum-web-components/base/src/decorators.js";import{FocusVisiblePolyfillMixin as b}from"@spectrum-web-components/shared/src/focus-visible.js";import f from"./radio.css.js";export class Radio extends n(b(h)){constructor(){super(...arguments);this.autofocus=!1;this.value="";this.checked=!1;this.disabled=!1;this.emphasized=!1;this.invalid=!1;this.readonly=!1}static get styles(){return[f]}click(){this.disabled||this.activate()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent("keydown",{code:"Tab"})),this.focus())}activate(){this.checked||(this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}handleKeyup(e){e.code==="Space"&&this.activate()}render(){return p`
1
+ "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var t=(l,s,e,a)=>{for(var i=a>1?void 0:a?c(s,e):s,d=l.length-1,o;d>=0;d--)(o=l[d])&&(i=(a?o(s,e,i):o(i))||i);return a&&i&&u(s,e,i),i};import{html as p,SizedMixin as n,SpectrumElement as h}from"@spectrum-web-components/base";import{property as r}from"@spectrum-web-components/base/src/decorators.js";import{FocusVisiblePolyfillMixin as f}from"@spectrum-web-components/shared/src/focus-visible.js";import b from"./radio.css.js";export class Radio extends n(f(h),{noDefaultSize:!0}){constructor(){super(...arguments);this.autofocus=!1;this.value="";this.checked=!1;this.disabled=!1;this.emphasized=!1;this.invalid=!1;this.readonly=!1}static get styles(){return[b]}click(){this.disabled||this.activate()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent("keydown",{code:"Tab"})),this.focus())}activate(){this.checked||(this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}handleKeyup(e){e.code==="Space"&&this.activate()}render(){return p`
2
2
  <div id="input"></div>
3
3
  <span id="button"></span>
4
4
  <span id="label" role="presentation"><slot></slot></span>
package/src/Radio.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["Radio.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 {\n CSSResultArray,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\n\nimport radioStyles from './radio.css.js';\n\n/**\n * @element sp-radio\n *\n * @slot - text label of the Radio button\n * @attr invalid - Uses the invalid style\n * @attr disabled - Uses the disabled style\n * @attr checked - Represents when the input is checked\n * @attr value - Identifies this radio button within its radio group\n *\n * @fires change - When the input is interacted with and its state is changed\n */\nexport class Radio extends SizedMixin(\n FocusVisiblePolyfillMixin(SpectrumElement)\n) {\n public static override get styles(): CSSResultArray {\n return [radioStyles];\n }\n\n /**\n * When this control is rendered, focus it automatically\n * @private\n */\n @property({ type: Boolean })\n public override autofocus = false;\n\n @property({ type: String, reflect: true })\n public value = '';\n\n @property({ type: Boolean, reflect: true })\n public checked = false;\n\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n this.activate();\n }\n\n protected manageAutoFocus(): void {\n if (this.autofocus) {\n /**\n * Trick :focus-visible polyfill into thinking keyboard based focus\n *\n * @private\n **/\n this.dispatchEvent(\n new KeyboardEvent('keydown', {\n code: 'Tab',\n })\n );\n this.focus();\n }\n }\n\n protected activate(): void {\n if (this.checked) {\n return;\n }\n this.checked = true;\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected handleKeyup(event: KeyboardEvent): void {\n if (event.code === 'Space') {\n this.activate();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"input\"></div>\n <span id=\"button\"></span>\n <span id=\"label\" role=\"presentation\"><slot></slot></span>\n `;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n this.setAttribute('role', 'radio');\n if (!this.hasAttribute('tabindex')) {\n this.tabIndex = 0;\n }\n this.manageAutoFocus();\n this.addEventListener('click', this.activate);\n this.addEventListener('keyup', this.handleKeyup);\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.setAttribute('aria-invalid', 'true');\n } else {\n this.removeAttribute('aria-invalid');\n }\n }\n if (changes.has('checked')) {\n if (this.checked) {\n this.setAttribute('aria-checked', 'true');\n } else {\n this.setAttribute('aria-checked', 'false');\n }\n }\n if (changes.has('disabled')) {\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n }\n}\n"],
5
- "mappings": "qNAYA,OAEI,QAAAA,EAEA,cAAAC,EACA,mBAAAC,MAEG,gCACP,OAAS,YAAAC,MAAgB,kDACzB,OAAS,6BAAAC,MAAiC,uDAE1C,OAAOC,MAAiB,iBAajB,aAAM,cAAcJ,EACvBG,EAA0BF,CAAe,CAC7C,CAAE,CAFK,kCAYH,KAAgB,UAAY,GAG5B,KAAO,MAAQ,GAGf,KAAO,QAAU,GAGjB,KAAO,SAAW,GAGlB,KAAO,WAAa,GAGpB,KAAO,QAAU,GAGjB,KAAO,SAAW,GA3BlB,WAA2B,QAAyB,CAChD,MAAO,CAACG,CAAW,CACvB,CA2BgB,OAAc,CACtB,KAAK,UAGT,KAAK,SAAS,CAClB,CAEU,iBAAwB,CAC1B,KAAK,YAML,KAAK,cACD,IAAI,cAAc,UAAW,CACzB,KAAM,KACV,CAAC,CACL,EACA,KAAK,MAAM,EAEnB,CAEU,UAAiB,CACnB,KAAK,UAGT,KAAK,QAAU,GACf,KAAK,cACD,IAAI,MAAM,SAAU,CAChB,QAAS,GACT,SAAU,EACd,CAAC,CACL,EACJ,CAEU,YAAYC,EAA4B,CAC1CA,EAAM,OAAS,SACf,KAAK,SAAS,CAEtB,CAEmB,QAAyB,CACxC,OAAON;AAAA;AAAA;AAAA;AAAA,SAKX,CAEmB,aAAaO,EAA+B,CAC3D,MAAM,aAAaA,CAAO,EAC1B,KAAK,aAAa,OAAQ,OAAO,EAC5B,KAAK,aAAa,UAAU,IAC7B,KAAK,SAAW,GAEpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,QAAS,KAAK,QAAQ,EAC5C,KAAK,iBAAiB,QAAS,KAAK,WAAW,CACnD,CAEmB,QAAQA,EAA+B,CACtD,MAAM,QAAQA,CAAO,EACjBA,EAAQ,IAAI,SAAS,IACjB,KAAK,QACL,KAAK,aAAa,eAAgB,MAAM,EAExC,KAAK,gBAAgB,cAAc,GAGvCA,EAAQ,IAAI,SAAS,IACjB,KAAK,QACL,KAAK,aAAa,eAAgB,MAAM,EAExC,KAAK,aAAa,eAAgB,OAAO,GAG7CA,EAAQ,IAAI,UAAU,IAClB,KAAK,SACL,KAAK,aAAa,gBAAiB,MAAM,EAEzC,KAAK,gBAAgB,eAAe,EAGhD,CACJ,CAzGoBC,EAAA,CADfL,EAAS,CAAE,KAAM,OAAQ,CAAC,GAXlB,MAYO,yBAGTK,EAAA,CADNL,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAdhC,MAeF,qBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAjBjC,MAkBF,uBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GApBjC,MAqBF,wBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAvBjC,MAwBF,0BAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA1BjC,MA2BF,uBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA7BjC,MA8BF",
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 {\n CSSResultArray,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\n\nimport radioStyles from './radio.css.js';\n\n/**\n * @element sp-radio\n *\n * @slot - text label of the Radio button\n * @attr invalid - Uses the invalid style\n * @attr disabled - Uses the disabled style\n * @attr checked - Represents when the input is checked\n * @attr value - Identifies this radio button within its radio group\n *\n * @fires change - When the input is interacted with and its state is changed\n */\nexport class Radio extends SizedMixin(\n FocusVisiblePolyfillMixin(SpectrumElement),\n { noDefaultSize: true }\n) {\n public static override get styles(): CSSResultArray {\n return [radioStyles];\n }\n\n /**\n * When this control is rendered, focus it automatically\n * @private\n */\n @property({ type: Boolean })\n public override autofocus = false;\n\n @property({ type: String, reflect: true })\n public value = '';\n\n @property({ type: Boolean, reflect: true })\n public checked = false;\n\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n this.activate();\n }\n\n protected manageAutoFocus(): void {\n if (this.autofocus) {\n /**\n * Trick :focus-visible polyfill into thinking keyboard based focus\n *\n * @private\n **/\n this.dispatchEvent(\n new KeyboardEvent('keydown', {\n code: 'Tab',\n })\n );\n this.focus();\n }\n }\n\n protected activate(): void {\n if (this.checked) {\n return;\n }\n this.checked = true;\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n protected handleKeyup(event: KeyboardEvent): void {\n if (event.code === 'Space') {\n this.activate();\n }\n }\n\n protected override render(): TemplateResult {\n return html`\n <div id=\"input\"></div>\n <span id=\"button\"></span>\n <span id=\"label\" role=\"presentation\"><slot></slot></span>\n `;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n this.setAttribute('role', 'radio');\n if (!this.hasAttribute('tabindex')) {\n this.tabIndex = 0;\n }\n this.manageAutoFocus();\n this.addEventListener('click', this.activate);\n this.addEventListener('keyup', this.handleKeyup);\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.setAttribute('aria-invalid', 'true');\n } else {\n this.removeAttribute('aria-invalid');\n }\n }\n if (changes.has('checked')) {\n if (this.checked) {\n this.setAttribute('aria-checked', 'true');\n } else {\n this.setAttribute('aria-checked', 'false');\n }\n }\n if (changes.has('disabled')) {\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n }\n}\n"],
5
+ "mappings": "qNAYA,OAEI,QAAAA,EAEA,cAAAC,EACA,mBAAAC,MAEG,gCACP,OAAS,YAAAC,MAAgB,kDACzB,OAAS,6BAAAC,MAAiC,uDAE1C,OAAOC,MAAiB,iBAajB,aAAM,cAAcJ,EACvBG,EAA0BF,CAAe,EACzC,CAAE,cAAe,EAAK,CAC1B,CAAE,CAHK,kCAaH,KAAgB,UAAY,GAG5B,KAAO,MAAQ,GAGf,KAAO,QAAU,GAGjB,KAAO,SAAW,GAGlB,KAAO,WAAa,GAGpB,KAAO,QAAU,GAGjB,KAAO,SAAW,GA3BlB,WAA2B,QAAyB,CAChD,MAAO,CAACG,CAAW,CACvB,CA2BgB,OAAc,CACtB,KAAK,UAGT,KAAK,SAAS,CAClB,CAEU,iBAAwB,CAC1B,KAAK,YAML,KAAK,cACD,IAAI,cAAc,UAAW,CACzB,KAAM,KACV,CAAC,CACL,EACA,KAAK,MAAM,EAEnB,CAEU,UAAiB,CACnB,KAAK,UAGT,KAAK,QAAU,GACf,KAAK,cACD,IAAI,MAAM,SAAU,CAChB,QAAS,GACT,SAAU,EACd,CAAC,CACL,EACJ,CAEU,YAAYC,EAA4B,CAC1CA,EAAM,OAAS,SACf,KAAK,SAAS,CAEtB,CAEmB,QAAyB,CACxC,OAAON;AAAA;AAAA;AAAA;AAAA,SAKX,CAEmB,aAAaO,EAA+B,CAC3D,MAAM,aAAaA,CAAO,EAC1B,KAAK,aAAa,OAAQ,OAAO,EAC5B,KAAK,aAAa,UAAU,IAC7B,KAAK,SAAW,GAEpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,QAAS,KAAK,QAAQ,EAC5C,KAAK,iBAAiB,QAAS,KAAK,WAAW,CACnD,CAEmB,QAAQA,EAA+B,CACtD,MAAM,QAAQA,CAAO,EACjBA,EAAQ,IAAI,SAAS,IACjB,KAAK,QACL,KAAK,aAAa,eAAgB,MAAM,EAExC,KAAK,gBAAgB,cAAc,GAGvCA,EAAQ,IAAI,SAAS,IACjB,KAAK,QACL,KAAK,aAAa,eAAgB,MAAM,EAExC,KAAK,aAAa,eAAgB,OAAO,GAG7CA,EAAQ,IAAI,UAAU,IAClB,KAAK,SACL,KAAK,aAAa,gBAAiB,MAAM,EAEzC,KAAK,gBAAgB,eAAe,EAGhD,CACJ,CAzGoBC,EAAA,CADfL,EAAS,CAAE,KAAM,OAAQ,CAAC,GAZlB,MAaO,yBAGTK,EAAA,CADNL,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAfhC,MAgBF,qBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAlBjC,MAmBF,uBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GArBjC,MAsBF,wBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAxBjC,MAyBF,0BAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA3BjC,MA4BF,uBAGAK,EAAA,CADNL,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA9BjC,MA+BF",
6
6
  "names": ["html", "SizedMixin", "SpectrumElement", "property", "FocusVisiblePolyfillMixin", "radioStyles", "event", "changes", "__decorateClass"]
7
7
  }
@@ -29,7 +29,7 @@ export class RadioGroup extends FocusVisiblePolyfillMixin(FieldGroup) {
29
29
  });
30
30
  },
31
31
  elementEnterAction: (el) => {
32
- this.selected = el.value;
32
+ this._setSelected(el.value);
33
33
  },
34
34
  elements: () => this.buttons,
35
35
  isFocusableElement: (el) => !el.disabled
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["RadioGroup.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 { PropertyValues } from '@spectrum-web-components/base';\nimport {\n property,\n queryAssignedNodes,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\nimport { FieldGroup } from '@spectrum-web-components/field-group';\n\nimport { Radio } from './Radio.dev.js'\nimport { RovingTabindexController } from '@spectrum-web-components/reactive-controllers/src/RovingTabindex.js';\n\n/**\n * @element sp-radio-group\n *\n * @slot - The `sp-radio` elements to display/manage in the group.\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n *\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class RadioGroup extends FocusVisiblePolyfillMixin(FieldGroup) {\n @property({ type: String })\n public name = '';\n\n @queryAssignedNodes()\n public defaultNodes!: Node[];\n\n public get buttons(): Radio[] {\n return this.defaultNodes.filter(\n (node) => (node as HTMLElement) instanceof Radio\n ) as Radio[];\n }\n\n rovingTabindexController = new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this.selected = el.value;\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n });\n\n public override focus(): void {\n this.rovingTabindexController.focus();\n }\n\n private _setSelected(value: string): void {\n if (value === this.selected) {\n return;\n }\n const oldValue = this.selected;\n const radio = value\n ? (this.querySelector(`sp-radio[value=\"${value}\"]`) as Radio)\n : undefined;\n\n // If no matching radio, selected is reset to empty string\n this.selected = radio ? value : '';\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n cancelable: true,\n bubbles: true,\n composed: true,\n })\n );\n if (!applyDefault) {\n this.selected = oldValue;\n return;\n }\n this.validateRadios();\n }\n\n @property({ reflect: true })\n public selected = '';\n\n protected override willUpdate(changes: PropertyValues<this>): void {\n if (!this.hasUpdated) {\n this.setAttribute('role', 'radiogroup');\n const checkedRadio = this.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const checkedRadioValue = checkedRadio ? checkedRadio.value : '';\n // Prefer the checked item over the selected value\n this.selected = checkedRadioValue || this.selected;\n // Validate the selected value is actual a radio option\n if (this.selected && this.selected !== checkedRadioValue) {\n const selectedRadio = this.querySelector(\n `sp-radio[value=\"${this.selected}\"]`\n ) as Radio;\n if (selectedRadio) {\n selectedRadio.checked = true;\n }\n }\n\n this.shadowRoot.addEventListener('change', (event: Event) => {\n event.stopPropagation();\n const target = event.target as Radio;\n this._setSelected(target.value);\n });\n }\n\n if (changes.has('selected')) {\n this.validateRadios();\n }\n }\n\n private async validateRadios(): Promise<void> {\n let validSelection = false;\n if (!this.hasUpdated) {\n // Initial validation has to happen after the initial render to allow\n // the buttons to be queries from the rendered <slot> element\n await this.updateComplete;\n }\n this.buttons.map((button) => {\n button.checked = this.selected === button.value;\n validSelection = validSelection || button.checked;\n });\n if (!validSelection) {\n this.selected = '';\n }\n }\n\n protected override handleSlotchange(): void {\n this.rovingTabindexController.clearElementCache();\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 { PropertyValues } from '@spectrum-web-components/base';\nimport {\n property,\n queryAssignedNodes,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\nimport { FieldGroup } from '@spectrum-web-components/field-group';\n\nimport { Radio } from './Radio.dev.js'\nimport { RovingTabindexController } from '@spectrum-web-components/reactive-controllers/src/RovingTabindex.js';\n\n/**\n * @element sp-radio-group\n *\n * @slot - The `sp-radio` elements to display/manage in the group.\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n *\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class RadioGroup extends FocusVisiblePolyfillMixin(FieldGroup) {\n @property({ type: String })\n public name = '';\n\n @queryAssignedNodes()\n public defaultNodes!: Node[];\n\n public get buttons(): Radio[] {\n return this.defaultNodes.filter(\n (node) => (node as HTMLElement) instanceof Radio\n ) as Radio[];\n }\n\n rovingTabindexController = new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this._setSelected(el.value);\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n });\n\n public override focus(): void {\n this.rovingTabindexController.focus();\n }\n\n private _setSelected(value: string): void {\n if (value === this.selected) {\n return;\n }\n const oldValue = this.selected;\n const radio = value\n ? (this.querySelector(`sp-radio[value=\"${value}\"]`) as Radio)\n : undefined;\n\n // If no matching radio, selected is reset to empty string\n this.selected = radio ? value : '';\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n cancelable: true,\n bubbles: true,\n composed: true,\n })\n );\n if (!applyDefault) {\n this.selected = oldValue;\n return;\n }\n this.validateRadios();\n }\n\n @property({ reflect: true })\n public selected = '';\n\n protected override willUpdate(changes: PropertyValues<this>): void {\n if (!this.hasUpdated) {\n this.setAttribute('role', 'radiogroup');\n const checkedRadio = this.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const checkedRadioValue = checkedRadio ? checkedRadio.value : '';\n // Prefer the checked item over the selected value\n this.selected = checkedRadioValue || this.selected;\n // Validate the selected value is actual a radio option\n if (this.selected && this.selected !== checkedRadioValue) {\n const selectedRadio = this.querySelector(\n `sp-radio[value=\"${this.selected}\"]`\n ) as Radio;\n if (selectedRadio) {\n selectedRadio.checked = true;\n }\n }\n\n this.shadowRoot.addEventListener('change', (event: Event) => {\n event.stopPropagation();\n const target = event.target as Radio;\n this._setSelected(target.value);\n });\n }\n\n if (changes.has('selected')) {\n this.validateRadios();\n }\n }\n\n private async validateRadios(): Promise<void> {\n let validSelection = false;\n if (!this.hasUpdated) {\n // Initial validation has to happen after the initial render to allow\n // the buttons to be queries from the rendered <slot> element\n await this.updateComplete;\n }\n this.buttons.map((button) => {\n button.checked = this.selected === button.value;\n validSelection = validSelection || button.checked;\n });\n if (!validSelection) {\n this.selected = '';\n }\n }\n\n protected override handleSlotchange(): void {\n this.rovingTabindexController.clearElementCache();\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/src/RadioGroup.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=(l,d,e,t)=>{for(var i=t>1?void 0:t?n(d,e):d,s=l.length-1,o;s>=0;s--)(o=l[s])&&(i=(t?o(d,e,i):o(i))||i);return t&&i&&c(d,e,i),i};import{property as r,queryAssignedNodes as h}from"@spectrum-web-components/base/src/decorators.js";import{FocusVisiblePolyfillMixin as u}from"@spectrum-web-components/shared/src/focus-visible.js";import{FieldGroup as p}from"@spectrum-web-components/field-group";import{Radio as f}from"./Radio.js";import{RovingTabindexController as v}from"@spectrum-web-components/reactive-controllers/src/RovingTabindex.js";export class RadioGroup extends u(p){constructor(){super(...arguments);this.name="";this.rovingTabindexController=new v(this,{focusInIndex:e=>e.findIndex(t=>this.selected?!t.disabled&&t.value===this.selected:!t.disabled),elementEnterAction:e=>{this.selected=e.value},elements:()=>this.buttons,isFocusableElement:e=>!e.disabled});this.selected=""}get buttons(){return this.defaultNodes.filter(e=>e instanceof f)}focus(){this.rovingTabindexController.focus()}_setSelected(e){if(e===this.selected)return;const t=this.selected,i=e?this.querySelector(`sp-radio[value="${e}"]`):void 0;if(this.selected=i?e:"",!this.dispatchEvent(new Event("change",{cancelable:!0,bubbles:!0,composed:!0}))){this.selected=t;return}this.validateRadios()}willUpdate(e){if(!this.hasUpdated){this.setAttribute("role","radiogroup");const t=this.querySelector("sp-radio[checked]"),i=t?t.value:"";if(this.selected=i||this.selected,this.selected&&this.selected!==i){const s=this.querySelector(`sp-radio[value="${this.selected}"]`);s&&(s.checked=!0)}this.shadowRoot.addEventListener("change",s=>{s.stopPropagation();const o=s.target;this._setSelected(o.value)})}e.has("selected")&&this.validateRadios()}async validateRadios(){let e=!1;this.hasUpdated||await this.updateComplete,this.buttons.map(t=>{t.checked=this.selected===t.value,e=e||t.checked}),e||(this.selected="")}handleSlotchange(){this.rovingTabindexController.clearElementCache()}}a([r({type:String})],RadioGroup.prototype,"name",2),a([h()],RadioGroup.prototype,"defaultNodes",2),a([r({reflect:!0})],RadioGroup.prototype,"selected",2);
1
+ "use strict";var c=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=(l,d,e,t)=>{for(var i=t>1?void 0:t?n(d,e):d,s=l.length-1,o;s>=0;s--)(o=l[s])&&(i=(t?o(d,e,i):o(i))||i);return t&&i&&c(d,e,i),i};import{property as r,queryAssignedNodes as h}from"@spectrum-web-components/base/src/decorators.js";import{FocusVisiblePolyfillMixin as u}from"@spectrum-web-components/shared/src/focus-visible.js";import{FieldGroup as p}from"@spectrum-web-components/field-group";import{Radio as f}from"./Radio.js";import{RovingTabindexController as v}from"@spectrum-web-components/reactive-controllers/src/RovingTabindex.js";export class RadioGroup extends u(p){constructor(){super(...arguments);this.name="";this.rovingTabindexController=new v(this,{focusInIndex:e=>e.findIndex(t=>this.selected?!t.disabled&&t.value===this.selected:!t.disabled),elementEnterAction:e=>{this._setSelected(e.value)},elements:()=>this.buttons,isFocusableElement:e=>!e.disabled});this.selected=""}get buttons(){return this.defaultNodes.filter(e=>e instanceof f)}focus(){this.rovingTabindexController.focus()}_setSelected(e){if(e===this.selected)return;const t=this.selected,i=e?this.querySelector(`sp-radio[value="${e}"]`):void 0;if(this.selected=i?e:"",!this.dispatchEvent(new Event("change",{cancelable:!0,bubbles:!0,composed:!0}))){this.selected=t;return}this.validateRadios()}willUpdate(e){if(!this.hasUpdated){this.setAttribute("role","radiogroup");const t=this.querySelector("sp-radio[checked]"),i=t?t.value:"";if(this.selected=i||this.selected,this.selected&&this.selected!==i){const s=this.querySelector(`sp-radio[value="${this.selected}"]`);s&&(s.checked=!0)}this.shadowRoot.addEventListener("change",s=>{s.stopPropagation();const o=s.target;this._setSelected(o.value)})}e.has("selected")&&this.validateRadios()}async validateRadios(){let e=!1;this.hasUpdated||await this.updateComplete,this.buttons.map(t=>{t.checked=this.selected===t.value,e=e||t.checked}),e||(this.selected="")}handleSlotchange(){this.rovingTabindexController.clearElementCache()}}a([r({type:String})],RadioGroup.prototype,"name",2),a([h()],RadioGroup.prototype,"defaultNodes",2),a([r({reflect:!0})],RadioGroup.prototype,"selected",2);
2
2
  //# sourceMappingURL=RadioGroup.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["RadioGroup.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 { PropertyValues } from '@spectrum-web-components/base';\nimport {\n property,\n queryAssignedNodes,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\nimport { FieldGroup } from '@spectrum-web-components/field-group';\n\nimport { Radio } from './Radio.js';\nimport { RovingTabindexController } from '@spectrum-web-components/reactive-controllers/src/RovingTabindex.js';\n\n/**\n * @element sp-radio-group\n *\n * @slot - The `sp-radio` elements to display/manage in the group.\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n *\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class RadioGroup extends FocusVisiblePolyfillMixin(FieldGroup) {\n @property({ type: String })\n public name = '';\n\n @queryAssignedNodes()\n public defaultNodes!: Node[];\n\n public get buttons(): Radio[] {\n return this.defaultNodes.filter(\n (node) => (node as HTMLElement) instanceof Radio\n ) as Radio[];\n }\n\n rovingTabindexController = new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this.selected = el.value;\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n });\n\n public override focus(): void {\n this.rovingTabindexController.focus();\n }\n\n private _setSelected(value: string): void {\n if (value === this.selected) {\n return;\n }\n const oldValue = this.selected;\n const radio = value\n ? (this.querySelector(`sp-radio[value=\"${value}\"]`) as Radio)\n : undefined;\n\n // If no matching radio, selected is reset to empty string\n this.selected = radio ? value : '';\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n cancelable: true,\n bubbles: true,\n composed: true,\n })\n );\n if (!applyDefault) {\n this.selected = oldValue;\n return;\n }\n this.validateRadios();\n }\n\n @property({ reflect: true })\n public selected = '';\n\n protected override willUpdate(changes: PropertyValues<this>): void {\n if (!this.hasUpdated) {\n this.setAttribute('role', 'radiogroup');\n const checkedRadio = this.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const checkedRadioValue = checkedRadio ? checkedRadio.value : '';\n // Prefer the checked item over the selected value\n this.selected = checkedRadioValue || this.selected;\n // Validate the selected value is actual a radio option\n if (this.selected && this.selected !== checkedRadioValue) {\n const selectedRadio = this.querySelector(\n `sp-radio[value=\"${this.selected}\"]`\n ) as Radio;\n if (selectedRadio) {\n selectedRadio.checked = true;\n }\n }\n\n this.shadowRoot.addEventListener('change', (event: Event) => {\n event.stopPropagation();\n const target = event.target as Radio;\n this._setSelected(target.value);\n });\n }\n\n if (changes.has('selected')) {\n this.validateRadios();\n }\n }\n\n private async validateRadios(): Promise<void> {\n let validSelection = false;\n if (!this.hasUpdated) {\n // Initial validation has to happen after the initial render to allow\n // the buttons to be queries from the rendered <slot> element\n await this.updateComplete;\n }\n this.buttons.map((button) => {\n button.checked = this.selected === button.value;\n validSelection = validSelection || button.checked;\n });\n if (!validSelection) {\n this.selected = '';\n }\n }\n\n protected override handleSlotchange(): void {\n this.rovingTabindexController.clearElementCache();\n }\n}\n"],
5
- "mappings": "qNAaA,OACI,YAAAA,EACA,sBAAAC,MACG,kDACP,OAAS,6BAAAC,MAAiC,uDAC1C,OAAS,cAAAC,MAAkB,uCAE3B,OAAS,SAAAC,MAAa,aACtB,OAAS,4BAAAC,MAAgC,sEAWlC,aAAM,mBAAmBH,EAA0BC,CAAU,CAAE,CAA/D,kCAEH,KAAO,KAAO,GAWd,8BAA2B,IAAIE,EAAgC,KAAM,CACjE,aAAeC,GACJA,EAAS,UAAWC,GAChB,KAAK,SACN,CAACA,EAAG,UAAYA,EAAG,QAAU,KAAK,SAClC,CAACA,EAAG,QACb,EAEL,mBAAqBA,GAAc,CAC/B,KAAK,SAAWA,EAAG,KACvB,EACA,SAAU,IAAM,KAAK,QACrB,mBAAqBA,GAAc,CAACA,EAAG,QAC3C,CAAC,EAgCD,KAAO,SAAW,GAnDlB,IAAW,SAAmB,CAC1B,OAAO,KAAK,aAAa,OACpBC,GAAUA,aAAgCJ,CAC/C,CACJ,CAiBgB,OAAc,CAC1B,KAAK,yBAAyB,MAAM,CACxC,CAEQ,aAAaK,EAAqB,CACtC,GAAIA,IAAU,KAAK,SACf,OAEJ,MAAMC,EAAW,KAAK,SAChBC,EAAQF,EACP,KAAK,cAAc,mBAAmBA,CAAK,IAAI,EAChD,OAWN,GARA,KAAK,SAAWE,EAAQF,EAAQ,GAQ5B,CAPiB,KAAK,cACtB,IAAI,MAAM,SAAU,CAChB,WAAY,GACZ,QAAS,GACT,SAAU,EACd,CAAC,CACL,EACmB,CACf,KAAK,SAAWC,EAChB,MACJ,CACA,KAAK,eAAe,CACxB,CAKmB,WAAWE,EAAqC,CAC/D,GAAI,CAAC,KAAK,WAAY,CAClB,KAAK,aAAa,OAAQ,YAAY,EACtC,MAAMC,EAAe,KAAK,cACtB,mBACJ,EACMC,EAAoBD,EAAeA,EAAa,MAAQ,GAI9D,GAFA,KAAK,SAAWC,GAAqB,KAAK,SAEtC,KAAK,UAAY,KAAK,WAAaA,EAAmB,CACtD,MAAMC,EAAgB,KAAK,cACvB,mBAAmB,KAAK,QAAQ,IACpC,EACIA,IACAA,EAAc,QAAU,GAEhC,CAEA,KAAK,WAAW,iBAAiB,SAAWC,GAAiB,CACzDA,EAAM,gBAAgB,EACtB,MAAMC,EAASD,EAAM,OACrB,KAAK,aAAaC,EAAO,KAAK,CAClC,CAAC,CACL,CAEIL,EAAQ,IAAI,UAAU,GACtB,KAAK,eAAe,CAE5B,CAEA,MAAc,gBAAgC,CAC1C,IAAIM,EAAiB,GAChB,KAAK,YAGN,MAAM,KAAK,eAEf,KAAK,QAAQ,IAAKC,GAAW,CACzBA,EAAO,QAAU,KAAK,WAAaA,EAAO,MAC1CD,EAAiBA,GAAkBC,EAAO,OAC9C,CAAC,EACID,IACD,KAAK,SAAW,GAExB,CAEmB,kBAAyB,CACxC,KAAK,yBAAyB,kBAAkB,CACpD,CACJ,CA5GWE,EAAA,CADNpB,EAAS,CAAE,KAAM,MAAO,CAAC,GADjB,WAEF,oBAGAoB,EAAA,CADNnB,EAAmB,GAJX,WAKF,4BAqDAmB,EAAA,CADNpB,EAAS,CAAE,QAAS,EAAK,CAAC,GAzDlB,WA0DF",
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 { PropertyValues } from '@spectrum-web-components/base';\nimport {\n property,\n queryAssignedNodes,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared/src/focus-visible.js';\nimport { FieldGroup } from '@spectrum-web-components/field-group';\n\nimport { Radio } from './Radio.js';\nimport { RovingTabindexController } from '@spectrum-web-components/reactive-controllers/src/RovingTabindex.js';\n\n/**\n * @element sp-radio-group\n *\n * @slot - The `sp-radio` elements to display/manage in the group.\n * @slot help-text - default or non-negative help text to associate to your form element\n * @slot negative-help-text - negative help text to associate to your form element when `invalid`\n *\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class RadioGroup extends FocusVisiblePolyfillMixin(FieldGroup) {\n @property({ type: String })\n public name = '';\n\n @queryAssignedNodes()\n public defaultNodes!: Node[];\n\n public get buttons(): Radio[] {\n return this.defaultNodes.filter(\n (node) => (node as HTMLElement) instanceof Radio\n ) as Radio[];\n }\n\n rovingTabindexController = new RovingTabindexController<Radio>(this, {\n focusInIndex: (elements: Radio[]) => {\n return elements.findIndex((el) => {\n return this.selected\n ? !el.disabled && el.value === this.selected\n : !el.disabled;\n });\n },\n elementEnterAction: (el: Radio) => {\n this._setSelected(el.value);\n },\n elements: () => this.buttons,\n isFocusableElement: (el: Radio) => !el.disabled,\n });\n\n public override focus(): void {\n this.rovingTabindexController.focus();\n }\n\n private _setSelected(value: string): void {\n if (value === this.selected) {\n return;\n }\n const oldValue = this.selected;\n const radio = value\n ? (this.querySelector(`sp-radio[value=\"${value}\"]`) as Radio)\n : undefined;\n\n // If no matching radio, selected is reset to empty string\n this.selected = radio ? value : '';\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n cancelable: true,\n bubbles: true,\n composed: true,\n })\n );\n if (!applyDefault) {\n this.selected = oldValue;\n return;\n }\n this.validateRadios();\n }\n\n @property({ reflect: true })\n public selected = '';\n\n protected override willUpdate(changes: PropertyValues<this>): void {\n if (!this.hasUpdated) {\n this.setAttribute('role', 'radiogroup');\n const checkedRadio = this.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const checkedRadioValue = checkedRadio ? checkedRadio.value : '';\n // Prefer the checked item over the selected value\n this.selected = checkedRadioValue || this.selected;\n // Validate the selected value is actual a radio option\n if (this.selected && this.selected !== checkedRadioValue) {\n const selectedRadio = this.querySelector(\n `sp-radio[value=\"${this.selected}\"]`\n ) as Radio;\n if (selectedRadio) {\n selectedRadio.checked = true;\n }\n }\n\n this.shadowRoot.addEventListener('change', (event: Event) => {\n event.stopPropagation();\n const target = event.target as Radio;\n this._setSelected(target.value);\n });\n }\n\n if (changes.has('selected')) {\n this.validateRadios();\n }\n }\n\n private async validateRadios(): Promise<void> {\n let validSelection = false;\n if (!this.hasUpdated) {\n // Initial validation has to happen after the initial render to allow\n // the buttons to be queries from the rendered <slot> element\n await this.updateComplete;\n }\n this.buttons.map((button) => {\n button.checked = this.selected === button.value;\n validSelection = validSelection || button.checked;\n });\n if (!validSelection) {\n this.selected = '';\n }\n }\n\n protected override handleSlotchange(): void {\n this.rovingTabindexController.clearElementCache();\n }\n}\n"],
5
+ "mappings": "qNAaA,OACI,YAAAA,EACA,sBAAAC,MACG,kDACP,OAAS,6BAAAC,MAAiC,uDAC1C,OAAS,cAAAC,MAAkB,uCAE3B,OAAS,SAAAC,MAAa,aACtB,OAAS,4BAAAC,MAAgC,sEAWlC,aAAM,mBAAmBH,EAA0BC,CAAU,CAAE,CAA/D,kCAEH,KAAO,KAAO,GAWd,8BAA2B,IAAIE,EAAgC,KAAM,CACjE,aAAeC,GACJA,EAAS,UAAWC,GAChB,KAAK,SACN,CAACA,EAAG,UAAYA,EAAG,QAAU,KAAK,SAClC,CAACA,EAAG,QACb,EAEL,mBAAqBA,GAAc,CAC/B,KAAK,aAAaA,EAAG,KAAK,CAC9B,EACA,SAAU,IAAM,KAAK,QACrB,mBAAqBA,GAAc,CAACA,EAAG,QAC3C,CAAC,EAgCD,KAAO,SAAW,GAnDlB,IAAW,SAAmB,CAC1B,OAAO,KAAK,aAAa,OACpBC,GAAUA,aAAgCJ,CAC/C,CACJ,CAiBgB,OAAc,CAC1B,KAAK,yBAAyB,MAAM,CACxC,CAEQ,aAAaK,EAAqB,CACtC,GAAIA,IAAU,KAAK,SACf,OAEJ,MAAMC,EAAW,KAAK,SAChBC,EAAQF,EACP,KAAK,cAAc,mBAAmBA,CAAK,IAAI,EAChD,OAWN,GARA,KAAK,SAAWE,EAAQF,EAAQ,GAQ5B,CAPiB,KAAK,cACtB,IAAI,MAAM,SAAU,CAChB,WAAY,GACZ,QAAS,GACT,SAAU,EACd,CAAC,CACL,EACmB,CACf,KAAK,SAAWC,EAChB,MACJ,CACA,KAAK,eAAe,CACxB,CAKmB,WAAWE,EAAqC,CAC/D,GAAI,CAAC,KAAK,WAAY,CAClB,KAAK,aAAa,OAAQ,YAAY,EACtC,MAAMC,EAAe,KAAK,cACtB,mBACJ,EACMC,EAAoBD,EAAeA,EAAa,MAAQ,GAI9D,GAFA,KAAK,SAAWC,GAAqB,KAAK,SAEtC,KAAK,UAAY,KAAK,WAAaA,EAAmB,CACtD,MAAMC,EAAgB,KAAK,cACvB,mBAAmB,KAAK,QAAQ,IACpC,EACIA,IACAA,EAAc,QAAU,GAEhC,CAEA,KAAK,WAAW,iBAAiB,SAAWC,GAAiB,CACzDA,EAAM,gBAAgB,EACtB,MAAMC,EAASD,EAAM,OACrB,KAAK,aAAaC,EAAO,KAAK,CAClC,CAAC,CACL,CAEIL,EAAQ,IAAI,UAAU,GACtB,KAAK,eAAe,CAE5B,CAEA,MAAc,gBAAgC,CAC1C,IAAIM,EAAiB,GAChB,KAAK,YAGN,MAAM,KAAK,eAEf,KAAK,QAAQ,IAAKC,GAAW,CACzBA,EAAO,QAAU,KAAK,WAAaA,EAAO,MAC1CD,EAAiBA,GAAkBC,EAAO,OAC9C,CAAC,EACID,IACD,KAAK,SAAW,GAExB,CAEmB,kBAAyB,CACxC,KAAK,yBAAyB,kBAAkB,CACpD,CACJ,CA5GWE,EAAA,CADNpB,EAAS,CAAE,KAAM,MAAO,CAAC,GADjB,WAEF,oBAGAoB,EAAA,CADNnB,EAAmB,GAJX,WAKF,4BAqDAmB,EAAA,CADNpB,EAAS,CAAE,QAAS,EAAK,CAAC,GAzDlB,WA0DF",
6
6
  "names": ["property", "queryAssignedNodes", "FocusVisiblePolyfillMixin", "FieldGroup", "Radio", "RovingTabindexController", "elements", "el", "node", "value", "oldValue", "radio", "changes", "checkedRadio", "checkedRadioValue", "selectedRadio", "event", "target", "validSelection", "button", "__decorateClass"]
7
7
  }
@@ -29,15 +29,7 @@ const styles = css`
29
29
  --spectrum-neutral-background-color-selected-down
30
30
  );--spectrum-radio-button-checked-border-color-focus:var(
31
31
  --spectrum-neutral-background-color-selected-focus
32
- );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
33
- --spectrum-radio-button-control-size-medium
34
- );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
35
- --spectrum-component-top-to-text-100
36
- );--spectrum-radio-label-bottom-to-text:var(
37
- --spectrum-component-bottom-to-text-100
38
- );--spectrum-radio-button-top-to-control:var(
39
- --spectrum-radio-button-top-to-control-medium
40
- );--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
32
+ );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
41
33
  --spectrum-radio-button-control-size-small
42
34
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(
43
35
  --spectrum-component-top-to-text-75
@@ -45,7 +37,7 @@ const styles = css`
45
37
  --spectrum-component-bottom-to-text-75
46
38
  );--spectrum-radio-button-top-to-control:var(
47
39
  --spectrum-radio-button-top-to-control-small
48
- );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
40
+ );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
49
41
  --spectrum-radio-button-control-size-medium
50
42
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
51
43
  --spectrum-component-top-to-text-100
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["radio.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}:host{--spectrum-radio-label-margin-top:var(\n--spectrum-global-dimension-size-75,6px\n)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}\n`;\nexport default styles;"],
5
- "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2Qf,eAAe;",
4
+ "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}:host{--spectrum-radio-label-margin-top:var(\n--spectrum-global-dimension-size-75,6px\n)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmQf,eAAe;",
6
6
  "names": []
7
7
  }
package/src/radio.css.js CHANGED
@@ -27,15 +27,7 @@
27
27
  --spectrum-neutral-background-color-selected-down
28
28
  );--spectrum-radio-button-checked-border-color-focus:var(
29
29
  --spectrum-neutral-background-color-selected-focus
30
- );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
31
- --spectrum-radio-button-control-size-medium
32
- );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
33
- --spectrum-component-top-to-text-100
34
- );--spectrum-radio-label-bottom-to-text:var(
35
- --spectrum-component-bottom-to-text-100
36
- );--spectrum-radio-button-top-to-control:var(
37
- --spectrum-radio-button-top-to-control-medium
38
- );--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
30
+ );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
39
31
  --spectrum-radio-button-control-size-small
40
32
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(
41
33
  --spectrum-component-top-to-text-75
@@ -43,7 +35,7 @@
43
35
  --spectrum-component-bottom-to-text-75
44
36
  );--spectrum-radio-button-top-to-control:var(
45
37
  --spectrum-radio-button-top-to-control-small
46
- );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
38
+ );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
47
39
  --spectrum-radio-button-control-size-medium
48
40
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
49
41
  --spectrum-component-top-to-text-100
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["radio.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}:host{--spectrum-radio-label-margin-top:var(\n--spectrum-global-dimension-size-75,6px\n)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}\n`;\nexport default styles;"],
5
- "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2Qf,eAAeC",
4
+ "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}:host{--spectrum-radio-label-margin-top:var(\n--spectrum-global-dimension-size-75,6px\n)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmQf,eAAeC",
6
6
  "names": ["css", "styles"]
7
7
  }
@@ -97,10 +97,11 @@ const config = {
97
97
  converter.classToAttribute('is-invalid', 'invalid'),
98
98
  converter.classToAttribute('is-readOnly', 'readonly'),
99
99
  converter.classToAttribute('spectrum-Radio--emphasized'),
100
+ // Default to `size='m'` without needing the attribute
101
+ converter.classToHost('spectrum-Radio--sizeM'),
100
102
  ...converter.enumerateAttributes(
101
103
  [
102
104
  ['spectrum-Radio--sizeS', 's'],
103
- ['spectrum-Radio--sizeM', 'm'],
104
105
  ['spectrum-Radio--sizeL', 'l'],
105
106
  ['spectrum-Radio--sizeXL', 'xl'],
106
107
  ],
@@ -29,15 +29,7 @@ const styles = css`
29
29
  --spectrum-neutral-background-color-selected-down
30
30
  );--spectrum-radio-button-checked-border-color-focus:var(
31
31
  --spectrum-neutral-background-color-selected-focus
32
- );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
33
- --spectrum-radio-button-control-size-medium
34
- );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
35
- --spectrum-component-top-to-text-100
36
- );--spectrum-radio-label-bottom-to-text:var(
37
- --spectrum-component-bottom-to-text-100
38
- );--spectrum-radio-button-top-to-control:var(
39
- --spectrum-radio-button-top-to-control-medium
40
- );--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
32
+ );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
41
33
  --spectrum-radio-button-control-size-small
42
34
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(
43
35
  --spectrum-component-top-to-text-75
@@ -45,7 +37,7 @@ const styles = css`
45
37
  --spectrum-component-bottom-to-text-75
46
38
  );--spectrum-radio-button-top-to-control:var(
47
39
  --spectrum-radio-button-top-to-control-small
48
- );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
40
+ );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
49
41
  --spectrum-radio-button-control-size-medium
50
42
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
51
43
  --spectrum-component-top-to-text-100
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["spectrum-radio.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}\n`;\nexport default styles;"],
5
- "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyQf,eAAe;",
4
+ "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiQf,eAAe;",
6
6
  "names": []
7
7
  }
@@ -27,15 +27,7 @@
27
27
  --spectrum-neutral-background-color-selected-down
28
28
  );--spectrum-radio-button-checked-border-color-focus:var(
29
29
  --spectrum-neutral-background-color-selected-focus
30
- );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
31
- --spectrum-radio-button-control-size-medium
32
- );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
33
- --spectrum-component-top-to-text-100
34
- );--spectrum-radio-label-bottom-to-text:var(
35
- --spectrum-component-bottom-to-text-100
36
- );--spectrum-radio-button-top-to-control:var(
37
- --spectrum-radio-button-top-to-control-medium
38
- );--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
30
+ );--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(
39
31
  --spectrum-radio-button-control-size-small
40
32
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(
41
33
  --spectrum-component-top-to-text-75
@@ -43,7 +35,7 @@
43
35
  --spectrum-component-bottom-to-text-75
44
36
  );--spectrum-radio-button-top-to-control:var(
45
37
  --spectrum-radio-button-top-to-control-small
46
- );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
38
+ );--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(
47
39
  --spectrum-radio-button-control-size-medium
48
40
  );--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(
49
41
  --spectrum-component-top-to-text-100
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["spectrum-radio.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100);--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host([size=m]){--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}\n`;\nexport default styles;"],
5
- "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyQf,eAAeC",
4
+ "sourcesContent": ["/*\nCopyright 2023 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 { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-radio-neutral-content-color:var(\n--spectrum-neutral-content-color-default\n);--spectrum-radio-neutral-content-color-hover:var(\n--spectrum-neutral-content-color-hover\n);--spectrum-radio-neutral-content-color-down:var(\n--spectrum-neutral-content-color-down\n);--spectrum-radio-neutral-content-color-focus:var(\n--spectrum-neutral-content-color-key-focus\n);--spectrum-radio-focus-indicator-thickness:var(\n--spectrum-focus-indicator-thickness\n);--spectrum-radio-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-radio-focus-indicator-color:var(\n--spectrum-focus-indicator-color\n);--spectrum-radio-disabled-content-color:var(\n--spectrum-disabled-content-color\n);--spectrum-radio-disabled-border-color:var(--spectrum-gray-400);--spectrum-radio-emphasized-accent-color:var(--spectrum-accent-color-900);--spectrum-radio-emphasized-accent-color-hover:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-emphasized-accent-color-down:var(\n--spectrum-accent-color-1100\n);--spectrum-radio-emphasized-accent-color-focus:var(\n--spectrum-accent-color-1000\n);--spectrum-radio-border-width:var(--spectrum-border-width-200);--spectrum-radio-button-background-color:var(--spectrum-gray-75);--spectrum-radio-button-checked-border-color-default:var(\n--spectrum-neutral-background-color-selected-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--spectrum-neutral-background-color-selected-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--spectrum-neutral-background-color-selected-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--spectrum-neutral-background-color-selected-focus\n);--spectrum-radio-line-height:var(--spectrum-line-height-100);--spectrum-radio-animation-duration:var(--spectrum-animation-duration-100)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--spectrum-radio-line-height-cjk:var(--spectrum-cjk-line-height-100)}:host([size=s]){--spectrum-radio-height:var(--spectrum-component-height-75);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-small\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-75);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-75\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-75\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-small\n);--spectrum-radio-font-size:var(--spectrum-font-size-75)}:host{--spectrum-radio-height:var(--spectrum-component-height-100);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-medium\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-100);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-100\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-100\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-medium\n);--spectrum-radio-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-radio-height:var(--spectrum-component-height-200);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-200);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-200\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-200\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-radio-height:var(--spectrum-component-height-300);--spectrum-radio-button-control-size:var(\n--spectrum-radio-button-control-size-extra-large\n);--spectrum-radio-text-to-control:var(--spectrum-text-to-control-300);--spectrum-radio-label-top-to-text:var(\n--spectrum-component-top-to-text-300\n);--spectrum-radio-label-bottom-to-text:var(\n--spectrum-component-bottom-to-text-300\n);--spectrum-radio-button-top-to-control:var(\n--spectrum-radio-button-top-to-control-extra-large\n);--spectrum-radio-font-size:var(--spectrum-font-size-300)}@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{align-items:flex-start;display:inline-flex;max-inline-size:100%;min-block-size:var(--mod-radio-height,var(--spectrum-radio-height));position:relative;vertical-align:top}:host(:hover) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-hover,var(\n--mod-radio-button-border-color-hover,var(--spectrum-radio-button-border-color-hover)\n)\n)}:host([checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-hover,var(\n--mod-radio-button-checked-border-color-hover,var(--spectrum-radio-button-checked-border-color-hover)\n)\n)}:host(:hover) #label{color:var(\n--highcontrast-radio-neutral-content-color-hover,var(\n--mod-radio-neutral-content-color-hover,var(--spectrum-radio-neutral-content-color-hover)\n)\n)}:host(:active) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-down,var(\n--mod-radio-button-border-color-down,var(--spectrum-radio-button-border-color-down)\n)\n)}:host(:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-down,var(\n--mod-radio-button-checked-border-color-down,var(--spectrum-radio-button-checked-border-color-down)\n)\n)}:host(:active) #label{color:var(\n--highcontrast-radio-neutral-content-color-down,var(\n--mod-radio-neutral-content-color-down,var(--spectrum-radio-neutral-content-color-down)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(:focus-visible) #button:before{border-color:var(\n--highcontrast-radio-button-border-color-focus,var(\n--mod-radio-button-border-color-focus,var(--spectrum-radio-button-border-color-focus)\n)\n)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(:focus-visible) #button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-focus,var(\n--mod-radio-button-checked-border-color-focus,var(--spectrum-radio-button-checked-border-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(.focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host(:focus-visible) #label{color:var(\n--highcontrast-radio-neutral-content-color-focus,var(\n--mod-radio-neutral-content-color-focus,var(--spectrum-radio-neutral-content-color-focus)\n)\n)}:host([invalid]) #label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n)}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px,1px,1px,1px);bottom:100%;clip-path:inset(50%);position:fixed;right:100%}:host([readonly]),:host([readonly]) #label,:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label{color:inherit;margin-inline-start:auto}:host([emphasized][checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color,var(\n--mod-radio-emphasized-accent-color,var(--spectrum-radio-emphasized-accent-color)\n)\n)}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-hover,var(\n--mod-radio-emphasized-accent-color-hover,var(--spectrum-radio-emphasized-accent-color-hover)\n)\n)}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-down,var(\n--mod-radio-emphasized-accent-color-down,var(--spectrum-radio-emphasized-accent-color-down)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized].focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-emphasized-accent-color-focus,var(\n--mod-radio-emphasized-accent-color-focus,var(--spectrum-radio-emphasized-accent-color-focus)\n)\n)}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(\n--highcontrast-radio-disabled-border-color,var(\n--mod-radio-disabled-border-color,var(--spectrum-radio-disabled-border-color)\n)\n)}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(\n--highcontrast-radio-disabled-content-color,var(\n--mod-radio-disabled-content-color,var(--spectrum-radio-disabled-content-color)\n)\n)}#input{block-size:100%;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:100%;inline-size:100%;line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:1}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-color:var(\n--highcontrast-radio-button-checked-border-color-default,var(\n--mod-radio-button-checked-border-color-default,var(--spectrum-radio-button-checked-border-color-default)\n)\n);border-width:calc(var(--spectrum-radio-button-control-size)/2 - var(--spectrum-radio-button-selection-indicator)/2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input.focus-visible+#button:after,:host(.focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#input:focus-visible+#button:after,:host(:focus-visible) #input+#button:after{border-color:var(\n--highcontrast-radio-focus-indicator-color,var(\n--mod-radio-focus-indicator-color,var(--spectrum-radio-focus-indicator-color)\n)\n);border-style:solid;border-width:var(\n--mod-radio-focus-indicator-thickness,var(--spectrum-radio-focus-indicator-thickness)\n);height:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2);width:calc(var(--spectrum-radio-button-control-size) + var(--spectrum-radio-focus-indicator-gap)*2)}#label{color:var(\n--highcontrast-radio-neutral-content-color,var(\n--mod-radio-neutral-content-color,var(--spectrum-radio-neutral-content-color)\n)\n);font-size:var(--mod-radio-font-size,var(--spectrum-radio-font-size));line-height:var(\n--mod-radio-line-height,var(--spectrum-radio-line-height)\n);margin-block-end:var(--spectrum-radio-label-bottom-to-text);margin-block-start:var(--spectrum-radio-label-top-to-text);margin-inline-start:var(\n--mod-radio-text-to-control,var(--spectrum-radio-text-to-control)\n);text-align:start;transition:color var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(\n--mod-radio-line-height-cjk,var(--spectrum-radio-line-height-cjk)\n)}#button{block-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);box-sizing:border-box;flex-grow:0;flex-shrink:0;inline-size:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);margin-block-start:var(\n--mod-radio-button-top-to-control,var(--spectrum-radio-button-top-to-control)\n);position:relative}#button:before{background-color:var(\n--highcontrast-radio-button-background-color,var(\n--mod-radio-button-background-color,var(--spectrum-radio-button-background-color)\n)\n);border-color:var(\n--highcontrast-radio-button-border-color-default,var(\n--mod-radio-button-border-color-default,var(--spectrum-radio-button-border-color-default)\n)\n);border-radius:50%;border-style:solid;border-width:var(\n--mod-radio-border-width,var(--spectrum-radio-border-width)\n);box-sizing:border-box;content:\"\";display:block;height:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);position:absolute;transition:border var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out,box-shadow var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-in-out;width:var(\n--mod-radio-button-control-size,var(--spectrum-radio-button-control-size)\n);z-index:0}#button:after{border-radius:50%;content:\"\";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transition:opacity var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out,margin var(\n--mod-radio-animation-duration,var(--spectrum-radio-animation-duration)\n) ease-out}:host{--spectrum-radio-button-border-color-default:var(\n--system-spectrum-radio-button-border-color-default\n);--spectrum-radio-button-border-color-hover:var(\n--system-spectrum-radio-button-border-color-hover\n);--spectrum-radio-button-border-color-down:var(\n--system-spectrum-radio-button-border-color-down\n);--spectrum-radio-button-border-color-focus:var(\n--system-spectrum-radio-button-border-color-focus\n)}:host([emphasized]){--spectrum-radio-button-checked-border-color-default:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-default\n);--spectrum-radio-button-checked-border-color-hover:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-hover\n);--spectrum-radio-button-checked-border-color-down:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-down\n);--spectrum-radio-button-checked-border-color-focus:var(\n--system-spectrum-radio-emphasized-button-checked-border-color-focus\n)}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiQf,eAAeC",
6
6
  "names": ["css", "styles"]
7
7
  }
@@ -530,5 +530,31 @@ describe("Radio Group - late children", () => {
530
530
  expect(group.buttons.length).to.equal(4);
531
531
  expect(group.selected).to.equal("first");
532
532
  });
533
+ it("emits change events on arrow key events", async () => {
534
+ const changeSpy = spy();
535
+ const onChange = (event) => {
536
+ changeSpy(event.target.selected);
537
+ };
538
+ const el = await fixture(html`
539
+ <sp-radio-group @change=${onChange}>
540
+ <sp-radio value="bulbasaur">Bulbasaur</sp-radio>
541
+ <sp-radio value="squirtle">Squirtle</sp-radio>
542
+ <sp-radio value="charmander">Charmander</sp-radio>
543
+ </sp-radio-group>
544
+ `);
545
+ const bulbasaur = el.querySelector('[value="bulbasaur"]');
546
+ const squirtle = el.querySelector('[value="squirtle"]');
547
+ bulbasaur.focus();
548
+ await elementUpdated(el);
549
+ expect(changeSpy.callCount).to.equal(0);
550
+ el.dispatchEvent(arrowRightEvent());
551
+ await elementUpdated(el);
552
+ expect(changeSpy.callCount).to.equal(1);
553
+ expect(document.activeElement === squirtle).to.be.true;
554
+ el.dispatchEvent(arrowLeftEvent());
555
+ await elementUpdated(el);
556
+ expect(changeSpy.callCount).to.equal(2);
557
+ expect(document.activeElement === bulbasaur).to.be.true;
558
+ });
533
559
  });
534
560
  //# sourceMappingURL=radio-group.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["radio-group.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/radio/sp-radio-group.js';\nimport '@spectrum-web-components/radio/sp-radio.js';\nimport { Radio, RadioGroup } from '@spectrum-web-components/radio';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n nextFrame,\n} from '@open-wc/testing';\nimport {\n arrowDownEvent,\n arrowLeftEvent,\n arrowRightEvent,\n arrowUpEvent,\n endEvent,\n enterEvent,\n homeEvent,\n} from '../../../test/testing-helpers.js';\nimport {\n a11ySnapshot,\n findAccessibilityNode,\n sendKeys,\n} from '@web/test-runner-commands';\nimport { sendMouse } from '../../../test/plugins/browser.js';\nimport { spy } from 'sinon';\n\ndescribe('Radio Group - focus control', () => {\n it('does not accept focus when empty', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group></sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n expect(document.activeElement === el).to.be.false;\n\n el.focus();\n await elementUpdated(el);\n\n expect(document.activeElement === el).to.be.false;\n });\n it('focuses selected before first', async () => {\n const values = ['first', 'second', 'third'];\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group selected=\"second\">\n <sp-radio value=${values[0]}>Option 1</sp-radio>\n <sp-radio value=${values[1]}>Option 2</sp-radio>\n <sp-radio value=${values[2]}>Option 3</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n const selected = el.querySelector('[value=\"second\"]') as Radio;\n\n expect(document.activeElement === el).to.be.false;\n\n el.focus();\n await elementUpdated(el);\n\n expect(document.activeElement === selected).to.be.true;\n });\n it('focuses the child input not the root when [tabindex=-1]', async () => {\n const values = ['first', 'second', 'third'];\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group selected=\"second\">\n <sp-radio value=${values[0]}>Option 1</sp-radio>\n <sp-radio value=${values[1]}>Option 2</sp-radio>\n <sp-radio value=${values[2]}>Option 3</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n const first = el.querySelector('[value=\"first\"]') as Radio;\n const selected = el.querySelector('[value=\"second\"]') as Radio;\n expect(selected.tabIndex).to.equal(0);\n expect(first.tabIndex).to.equal(-1);\n\n const firstRect = first.getBoundingClientRect();\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: [firstRect.x + 2, firstRect.y + 2],\n },\n {\n type: 'down',\n },\n ],\n });\n await elementUpdated(el);\n\n // Safari can have a situation where it thinks the root is focused, but really something inside of the\n // element is focused instead, this tests for both no focus on the root or focus inside of the element.\n expect(\n !first.matches(':focus') || first.matches(':focus-within'),\n 'root should not'\n ).to.be.true;\n });\n it('does not select on focus', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio value=\"1\">Options 1</sp-radio>\n <sp-radio value=\"2\">Options 2</sp-radio>\n <sp-radio value=\"3\">Options 3</sp-radio>\n <sp-radio value=\"4\">Options 4</sp-radio>\n <sp-radio value=\"5\">Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n\n expect(el.selected).to.equal('');\n\n radio1.focus();\n await elementUpdated(el);\n\n expect(el.selected).to.equal('');\n el.selected = '1';\n await elementUpdated(el);\n\n expect(el.selected).to.equal('1');\n expect(radio1.checked).to.be.true;\n radio2.focus();\n await elementUpdated(el);\n\n expect(el.selected).to.equal('1');\n expect(radio1.checked).to.be.true;\n });\n it('loads accepts keyboard events while focused', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio>Options 1</sp-radio>\n <sp-radio>Options 2</sp-radio>\n <sp-radio>Options 3</sp-radio>\n <sp-radio>Options 4</sp-radio>\n <sp-radio>Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n const radio3 = el.querySelector('sp-radio:nth-child(3)') as Radio;\n const radio4 = el.querySelector('sp-radio:nth-child(4)') as Radio;\n const radio5 = el.querySelector('sp-radio:nth-child(5)') as Radio;\n\n radio1.focus();\n await elementUpdated(el);\n\n el.dispatchEvent(arrowRightEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2).to.be.true;\n\n el.dispatchEvent(arrowDownEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio3).to.be.true;\n\n el.dispatchEvent(endEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio5).to.be.true;\n\n el.dispatchEvent(arrowLeftEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio4).to.be.true;\n\n el.dispatchEvent(arrowUpEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio3).to.be.true;\n\n el.dispatchEvent(homeEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio1).to.be.true;\n\n radio1.blur();\n });\n it('accepts keyboard interactions where `checked` and `calculateFocusInIndex` might conflict', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio>Options 1</sp-radio>\n <sp-radio>Options 2</sp-radio>\n <sp-radio>Options 3</sp-radio>\n <sp-radio>Options 4</sp-radio>\n <sp-radio>Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio5 = el.querySelector('sp-radio:nth-child(5)') as Radio;\n\n radio5.focus();\n await elementUpdated(el);\n expect(document.activeElement === radio5).to.be.true;\n expect(radio5.checked).to.be.true;\n\n await sendKeys({\n press: 'ArrowRight',\n });\n await elementUpdated(el);\n\n expect(document.activeElement === radio1).to.be.true;\n expect(radio1.checked).to.be.true;\n });\n it('acknowledges `disabled` and accepts keyboard events while focused', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio value=\"1\" disabled>Option 1</sp-radio>\n <sp-radio value=\"2\">Option 2</sp-radio>\n <sp-radio value=\"3\">Option 3</sp-radio>\n <sp-radio value=\"4\">Option 4</sp-radio>\n <sp-radio value=\"5\" disabled>Option 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n const radio4 = el.querySelector('sp-radio:nth-child(4)') as Radio;\n\n radio2.focus();\n await elementUpdated(el);\n expect(document.activeElement === radio2, 'start 2').to.be.true;\n expect(el.selected).to.equal('');\n\n el.dispatchEvent(enterEvent());\n el.dispatchEvent(endEvent());\n await elementUpdated(el);\n expect(document.activeElement === radio4, 'first 4').to.be.true;\n expect(el.selected).to.equal('4');\n\n el.dispatchEvent(homeEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2, 'second 2').to.be.true;\n\n el.dispatchEvent(arrowUpEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio4, 'third 4').to.be.true;\n\n el.dispatchEvent(arrowDownEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2, 'fourth 2').to.be.true;\n });\n});\n\ndescribe('Group Accessibility', () => {\n it('created the expected accessibility tree', async () => {\n await fixture(html`\n <sp-radio-group label=\"Testing Label\" tabindex=\"0\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n `);\n\n type NamedRoledAndCheckedNode = {\n name: string;\n role: string;\n checked: boolean;\n };\n const snapshot = (await a11ySnapshot(\n {}\n )) as unknown as NamedRoledAndCheckedNode & {\n children: NamedRoledAndCheckedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (\n node // Firefox uses 'group' instead of 'radiogroup' here.\n ) =>\n (node.role === 'radiogroup' || node.role === 'group') &&\n node.name === 'Testing Label'\n ),\n 'Has a \"radiogroup\" with the supplied name'\n ).to.not.be.null;\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (node) =>\n node.role === 'radio' &&\n node.checked &&\n node.name === 'Option 2'\n ),\n 'Has a named and checked \"radio\" element'\n ).to.not.be.null;\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (node) =>\n node.name === 'Option 2' && node.role.startsWith('text')\n ),\n 'Does not have a text leaf named like the \"radio\" element'\n ).to.be.null;\n });\n});\n\ndescribe('Radio Group', () => {\n let testDiv!: HTMLDivElement;\n\n beforeEach(async () => {\n testDiv = await fixture<HTMLDivElement>(\n html`\n <div id=\"test-radio-group\">\n <sp-radio-group id=\"test-default\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-multiple-checked\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-disabled\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" disabled>Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-all-checked\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-selected\" selected=\"third\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-selected-click\" selected=\"third\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group\n id=\"test-checked-prioritized\"\n selected=\"second\"\n >\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-integer-value\" selected=\"5\">\n <sp-radio value=\"5\" checked>Option 5</sp-radio>\n <sp-radio value=\"7\">Option 7</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-none-selected\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n </div>\n `\n );\n });\n\n it('loads', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const radioChildren = radioGroup.querySelectorAll('sp-radio');\n\n expect(radioGroup).to.exist;\n expect(radioChildren.length).to.equal(3);\n });\n\n it('loads accessibly', async () => {\n await expect(testDiv).to.be.accessible();\n });\n\n it('validates selection', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-none-selected'\n ) as RadioGroup;\n expect(radioGroup.selected).to.equal('');\n\n radioGroup.selected = 'missing';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('');\n });\n\n it('can have selection prevented', async () => {\n const el = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const secondRadio = el.querySelector('sp-radio[value=second]') as Radio;\n const thirdRadio = el.querySelector('sp-radio[value=third]') as Radio;\n\n await elementUpdated(el);\n expect(el.selected).to.equal('first');\n\n secondRadio.click();\n\n await elementUpdated(el);\n expect(el.selected).to.equal('second');\n\n el.addEventListener('change', (event) => event.preventDefault());\n\n thirdRadio.click();\n\n await elementUpdated(el);\n expect(el.selected).to.equal('second');\n });\n\n it('reflects checked radio with selected property', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const firstRadio = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const secondRadio = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const thirdRadio = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(firstRadio.checked).to.be.true;\n expect(secondRadio.checked).to.be.false;\n expect(thirdRadio.checked).to.be.false;\n expect(radioGroup.selected).to.equal(firstRadio.value);\n\n secondRadio.click();\n await elementUpdated(radioGroup);\n\n expect(firstRadio.checked).to.be.false;\n expect(secondRadio.checked).to.be.true;\n expect(thirdRadio.checked).to.be.false;\n expect(radioGroup.selected).to.equal(secondRadio.value);\n\n thirdRadio.click();\n await elementUpdated(radioGroup);\n\n expect(firstRadio.checked).to.be.false;\n expect(secondRadio.checked).to.be.false;\n expect(thirdRadio.checked).to.be.true;\n expect(radioGroup.selected).to.equal(thirdRadio.value);\n });\n\n it('forces only one radio to be checked', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-multiple-checked'\n ) as RadioGroup;\n const checkedRadios = radioGroup.querySelectorAll('sp-radio[checked]');\n\n expect(radioGroup.selected).to.equal('first');\n expect(checkedRadios.length).to.equal(1);\n });\n\n it('respects clicking on disabled attribute causing nothing to happen', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-disabled'\n ) as RadioGroup;\n const checkedRadio = radioGroup.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const disabledRadio = radioGroup.querySelector(\n 'sp-radio[disabled]'\n ) as Radio;\n\n disabledRadio.click();\n await elementUpdated(radioGroup);\n\n expect(disabledRadio.checked).to.be.false;\n expect(checkedRadio.checked).to.be.true;\n expect(radioGroup.selected).to.equal(checkedRadio.value);\n });\n\n it('de-checks all but first checked radio if multiple checked', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-multiple-checked'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked).to.be.true;\n expect(radio2.checked).to.be.false;\n });\n\n it('ensures setting selection updates checked radio', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-selected'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const radio3 = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('third');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked, 'initial').to.be.true;\n\n radioGroup.selected = 'second';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('second');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked, 'second').to.be.true;\n expect(radio3.checked).to.be.false;\n\n radioGroup.selected = 'first';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked, 'third').to.be.true;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked).to.be.false;\n });\n\n it('ensures setting selected and clicking on radio both work together', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-selected-click'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const radio3 = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('third');\n radio2.click();\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('second');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked).to.be.true;\n expect(radio3.checked).to.be.false;\n\n radioGroup.selected = 'first';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked, 'moved to checked').to.be.true;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked).to.be.false;\n });\n\n it('prioritizes checked over selected on initialization when conflicting', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-checked-prioritized'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked).to.be.true;\n expect(radio2.checked).to.be.false;\n });\n\n it('handles integer values for radio buttons', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-integer-value'\n ) as RadioGroup;\n expect(radioGroup.selected).to.equal('5');\n });\n\n it('prevents `change` events from radio buttons', async () => {\n const changeSpy = spy();\n const onChange = (event: Event & { target: RadioGroup }): void => {\n changeSpy(event.target.selected);\n };\n const el = await fixture(html`\n <sp-radio-group @change=${onChange}>\n <sp-radio value=\"bulbasaur\">Bulbasaur</sp-radio>\n <sp-radio value=\"squirtle\">Squirtle</sp-radio>\n <sp-radio value=\"charmander\">Charmander</sp-radio>\n </sp-radio-group>\n `);\n\n const bulbasaur = el.querySelector('[value=\"bulbasaur\"]') as Radio;\n const charmander = el.querySelector('[value=\"charmander\"]') as Radio;\n bulbasaur.click();\n bulbasaur.click();\n charmander.click();\n\n expect(changeSpy.calledWith(undefined)).to.be.false;\n });\n});\n\ndescribe('Radio Group - late children', () => {\n it('accepts frame late children', async () => {\n /**\n * In some cases (e.g. when wrapped in React components) will cause otherwise standard looking\n * DOM structures to add `<sp-radio>` children to `<sp-radio-group>` parents in a non-syncronous manner.\n *\n * This test emulates that render process to ensure that validation will still work as expect in that context.\n */\n const test = await fixture(html`\n <div>\n <sp-radio value=\"first\">Bulbasaur</sp-radio>\n <sp-radio value=\"second\">Squirtle</sp-radio>\n <sp-radio value=\"third\">Charmander</sp-radio>\n <sp-radio value=\"fourth\">Other</sp-radio>\n </div>\n `);\n const group = document.createElement('sp-radio-group');\n const buttons = [...test.querySelectorAll('sp-radio')] as Radio[];\n\n test.append(group);\n group.selected = 'first';\n Promise.resolve().then(function () {\n group.append(...buttons);\n });\n await nextFrame();\n await nextFrame();\n\n expect(group.buttons.length).to.equal(4);\n expect(group.selected).to.equal('first');\n });\n});\n"],
5
- "mappings": ";AAYA,OAAO;AACP,OAAO;AAEP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,iBAAiB;AAC1B,SAAS,WAAW;AAEpB,SAAS,+BAA+B,MAAM;AAC1C,KAAG,oCAAoC,YAAY;AAC/C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA,IAGJ;AAEA,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAE5C,OAAG,MAAM;AACT,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAAA,EAChD,CAAC;AACD,KAAG,iCAAiC,YAAY;AAC5C,UAAM,SAAS,CAAC,SAAS,UAAU,OAAO;AAC1C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA,sCAE0B,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,IAGvC;AAEA,UAAM,eAAe,EAAE;AACvB,UAAM,WAAW,GAAG,cAAc,kBAAkB;AAEpD,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAE5C,OAAG,MAAM;AACT,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,EAAE,GAAG,GAAG;AAAA,EACtD,CAAC;AACD,KAAG,2DAA2D,YAAY;AACtE,UAAM,SAAS,CAAC,SAAS,UAAU,OAAO;AAC1C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA,sCAE0B,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,IAGvC;AAEA,UAAM,eAAe,EAAE;AACvB,UAAM,QAAQ,GAAG,cAAc,iBAAiB;AAChD,UAAM,WAAW,GAAG,cAAc,kBAAkB;AACpD,WAAO,SAAS,QAAQ,EAAE,GAAG,MAAM,CAAC;AACpC,WAAO,MAAM,QAAQ,EAAE,GAAG,MAAM,EAAE;AAElC,UAAM,YAAY,MAAM,sBAAsB;AAC9C,UAAM,UAAU;AAAA,MACZ,OAAO;AAAA,QACH;AAAA,UACI,MAAM;AAAA,UACN,UAAU,CAAC,UAAU,IAAI,GAAG,UAAU,IAAI,CAAC;AAAA,QAC/C;AAAA,QACA;AAAA,UACI,MAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,UAAM,eAAe,EAAE;AAIvB;AAAA,MACI,CAAC,MAAM,QAAQ,QAAQ,KAAK,MAAM,QAAQ,eAAe;AAAA,MACzD;AAAA,IACJ,EAAE,GAAG,GAAG;AAAA,EACZ,CAAC;AACD,KAAG,4BAA4B,YAAY;AACvC,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAE/B,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAC/B,OAAG,WAAW;AACd,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAChC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAChC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AACD,KAAG,+CAA+C,YAAY;AAC1D,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,OAAG,cAAc,gBAAgB,CAAC;AAClC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,SAAS,CAAC;AAC3B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,aAAa,CAAC;AAC/B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,UAAU,CAAC;AAC5B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,WAAO,KAAK;AAAA,EAChB,CAAC;AACD,KAAG,4FAA4F,YAAY;AACvG,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAChD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,UAAM,SAAS;AAAA,MACX,OAAO;AAAA,IACX,CAAC;AACD,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAChD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AACD,KAAG,qEAAqE,YAAY;AAChF,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAC3D,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAE/B,OAAG,cAAc,WAAW,CAAC;AAC7B,OAAG,cAAc,SAAS,CAAC;AAC3B,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAC3D,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAEhC,OAAG,cAAc,UAAU,CAAC;AAC5B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,UAAU,EAAE,GAAG,GAAG;AAE5D,OAAG,cAAc,aAAa,CAAC;AAC/B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAE3D,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,UAAU,EAAE,GAAG,GAAG;AAAA,EAChE,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,MAAM;AAClC,KAAG,2CAA2C,YAAY;AACtD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAMb;AAOD,UAAM,WAAY,MAAM;AAAA,MACpB,CAAC;AAAA,IACL;AAIA;AAAA,MACI;AAAA,QACI;AAAA,QACA,CACI,UAEC,KAAK,SAAS,gBAAgB,KAAK,SAAS,YAC7C,KAAK,SAAS;AAAA,MACtB;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,IAAI,GAAG;AACZ;AAAA,MACI;AAAA,QACI;AAAA,QACA,CAAC,SACG,KAAK,SAAS,WACd,KAAK,WACL,KAAK,SAAS;AAAA,MACtB;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,IAAI,GAAG;AACZ;AAAA,MACI;AAAA,QACI;AAAA,QACA,CAAC,SACG,KAAK,SAAS,cAAc,KAAK,KAAK,WAAW,MAAM;AAAA,MAC/D;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,GAAG;AAAA,EACZ,CAAC;AACL,CAAC;AAED,SAAS,eAAe,MAAM;AAC1B,MAAI;AAEJ,aAAW,YAAY;AACnB,cAAU,MAAM;AAAA,MACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgDJ;AAAA,EACJ,CAAC;AAED,KAAG,SAAS,MAAM;AACd,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW,iBAAiB,UAAU;AAE5D,WAAO,UAAU,EAAE,GAAG;AACtB,WAAO,cAAc,MAAM,EAAE,GAAG,MAAM,CAAC;AAAA,EAC3C,CAAC;AAED,KAAG,oBAAoB,YAAY;AAC/B,UAAM,OAAO,OAAO,EAAE,GAAG,GAAG,WAAW;AAAA,EAC3C,CAAC;AAED,KAAG,uBAAuB,YAAY;AAClC,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,EAAE;AAEvC,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,EAAE;AAAA,EAC3C,CAAC;AAED,KAAG,gCAAgC,YAAY;AAC3C,UAAM,KAAK,QAAQ;AAAA,MACf;AAAA,IACJ;AACA,UAAM,cAAc,GAAG,cAAc,wBAAwB;AAC7D,UAAM,aAAa,GAAG,cAAc,uBAAuB;AAE3D,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,OAAO;AAEpC,gBAAY,MAAM;AAElB,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAErC,OAAG,iBAAiB,UAAU,CAAC,UAAU,MAAM,eAAe,CAAC;AAE/D,eAAW,MAAM;AAEjB,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAAA,EACzC,CAAC;AAED,KAAG,iDAAiD,YAAY;AAC5D,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,aAAa,WAAW;AAAA,MAC1B;AAAA,IACJ;AACA,UAAM,cAAc,WAAW;AAAA,MAC3B;AAAA,IACJ;AACA,UAAM,aAAa,WAAW;AAAA,MAC1B;AAAA,IACJ;AAEA,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,WAAW,KAAK;AAErD,gBAAY,MAAM;AAClB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,YAAY,KAAK;AAEtD,eAAW,MAAM;AACjB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,WAAW,KAAK;AAAA,EACzD,CAAC;AAED,KAAG,uCAAuC,MAAM;AAC5C,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW,iBAAiB,mBAAmB;AAErE,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,cAAc,MAAM,EAAE,GAAG,MAAM,CAAC;AAAA,EAC3C,CAAC;AAED,KAAG,qEAAqE,YAAY;AAChF,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,eAAe,WAAW;AAAA,MAC5B;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW;AAAA,MAC7B;AAAA,IACJ;AAEA,kBAAc,MAAM;AACpB,UAAM,eAAe,UAAU;AAE/B,WAAO,cAAc,OAAO,EAAE,GAAG,GAAG;AACpC,WAAO,aAAa,OAAO,EAAE,GAAG,GAAG;AACnC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,aAAa,KAAK;AAAA,EAC3D,CAAC;AAED,KAAG,6DAA6D,MAAM;AAClE,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,mDAAmD,YAAY;AAC9D,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,SAAS,SAAS,EAAE,GAAG,GAAG;AAExC,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAC7C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,SAAS,QAAQ,EAAE,GAAG,GAAG;AACvC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,SAAS,OAAO,EAAE,GAAG,GAAG;AACtC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,qEAAqE,YAAY;AAChF,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,MAAM;AACb,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAC7C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,SAAS,kBAAkB,EAAE,GAAG,GAAG;AACjD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,wEAAwE,MAAM;AAC7E,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,4CAA4C,MAAM;AACjD,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,GAAG;AAAA,EAC5C,CAAC;AAED,KAAG,+CAA+C,YAAY;AAC1D,UAAM,YAAY,IAAI;AACtB,UAAM,WAAW,CAAC,UAAgD;AAC9D,gBAAU,MAAM,OAAO,QAAQ;AAAA,IACnC;AACA,UAAM,KAAK,MAAM,QAAQ;AAAA,sCACK,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,SAKrC;AAED,UAAM,YAAY,GAAG,cAAc,qBAAqB;AACxD,UAAM,aAAa,GAAG,cAAc,sBAAsB;AAC1D,cAAU,MAAM;AAChB,cAAU,MAAM;AAChB,eAAW,MAAM;AAEjB,WAAO,UAAU,WAAW,MAAS,CAAC,EAAE,GAAG,GAAG;AAAA,EAClD,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,MAAM;AAC1C,KAAG,+BAA+B,YAAY;AAO1C,UAAM,OAAO,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAO1B;AACD,UAAM,QAAQ,SAAS,cAAc,gBAAgB;AACrD,UAAM,UAAU,CAAC,GAAG,KAAK,iBAAiB,UAAU,CAAC;AAErD,SAAK,OAAO,KAAK;AACjB,UAAM,WAAW;AACjB,YAAQ,QAAQ,EAAE,KAAK,WAAY;AAC/B,YAAM,OAAO,GAAG,OAAO;AAAA,IAC3B,CAAC;AACD,UAAM,UAAU;AAChB,UAAM,UAAU;AAEhB,WAAO,MAAM,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC;AACvC,WAAO,MAAM,QAAQ,EAAE,GAAG,MAAM,OAAO;AAAA,EAC3C,CAAC;AACL,CAAC;",
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/radio/sp-radio-group.js';\nimport '@spectrum-web-components/radio/sp-radio.js';\nimport { Radio, RadioGroup } from '@spectrum-web-components/radio';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n nextFrame,\n} from '@open-wc/testing';\nimport {\n arrowDownEvent,\n arrowLeftEvent,\n arrowRightEvent,\n arrowUpEvent,\n endEvent,\n enterEvent,\n homeEvent,\n} from '../../../test/testing-helpers.js';\nimport {\n a11ySnapshot,\n findAccessibilityNode,\n sendKeys,\n} from '@web/test-runner-commands';\nimport { sendMouse } from '../../../test/plugins/browser.js';\nimport { spy } from 'sinon';\n\ndescribe('Radio Group - focus control', () => {\n it('does not accept focus when empty', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group></sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n expect(document.activeElement === el).to.be.false;\n\n el.focus();\n await elementUpdated(el);\n\n expect(document.activeElement === el).to.be.false;\n });\n it('focuses selected before first', async () => {\n const values = ['first', 'second', 'third'];\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group selected=\"second\">\n <sp-radio value=${values[0]}>Option 1</sp-radio>\n <sp-radio value=${values[1]}>Option 2</sp-radio>\n <sp-radio value=${values[2]}>Option 3</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n const selected = el.querySelector('[value=\"second\"]') as Radio;\n\n expect(document.activeElement === el).to.be.false;\n\n el.focus();\n await elementUpdated(el);\n\n expect(document.activeElement === selected).to.be.true;\n });\n it('focuses the child input not the root when [tabindex=-1]', async () => {\n const values = ['first', 'second', 'third'];\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group selected=\"second\">\n <sp-radio value=${values[0]}>Option 1</sp-radio>\n <sp-radio value=${values[1]}>Option 2</sp-radio>\n <sp-radio value=${values[2]}>Option 3</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n const first = el.querySelector('[value=\"first\"]') as Radio;\n const selected = el.querySelector('[value=\"second\"]') as Radio;\n expect(selected.tabIndex).to.equal(0);\n expect(first.tabIndex).to.equal(-1);\n\n const firstRect = first.getBoundingClientRect();\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: [firstRect.x + 2, firstRect.y + 2],\n },\n {\n type: 'down',\n },\n ],\n });\n await elementUpdated(el);\n\n // Safari can have a situation where it thinks the root is focused, but really something inside of the\n // element is focused instead, this tests for both no focus on the root or focus inside of the element.\n expect(\n !first.matches(':focus') || first.matches(':focus-within'),\n 'root should not'\n ).to.be.true;\n });\n it('does not select on focus', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio value=\"1\">Options 1</sp-radio>\n <sp-radio value=\"2\">Options 2</sp-radio>\n <sp-radio value=\"3\">Options 3</sp-radio>\n <sp-radio value=\"4\">Options 4</sp-radio>\n <sp-radio value=\"5\">Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n\n expect(el.selected).to.equal('');\n\n radio1.focus();\n await elementUpdated(el);\n\n expect(el.selected).to.equal('');\n el.selected = '1';\n await elementUpdated(el);\n\n expect(el.selected).to.equal('1');\n expect(radio1.checked).to.be.true;\n radio2.focus();\n await elementUpdated(el);\n\n expect(el.selected).to.equal('1');\n expect(radio1.checked).to.be.true;\n });\n it('loads accepts keyboard events while focused', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio>Options 1</sp-radio>\n <sp-radio>Options 2</sp-radio>\n <sp-radio>Options 3</sp-radio>\n <sp-radio>Options 4</sp-radio>\n <sp-radio>Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n const radio3 = el.querySelector('sp-radio:nth-child(3)') as Radio;\n const radio4 = el.querySelector('sp-radio:nth-child(4)') as Radio;\n const radio5 = el.querySelector('sp-radio:nth-child(5)') as Radio;\n\n radio1.focus();\n await elementUpdated(el);\n\n el.dispatchEvent(arrowRightEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2).to.be.true;\n\n el.dispatchEvent(arrowDownEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio3).to.be.true;\n\n el.dispatchEvent(endEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio5).to.be.true;\n\n el.dispatchEvent(arrowLeftEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio4).to.be.true;\n\n el.dispatchEvent(arrowUpEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio3).to.be.true;\n\n el.dispatchEvent(homeEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio1).to.be.true;\n\n radio1.blur();\n });\n it('accepts keyboard interactions where `checked` and `calculateFocusInIndex` might conflict', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio>Options 1</sp-radio>\n <sp-radio>Options 2</sp-radio>\n <sp-radio>Options 3</sp-radio>\n <sp-radio>Options 4</sp-radio>\n <sp-radio>Options 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio1 = el.querySelector('sp-radio:nth-child(1)') as Radio;\n const radio5 = el.querySelector('sp-radio:nth-child(5)') as Radio;\n\n radio5.focus();\n await elementUpdated(el);\n expect(document.activeElement === radio5).to.be.true;\n expect(radio5.checked).to.be.true;\n\n await sendKeys({\n press: 'ArrowRight',\n });\n await elementUpdated(el);\n\n expect(document.activeElement === radio1).to.be.true;\n expect(radio1.checked).to.be.true;\n });\n it('acknowledges `disabled` and accepts keyboard events while focused', async () => {\n const el = await fixture<RadioGroup>(\n html`\n <sp-radio-group>\n <sp-radio value=\"1\" disabled>Option 1</sp-radio>\n <sp-radio value=\"2\">Option 2</sp-radio>\n <sp-radio value=\"3\">Option 3</sp-radio>\n <sp-radio value=\"4\">Option 4</sp-radio>\n <sp-radio value=\"5\" disabled>Option 5</sp-radio>\n </sp-radio-group>\n `\n );\n\n await elementUpdated(el);\n\n const radio2 = el.querySelector('sp-radio:nth-child(2)') as Radio;\n const radio4 = el.querySelector('sp-radio:nth-child(4)') as Radio;\n\n radio2.focus();\n await elementUpdated(el);\n expect(document.activeElement === radio2, 'start 2').to.be.true;\n expect(el.selected).to.equal('');\n\n el.dispatchEvent(enterEvent());\n el.dispatchEvent(endEvent());\n await elementUpdated(el);\n expect(document.activeElement === radio4, 'first 4').to.be.true;\n expect(el.selected).to.equal('4');\n\n el.dispatchEvent(homeEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2, 'second 2').to.be.true;\n\n el.dispatchEvent(arrowUpEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio4, 'third 4').to.be.true;\n\n el.dispatchEvent(arrowDownEvent());\n await elementUpdated(el);\n\n expect(document.activeElement === radio2, 'fourth 2').to.be.true;\n });\n});\n\ndescribe('Group Accessibility', () => {\n it('created the expected accessibility tree', async () => {\n await fixture(html`\n <sp-radio-group label=\"Testing Label\" tabindex=\"0\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n `);\n\n type NamedRoledAndCheckedNode = {\n name: string;\n role: string;\n checked: boolean;\n };\n const snapshot = (await a11ySnapshot(\n {}\n )) as unknown as NamedRoledAndCheckedNode & {\n children: NamedRoledAndCheckedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (\n node // Firefox uses 'group' instead of 'radiogroup' here.\n ) =>\n (node.role === 'radiogroup' || node.role === 'group') &&\n node.name === 'Testing Label'\n ),\n 'Has a \"radiogroup\" with the supplied name'\n ).to.not.be.null;\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (node) =>\n node.role === 'radio' &&\n node.checked &&\n node.name === 'Option 2'\n ),\n 'Has a named and checked \"radio\" element'\n ).to.not.be.null;\n expect(\n findAccessibilityNode<NamedRoledAndCheckedNode>(\n snapshot,\n (node) =>\n node.name === 'Option 2' && node.role.startsWith('text')\n ),\n 'Does not have a text leaf named like the \"radio\" element'\n ).to.be.null;\n });\n});\n\ndescribe('Radio Group', () => {\n let testDiv!: HTMLDivElement;\n\n beforeEach(async () => {\n testDiv = await fixture<HTMLDivElement>(\n html`\n <div id=\"test-radio-group\">\n <sp-radio-group id=\"test-default\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-multiple-checked\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-disabled\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" disabled>Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-all-checked\">\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\" checked>Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-selected\" selected=\"third\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-selected-click\" selected=\"third\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n <sp-radio-group\n id=\"test-checked-prioritized\"\n selected=\"second\"\n >\n <sp-radio value=\"first\" checked>Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-integer-value\" selected=\"5\">\n <sp-radio value=\"5\" checked>Option 5</sp-radio>\n <sp-radio value=\"7\">Option 7</sp-radio>\n </sp-radio-group>\n <sp-radio-group id=\"test-none-selected\">\n <sp-radio value=\"first\">Option 1</sp-radio>\n <sp-radio value=\"second\">Option 2</sp-radio>\n <sp-radio value=\"third\">Option 3</sp-radio>\n </sp-radio-group>\n </div>\n `\n );\n });\n\n it('loads', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const radioChildren = radioGroup.querySelectorAll('sp-radio');\n\n expect(radioGroup).to.exist;\n expect(radioChildren.length).to.equal(3);\n });\n\n it('loads accessibly', async () => {\n await expect(testDiv).to.be.accessible();\n });\n\n it('validates selection', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-none-selected'\n ) as RadioGroup;\n expect(radioGroup.selected).to.equal('');\n\n radioGroup.selected = 'missing';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('');\n });\n\n it('can have selection prevented', async () => {\n const el = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const secondRadio = el.querySelector('sp-radio[value=second]') as Radio;\n const thirdRadio = el.querySelector('sp-radio[value=third]') as Radio;\n\n await elementUpdated(el);\n expect(el.selected).to.equal('first');\n\n secondRadio.click();\n\n await elementUpdated(el);\n expect(el.selected).to.equal('second');\n\n el.addEventListener('change', (event) => event.preventDefault());\n\n thirdRadio.click();\n\n await elementUpdated(el);\n expect(el.selected).to.equal('second');\n });\n\n it('reflects checked radio with selected property', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-default'\n ) as RadioGroup;\n const firstRadio = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const secondRadio = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const thirdRadio = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(firstRadio.checked).to.be.true;\n expect(secondRadio.checked).to.be.false;\n expect(thirdRadio.checked).to.be.false;\n expect(radioGroup.selected).to.equal(firstRadio.value);\n\n secondRadio.click();\n await elementUpdated(radioGroup);\n\n expect(firstRadio.checked).to.be.false;\n expect(secondRadio.checked).to.be.true;\n expect(thirdRadio.checked).to.be.false;\n expect(radioGroup.selected).to.equal(secondRadio.value);\n\n thirdRadio.click();\n await elementUpdated(radioGroup);\n\n expect(firstRadio.checked).to.be.false;\n expect(secondRadio.checked).to.be.false;\n expect(thirdRadio.checked).to.be.true;\n expect(radioGroup.selected).to.equal(thirdRadio.value);\n });\n\n it('forces only one radio to be checked', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-multiple-checked'\n ) as RadioGroup;\n const checkedRadios = radioGroup.querySelectorAll('sp-radio[checked]');\n\n expect(radioGroup.selected).to.equal('first');\n expect(checkedRadios.length).to.equal(1);\n });\n\n it('respects clicking on disabled attribute causing nothing to happen', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-disabled'\n ) as RadioGroup;\n const checkedRadio = radioGroup.querySelector(\n 'sp-radio[checked]'\n ) as Radio;\n const disabledRadio = radioGroup.querySelector(\n 'sp-radio[disabled]'\n ) as Radio;\n\n disabledRadio.click();\n await elementUpdated(radioGroup);\n\n expect(disabledRadio.checked).to.be.false;\n expect(checkedRadio.checked).to.be.true;\n expect(radioGroup.selected).to.equal(checkedRadio.value);\n });\n\n it('de-checks all but first checked radio if multiple checked', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-multiple-checked'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked).to.be.true;\n expect(radio2.checked).to.be.false;\n });\n\n it('ensures setting selection updates checked radio', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-selected'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const radio3 = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('third');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked, 'initial').to.be.true;\n\n radioGroup.selected = 'second';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('second');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked, 'second').to.be.true;\n expect(radio3.checked).to.be.false;\n\n radioGroup.selected = 'first';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked, 'third').to.be.true;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked).to.be.false;\n });\n\n it('ensures setting selected and clicking on radio both work together', async () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-selected-click'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n const radio3 = radioGroup.querySelector(\n 'sp-radio[value=third]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('third');\n radio2.click();\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('second');\n expect(radio1.checked).to.be.false;\n expect(radio2.checked).to.be.true;\n expect(radio3.checked).to.be.false;\n\n radioGroup.selected = 'first';\n await elementUpdated(radioGroup);\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked, 'moved to checked').to.be.true;\n expect(radio2.checked).to.be.false;\n expect(radio3.checked).to.be.false;\n });\n\n it('prioritizes checked over selected on initialization when conflicting', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-checked-prioritized'\n ) as RadioGroup;\n const radio1 = radioGroup.querySelector(\n 'sp-radio[value=first]'\n ) as Radio;\n const radio2 = radioGroup.querySelector(\n 'sp-radio[value=second]'\n ) as Radio;\n\n expect(radioGroup.selected).to.equal('first');\n expect(radio1.checked).to.be.true;\n expect(radio2.checked).to.be.false;\n });\n\n it('handles integer values for radio buttons', () => {\n const radioGroup = testDiv.querySelector(\n 'sp-radio-group#test-integer-value'\n ) as RadioGroup;\n expect(radioGroup.selected).to.equal('5');\n });\n\n it('prevents `change` events from radio buttons', async () => {\n const changeSpy = spy();\n const onChange = (event: Event & { target: RadioGroup }): void => {\n changeSpy(event.target.selected);\n };\n const el = await fixture(html`\n <sp-radio-group @change=${onChange}>\n <sp-radio value=\"bulbasaur\">Bulbasaur</sp-radio>\n <sp-radio value=\"squirtle\">Squirtle</sp-radio>\n <sp-radio value=\"charmander\">Charmander</sp-radio>\n </sp-radio-group>\n `);\n\n const bulbasaur = el.querySelector('[value=\"bulbasaur\"]') as Radio;\n const charmander = el.querySelector('[value=\"charmander\"]') as Radio;\n bulbasaur.click();\n bulbasaur.click();\n charmander.click();\n\n expect(changeSpy.calledWith(undefined)).to.be.false;\n });\n});\n\ndescribe('Radio Group - late children', () => {\n it('accepts frame late children', async () => {\n /**\n * In some cases (e.g. when wrapped in React components) will cause otherwise standard looking\n * DOM structures to add `<sp-radio>` children to `<sp-radio-group>` parents in a non-syncronous manner.\n *\n * This test emulates that render process to ensure that validation will still work as expect in that context.\n */\n const test = await fixture(html`\n <div>\n <sp-radio value=\"first\">Bulbasaur</sp-radio>\n <sp-radio value=\"second\">Squirtle</sp-radio>\n <sp-radio value=\"third\">Charmander</sp-radio>\n <sp-radio value=\"fourth\">Other</sp-radio>\n </div>\n `);\n const group = document.createElement('sp-radio-group');\n const buttons = [...test.querySelectorAll('sp-radio')] as Radio[];\n\n test.append(group);\n group.selected = 'first';\n Promise.resolve().then(function () {\n group.append(...buttons);\n });\n await nextFrame();\n await nextFrame();\n\n expect(group.buttons.length).to.equal(4);\n expect(group.selected).to.equal('first');\n });\n it('emits change events on arrow key events', async () => {\n const changeSpy = spy();\n const onChange = (event: Event & { target: RadioGroup }): void => {\n changeSpy(event.target.selected);\n };\n const el = await fixture<RadioGroup>(html`\n <sp-radio-group @change=${onChange}>\n <sp-radio value=\"bulbasaur\">Bulbasaur</sp-radio>\n <sp-radio value=\"squirtle\">Squirtle</sp-radio>\n <sp-radio value=\"charmander\">Charmander</sp-radio>\n </sp-radio-group>\n `);\n const bulbasaur = el.querySelector('[value=\"bulbasaur\"]') as Radio;\n const squirtle = el.querySelector('[value=\"squirtle\"]') as Radio;\n\n bulbasaur.focus();\n await elementUpdated(el);\n expect(changeSpy.callCount).to.equal(0);\n\n el.dispatchEvent(arrowRightEvent());\n await elementUpdated(el);\n expect(changeSpy.callCount).to.equal(1);\n expect(document.activeElement === squirtle).to.be.true;\n\n el.dispatchEvent(arrowLeftEvent());\n await elementUpdated(el);\n expect(changeSpy.callCount).to.equal(2);\n expect(document.activeElement === bulbasaur).to.be.true;\n });\n});\n"],
5
+ "mappings": ";AAYA,OAAO;AACP,OAAO;AAEP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,iBAAiB;AAC1B,SAAS,WAAW;AAEpB,SAAS,+BAA+B,MAAM;AAC1C,KAAG,oCAAoC,YAAY;AAC/C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA,IAGJ;AAEA,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAE5C,OAAG,MAAM;AACT,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAAA,EAChD,CAAC;AACD,KAAG,iCAAiC,YAAY;AAC5C,UAAM,SAAS,CAAC,SAAS,UAAU,OAAO;AAC1C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA,sCAE0B,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,IAGvC;AAEA,UAAM,eAAe,EAAE;AACvB,UAAM,WAAW,GAAG,cAAc,kBAAkB;AAEpD,WAAO,SAAS,kBAAkB,EAAE,EAAE,GAAG,GAAG;AAE5C,OAAG,MAAM;AACT,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,EAAE,GAAG,GAAG;AAAA,EACtD,CAAC;AACD,KAAG,2DAA2D,YAAY;AACtE,UAAM,SAAS,CAAC,SAAS,UAAU,OAAO;AAC1C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA,sCAE0B,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA,sCACT,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,IAGvC;AAEA,UAAM,eAAe,EAAE;AACvB,UAAM,QAAQ,GAAG,cAAc,iBAAiB;AAChD,UAAM,WAAW,GAAG,cAAc,kBAAkB;AACpD,WAAO,SAAS,QAAQ,EAAE,GAAG,MAAM,CAAC;AACpC,WAAO,MAAM,QAAQ,EAAE,GAAG,MAAM,EAAE;AAElC,UAAM,YAAY,MAAM,sBAAsB;AAC9C,UAAM,UAAU;AAAA,MACZ,OAAO;AAAA,QACH;AAAA,UACI,MAAM;AAAA,UACN,UAAU,CAAC,UAAU,IAAI,GAAG,UAAU,IAAI,CAAC;AAAA,QAC/C;AAAA,QACA;AAAA,UACI,MAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,UAAM,eAAe,EAAE;AAIvB;AAAA,MACI,CAAC,MAAM,QAAQ,QAAQ,KAAK,MAAM,QAAQ,eAAe;AAAA,MACzD;AAAA,IACJ,EAAE,GAAG,GAAG;AAAA,EACZ,CAAC;AACD,KAAG,4BAA4B,YAAY;AACvC,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAE/B,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAC/B,OAAG,WAAW;AACd,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAChC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAChC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AACD,KAAG,+CAA+C,YAAY;AAC1D,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AAEvB,OAAG,cAAc,gBAAgB,CAAC;AAClC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,SAAS,CAAC;AAC3B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,aAAa,CAAC;AAC/B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,OAAG,cAAc,UAAU,CAAC;AAC5B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAEhD,WAAO,KAAK;AAAA,EAChB,CAAC;AACD,KAAG,4FAA4F,YAAY;AACvG,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAChD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,UAAM,SAAS;AAAA,MACX,OAAO;AAAA,IACX,CAAC;AACD,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,MAAM,EAAE,GAAG,GAAG;AAChD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AACD,KAAG,qEAAqE,YAAY;AAChF,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASJ;AAEA,UAAM,eAAe,EAAE;AAEvB,UAAM,SAAS,GAAG,cAAc,uBAAuB;AACvD,UAAM,SAAS,GAAG,cAAc,uBAAuB;AAEvD,WAAO,MAAM;AACb,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAC3D,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE;AAE/B,OAAG,cAAc,WAAW,CAAC;AAC7B,OAAG,cAAc,SAAS,CAAC;AAC3B,UAAM,eAAe,EAAE;AACvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAC3D,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,GAAG;AAEhC,OAAG,cAAc,UAAU,CAAC;AAC5B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,UAAU,EAAE,GAAG,GAAG;AAE5D,OAAG,cAAc,aAAa,CAAC;AAC/B,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,SAAS,EAAE,GAAG,GAAG;AAE3D,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AAEvB,WAAO,SAAS,kBAAkB,QAAQ,UAAU,EAAE,GAAG,GAAG;AAAA,EAChE,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,MAAM;AAClC,KAAG,2CAA2C,YAAY;AACtD,UAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAMb;AAOD,UAAM,WAAY,MAAM;AAAA,MACpB,CAAC;AAAA,IACL;AAIA;AAAA,MACI;AAAA,QACI;AAAA,QACA,CACI,UAEC,KAAK,SAAS,gBAAgB,KAAK,SAAS,YAC7C,KAAK,SAAS;AAAA,MACtB;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,IAAI,GAAG;AACZ;AAAA,MACI;AAAA,QACI;AAAA,QACA,CAAC,SACG,KAAK,SAAS,WACd,KAAK,WACL,KAAK,SAAS;AAAA,MACtB;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,IAAI,GAAG;AACZ;AAAA,MACI;AAAA,QACI;AAAA,QACA,CAAC,SACG,KAAK,SAAS,cAAc,KAAK,KAAK,WAAW,MAAM;AAAA,MAC/D;AAAA,MACA;AAAA,IACJ,EAAE,GAAG,GAAG;AAAA,EACZ,CAAC;AACL,CAAC;AAED,SAAS,eAAe,MAAM;AAC1B,MAAI;AAEJ,aAAW,YAAY;AACnB,cAAU,MAAM;AAAA,MACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgDJ;AAAA,EACJ,CAAC;AAED,KAAG,SAAS,MAAM;AACd,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW,iBAAiB,UAAU;AAE5D,WAAO,UAAU,EAAE,GAAG;AACtB,WAAO,cAAc,MAAM,EAAE,GAAG,MAAM,CAAC;AAAA,EAC3C,CAAC;AAED,KAAG,oBAAoB,YAAY;AAC/B,UAAM,OAAO,OAAO,EAAE,GAAG,GAAG,WAAW;AAAA,EAC3C,CAAC;AAED,KAAG,uBAAuB,YAAY;AAClC,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,EAAE;AAEvC,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,EAAE;AAAA,EAC3C,CAAC;AAED,KAAG,gCAAgC,YAAY;AAC3C,UAAM,KAAK,QAAQ;AAAA,MACf;AAAA,IACJ;AACA,UAAM,cAAc,GAAG,cAAc,wBAAwB;AAC7D,UAAM,aAAa,GAAG,cAAc,uBAAuB;AAE3D,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,OAAO;AAEpC,gBAAY,MAAM;AAElB,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAErC,OAAG,iBAAiB,UAAU,CAAC,UAAU,MAAM,eAAe,CAAC;AAE/D,eAAW,MAAM;AAEjB,UAAM,eAAe,EAAE;AACvB,WAAO,GAAG,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAAA,EACzC,CAAC;AAED,KAAG,iDAAiD,YAAY;AAC5D,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,aAAa,WAAW;AAAA,MAC1B;AAAA,IACJ;AACA,UAAM,cAAc,WAAW;AAAA,MAC3B;AAAA,IACJ;AACA,UAAM,aAAa,WAAW;AAAA,MAC1B;AAAA,IACJ;AAEA,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,WAAW,KAAK;AAErD,gBAAY,MAAM;AAClB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,YAAY,KAAK;AAEtD,eAAW,MAAM;AACjB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,YAAY,OAAO,EAAE,GAAG,GAAG;AAClC,WAAO,WAAW,OAAO,EAAE,GAAG,GAAG;AACjC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,WAAW,KAAK;AAAA,EACzD,CAAC;AAED,KAAG,uCAAuC,MAAM;AAC5C,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW,iBAAiB,mBAAmB;AAErE,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,cAAc,MAAM,EAAE,GAAG,MAAM,CAAC;AAAA,EAC3C,CAAC;AAED,KAAG,qEAAqE,YAAY;AAChF,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,eAAe,WAAW;AAAA,MAC5B;AAAA,IACJ;AACA,UAAM,gBAAgB,WAAW;AAAA,MAC7B;AAAA,IACJ;AAEA,kBAAc,MAAM;AACpB,UAAM,eAAe,UAAU;AAE/B,WAAO,cAAc,OAAO,EAAE,GAAG,GAAG;AACpC,WAAO,aAAa,OAAO,EAAE,GAAG,GAAG;AACnC,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,aAAa,KAAK;AAAA,EAC3D,CAAC;AAED,KAAG,6DAA6D,MAAM;AAClE,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,mDAAmD,YAAY;AAC9D,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,SAAS,SAAS,EAAE,GAAG,GAAG;AAExC,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAC7C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,SAAS,QAAQ,EAAE,GAAG,GAAG;AACvC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,SAAS,OAAO,EAAE,GAAG,GAAG;AACtC,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,qEAAqE,YAAY;AAChF,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,MAAM;AACb,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,QAAQ;AAC7C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAE7B,eAAW,WAAW;AACtB,UAAM,eAAe,UAAU;AAE/B,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,SAAS,kBAAkB,EAAE,GAAG,GAAG;AACjD,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,wEAAwE,MAAM;AAC7E,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AACA,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,IACJ;AAEA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,OAAO;AAC5C,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAC7B,WAAO,OAAO,OAAO,EAAE,GAAG,GAAG;AAAA,EACjC,CAAC;AAED,KAAG,4CAA4C,MAAM;AACjD,UAAM,aAAa,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,WAAO,WAAW,QAAQ,EAAE,GAAG,MAAM,GAAG;AAAA,EAC5C,CAAC;AAED,KAAG,+CAA+C,YAAY;AAC1D,UAAM,YAAY,IAAI;AACtB,UAAM,WAAW,CAAC,UAAgD;AAC9D,gBAAU,MAAM,OAAO,QAAQ;AAAA,IACnC;AACA,UAAM,KAAK,MAAM,QAAQ;AAAA,sCACK,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,SAKrC;AAED,UAAM,YAAY,GAAG,cAAc,qBAAqB;AACxD,UAAM,aAAa,GAAG,cAAc,sBAAsB;AAC1D,cAAU,MAAM;AAChB,cAAU,MAAM;AAChB,eAAW,MAAM;AAEjB,WAAO,UAAU,WAAW,MAAS,CAAC,EAAE,GAAG,GAAG;AAAA,EAClD,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,MAAM;AAC1C,KAAG,+BAA+B,YAAY;AAO1C,UAAM,OAAO,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAO1B;AACD,UAAM,QAAQ,SAAS,cAAc,gBAAgB;AACrD,UAAM,UAAU,CAAC,GAAG,KAAK,iBAAiB,UAAU,CAAC;AAErD,SAAK,OAAO,KAAK;AACjB,UAAM,WAAW;AACjB,YAAQ,QAAQ,EAAE,KAAK,WAAY;AAC/B,YAAM,OAAO,GAAG,OAAO;AAAA,IAC3B,CAAC;AACD,UAAM,UAAU;AAChB,UAAM,UAAU;AAEhB,WAAO,MAAM,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC;AACvC,WAAO,MAAM,QAAQ,EAAE,GAAG,MAAM,OAAO;AAAA,EAC3C,CAAC;AACD,KAAG,2CAA2C,YAAY;AACtD,UAAM,YAAY,IAAI;AACtB,UAAM,WAAW,CAAC,UAAgD;AAC9D,gBAAU,MAAM,OAAO,QAAQ;AAAA,IACnC;AACA,UAAM,KAAK,MAAM,QAAoB;AAAA,sCACP,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,SAKrC;AACD,UAAM,YAAY,GAAG,cAAc,qBAAqB;AACxD,UAAM,WAAW,GAAG,cAAc,oBAAoB;AAEtD,cAAU,MAAM;AAChB,UAAM,eAAe,EAAE;AACvB,WAAO,UAAU,SAAS,EAAE,GAAG,MAAM,CAAC;AAEtC,OAAG,cAAc,gBAAgB,CAAC;AAClC,UAAM,eAAe,EAAE;AACvB,WAAO,UAAU,SAAS,EAAE,GAAG,MAAM,CAAC;AACtC,WAAO,SAAS,kBAAkB,QAAQ,EAAE,GAAG,GAAG;AAElD,OAAG,cAAc,eAAe,CAAC;AACjC,UAAM,eAAe,EAAE;AACvB,WAAO,UAAU,SAAS,EAAE,GAAG,MAAM,CAAC;AACtC,WAAO,SAAS,kBAAkB,SAAS,EAAE,GAAG,GAAG;AAAA,EACvD,CAAC;AACL,CAAC;",
6
6
  "names": []
7
7
  }