Skip to content

Conversation

@caseyisonit
Copy link
Contributor

Description

Motivation and context

Related issue(s)

  • fixes [Issue Number]

Screenshots (if appropriate)


Author's checklist

  • I have read the CONTRIBUTING and PULL_REQUESTS documents.
  • I have reviewed at the Accessibility Practices for this feature, see: Aria Practices
  • I have added automated tests to cover my changes.
  • I have included a well-written changeset if my change needs to be published.
  • I have included updated documentation if my change required it.

Reviewer's checklist

  • Includes a Github Issue with appropriate flag or Jira ticket number without a link
  • Includes thoughtfully written changeset if changes suggested include patch, minor, or major features
  • Automated tests cover all use cases and follow best practices for writing
  • Validated on all supported browsers
  • All VRTs are approved before the author can update Golden Hash

Manual review test cases

  • Descriptive Test Statement

    1. Go here
    2. Do this action
    3. Expect this result
  • Descriptive Test Statement

    1. Go here
    2. Do this action
    3. Expect this result

Device review

  • Did it pass in Desktop?
  • Did it pass in (emulated) Mobile?
  • Did it pass in (emulated) iPad?

@changeset-bot
Copy link

changeset-bot bot commented Nov 19, 2025

⚠️ No Changeset found

Latest commit: 399a683

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-closed', with ⏎············'sp-closed',⏎···········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········},·{·once:·true·}); with ············},⏎············{·once:·true·}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····} with ········)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert };⏎


🚫 [eslint] <lit-a11y/click-events-have-key-events> reported by reviewdog 🐶
Clickable non-interactive elements must have at least 1 keyboard event listener


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;" with ⏎················style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;"⏎············

<p style="margin: 0; color: var(--spectrum-gray-800); font-weight: bold;">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·content·was·only·created·when·you·opened·the·overlay! with ⏎··································This·content·was·only·created·when·you·opened⏎··································the·overlay!⏎······························

<p>This content was only created when you opened the overlay!</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·pattern·is·great·for·performance·when·you·have·many·overlays·on·a·page. with ⏎··································This·pattern·is·great·for·performance·when·you⏎··································have·many·overlays·on·a·page.⏎······························

<p>This pattern is great for performance when you have many overlays on a page.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>💡·Performance·tip:</strong>·The·overlay·content·is·only·created·when·you·click·the·button,·reducing·memory·usage·for·pages·with·many·overlays. with ⏎····················<strong>💡·Performance·tip:</strong>⏎····················The·overlay·content·is·only·created·when·you·click·the⏎····················button,·reducing·memory·usage·for·pages·with·many·overlays.⏎················

<p><strong>💡 Performance tip:</strong> The overlay content is only created when you click the button, reducing memory usage for pages with many overlays.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const prevBtn = document.querySelector('#prev-btn') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const nextBtn = document.querySelector('#next-btn') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎················trigger="wizard-trigger@click"·⏎················type="modal"⏎············ with trigger="wizard-trigger@click"·type="modal"

<sp-overlay
trigger="wizard-trigger@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·placeholder="Full·Name" with ⏎································placeholder="Full·Name"⏎····························

<sp-textfield placeholder="Full Name"></sp-textfield>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

const openSubmenu = async (event: MouseEvent, items: string[]) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace (item with ((item)

${items.map(item => `<sp-menu-item>${item}</sp-menu-item>`).join('')}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎············buttonRect.right,⏎············buttonRect.top⏎········ with buttonRect.right,·buttonRect.top

const trigger = new VirtualTrigger(
buttonRect.right,
buttonRect.top
);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-closed', with ⏎············'sp-closed',⏎···········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········},·{·once:·true·}); with ············},⏎············{·once:·true·}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace } with ····)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert };⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

openSubmenu(e, ['Import from File', 'Import from URL', 'Import from Clipboard'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'Import·from·File',·'Import·from·URL',·'Import·from·Clipboard']) with ⏎····································'Import·from·File',⏎····································'Import·from·URL',⏎····································'Import·from·Clipboard',

openSubmenu(e, ['Import from File', 'Import from URL', 'Import from Clipboard'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····])


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

openSubmenu(e, ['Export as PDF', 'Export as PNG', 'Export as SVG'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'Export·as·PDF',·'Export·as·PNG',·'Export·as·SVG']) with ⏎····································'Export·as·PDF',⏎····································'Export·as·PNG',⏎····································'Export·as·SVG',

openSubmenu(e, ['Export as PDF', 'Export as PNG', 'Export as SVG'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="scroll-trigger@click"·type="auto"·placement="right" with ⏎························trigger="scroll-trigger@click"⏎························type="auto"⏎························placement="right"⏎····················

<sp-overlay trigger="scroll-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·overlay·stays·positioned·correctly·even·when·you·scroll·the·container. with ⏎····································This·overlay·stays·positioned·correctly·even⏎····································when·you·scroll·the·container.⏎································

<p>This overlay stays positioned correctly even when you scroll the container.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·element·has·a·high·z-index,·but·overlays·still·appear·on·top. with ⏎····················This·element·has·a·high·z-index,·but·overlays·still·appear⏎····················on·top.⏎················

<p>This element has a high z-index, but overlays still appear on top.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="zindex-trigger@click"·type="auto"·placement="top" with ⏎····················trigger="zindex-trigger@click"⏎····················type="auto"⏎····················placement="top"⏎················

<sp-overlay trigger="zindex-trigger@click" type="auto" placement="top">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ✅·This·overlay·correctly·appears·above·all·content with ⏎································✅·This·overlay·correctly·appears·above·all⏎································content⏎····························

<p>✅ This overlay correctly appears above all content</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Overlays·are·rendered·in·a·top-level·container·to·avoid·z-index·issues. with ⏎································Overlays·are·rendered·in·a·top-level·container⏎································to·avoid·z-index·issues.⏎····························

<p>Overlays are rendered in a top-level container to avoid z-index issues.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#dynamic-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace module with ⏎················(module)

import('@spectrum-web-components/overlay/sp-overlay.js').then(module => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace } with ····}⏎············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="rapid-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="rapid-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="rapid-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Try·clicking·the·trigger·button·multiple·times·quickly. with ⏎····························Try·clicking·the·trigger·button·multiple·times⏎····························quickly.⏎························

<p>Try clicking the trigger button multiple times quickly.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Try·this:</strong>·Click·the·button·multiple·times·as·fast·as·you·can.·The·overlay·system·automatically·handles·rapid·interactions·without·getting·stuck·or·creating·multiple·overlays. with ⏎····················<strong>Try·this:</strong>⏎····················Click·the·button·multiple·times·as·fast·as·you·can.·The⏎····················overlay·system·automatically·handles·rapid·interactions⏎····················without·getting·stuck·or·creating·multiple·overlays.⏎················

<p><strong>Try this:</strong> Click the button multiple times as fast as you can. The overlay system automatically handles rapid interactions without getting stuck or creating multiple overlays.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="first-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="first-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="first-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Open·Second·Overlay with ⏎····························Open·Second·Overlay⏎························

<sp-button id="second-trigger">Open Second Overlay</sp-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="second-trigger@click"·type="auto"·placement="right" with ⏎····························trigger="second-trigger@click"⏎····························type="auto"⏎····························placement="right"⏎························

<sp-overlay trigger="second-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Open·Third·Overlay with ⏎········································Open·Third·Overlay⏎····································

<sp-button id="third-trigger">Open Third Overlay</sp-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="third-trigger@click"·type="auto"·placement="right" with ⏎········································trigger="third-trigger@click"⏎········································type="auto"⏎········································placement="right"⏎····································

<sp-overlay trigger="third-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Third·overlay·(highest·in·stack) with ⏎····················································Third·overlay·(highest·in⏎····················································stack)⏎················································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Press·ESC·to·close·overlays·in·order with ⏎····················································Press·ESC·to·close·overlays⏎····················································in·order⏎················································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="long-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="long-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="long-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace .fill(0).map( with ⏎································.fill(0)⏎································.map(⏎····································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ``` with ········⏎································`


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Responsive·behavior:</strong>·On·small·screens,·use·type="page"·for·full-screen·overlays·that·are·easier·to·interact·with. with ⏎····················<strong>Responsive·behavior:</strong>⏎····················On·small·screens,·use·type="page"·for·full-screen·overlays⏎····················that·are·easier·to·interact·with.⏎················

<p><strong>Responsive behavior:</strong> On small screens, use type="page" for full-screen overlays that are easier to interact with.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="mobile-trigger@click"·type="page"·placement="bottom" with ⏎····················trigger="mobile-trigger@click"⏎····················type="page"⏎····················placement="bottom"⏎················

<sp-overlay trigger="mobile-trigger@click" type="page" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace On·mobile,·overlays·can·take·full·screen·for·better·usability. with ⏎································On·mobile,·overlays·can·take·full·screen·for⏎································better·usability.⏎····························

<p>On mobile, overlays can take full screen for better usability.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Clipping·workaround:</strong>·Even·though·the·parent·has·overflow:hidden,·the·overlay·renders·correctly·because·it's·placed·in·a·top-level·container. with ⏎····················<strong>Clipping·workaround:</strong>⏎····················Even·though·the·parent·has·overflow:hidden,·the·overlay⏎····················renders·correctly·because·it's·placed·in·a·top-level⏎····················container.⏎················

<p><strong>Clipping workaround:</strong> Even though the parent has overflow:hidden, the overlay renders correctly because it's placed in a top-level container.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="clip-trigger@click"·type="auto"·placement="bottom" with ⏎····················trigger="clip-trigger@click"⏎····················type="auto"⏎····················placement="bottom"⏎················

<sp-overlay trigger="clip-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#email-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·id="password-help"·variant="secondary"·size="m"·quiet with ⏎····················id="password-help"⏎····················variant="secondary"⏎····················size="m"⏎····················quiet⏎················

<sp-button id="password-help" variant="secondary" size="m" quiet>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Contains·uppercase·and·lowercase·letters with ⏎····································Contains·uppercase·and·lowercase·letters⏎································

<li>Contains uppercase and lowercase letters</li>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Contains·at·least·one·special·character·(!@#$%^&*) with ⏎····································Contains·at·least·one·special·character⏎····································(!@#$%^&*)⏎································

<li>Contains at least one special character (!@#$%^&*)</li>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#username-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#password-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#confirm-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace '#password-field-multi' with ⏎············'#password-field-multi'⏎········

const passwordField = document.querySelector('#password-field-multi') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const passwordField = document.querySelector('#password-field-multi') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Username·must·be·at·least·3·characters·and·contain·only·letters,·numbers,·and·underscores with ⏎································Username·must·be·at·least·3·characters·and⏎································contain·only·letters,·numbers,·and·underscores⏎····························

<p>Username must be at least 3 characters and contain only letters, numbers, and underscores</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Country⏎················ with Country

<sp-field-label for="country-picker">
Country
</sp-field-label>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Time·zone⏎················ with Time·zone

<sp-field-label for="timezone-picker">
Time zone
</sp-field-label>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Pacific·Standard·Time·(PST) with ⏎························Pacific·Standard·Time·(PST)⏎····················

<sp-menu-item value="pst">Pacific Standard Time (PST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Mountain·Standard·Time·(MST) with ⏎························Mountain·Standard·Time·(MST)⏎····················

<sp-menu-item value="mst">Mountain Standard Time (MST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Central·Standard·Time·(CST) with ⏎························Central·Standard·Time·(CST)⏎····················

<sp-menu-item value="cst">Central Standard Time (CST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Eastern·Standard·Time·(EST) with ⏎························Eastern·Standard·Time·(EST)⏎····················

<sp-menu-item value="est">Eastern Standard Time (EST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Coordinated·Universal·Time·(UTC) with ⏎························Coordinated·Universal·Time·(UTC)⏎····················

<sp-menu-item value="utc">Coordinated Universal Time (UTC)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Greenwich·Mean·Time·(GMT) with ⏎························Greenwich·Mean·Time·(GMT)⏎····················

<sp-menu-item value="gmt">Greenwich Mean Time (GMT)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const nameField = document.querySelector('#edit-name-field') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const emailField = document.querySelector('#edit-email-field') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const display = document.querySelector('#user-info-display') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#edit-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#edit-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <br with ⏎····················<br·/


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···························· with ⏎····························<sp-field-label


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····························<sp-field-label·for="edit-email-field"·style="margin-top:·15px;" with ································for="edit-email-field"⏎································style="margin-top:·15px;"⏎····························

<sp-field-label for="edit-email-field" style="margin-top: 15px;">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····························


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·variant="secondary"·@click=${handleCancel} with ⏎····································variant="secondary"⏎····································@click=${handleCancel}⏎································

<sp-button variant="secondary" @click=${handleCancel}>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·variant="accent"·@click=${handleSave} with ⏎····································variant="accent"⏎····································@click=${handleSave}⏎································

<sp-button variant="accent" @click=${handleSave}>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····openOverlay,⏎····VirtualTrigger,⏎ with ·openOverlay,·VirtualTrigger·

import {
openOverlay,
VirtualTrigger,
} from '@spectrum-web-components/overlay';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Save⏎················ with Save

<sp-action-button id="tooltip-example">
Save
</sp-action-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>trigger</code>·attribute·connects·the·tooltip·to·your·button⏎····················using·the·button's·ID.·The·<code>@hover</code> with ⏎····················<code>trigger</code>⏎····················attribute·connects·the·tooltip·to·your·button·using·the⏎····················button's·ID.·The⏎····················<code>@hover</code>⏎···················

The <code>trigger</code> attribute connects the tooltip to your button
using the button's ID. The <code>@hover</code> part tells it to show on hover.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Hover·over·the·Save·button·above</p> with ⏎····················👆·Try·it:·Hover·over·the·Save·button·above

<p class="try-it">👆 Try it: Hover over the Save button above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>trigger:</strong>·Connects·to·button·using·"id@interaction" with ⏎····················•⏎····················<strong>trigger:</strong>⏎····················Connects·to·button·using·"id@interaction"⏎················

<p><strong>trigger:</strong> Connects to button using "id@interaction"</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="hint":</strong>·Non-blocking,·won't·interfere·with·page with ⏎····················•⏎····················<strong>type="hint":</strong>⏎····················Non-blocking,·won't·interfere·with·page⏎················

<p><strong>type="hint":</strong> Non-blocking, won't interfere with page</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>placement:</strong>·Where·tooltip·appears·(top,·bottom,·left,·right) with ⏎····················•⏎····················<strong>placement:</strong>⏎····················Where·tooltip·appears·(top,·bottom,·left,·right)⏎················

<p><strong>placement:</strong> Where tooltip appears (top, bottom, left, right)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>delayed:</strong>·Small·delay·before·showing·(better·UX) with ⏎····················•⏎····················<strong>delayed:</strong>⏎····················Small·delay·before·showing·(better·UX)⏎················

<p><strong>delayed:</strong> Small delay before showing (better UX)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·is·a·simple·popover·with·some·helpful·information. with ⏎································This·is·a·simple·popover·with·some·helpful⏎································information.⏎····························

<p>This is a simple popover with some helpful information.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>@click</code>·instead·of·<code>@hover</code>. with ⏎····················<code>@click</code>⏎····················instead·of⏎····················<code>@hover</code>

Similar to tooltips, but uses <code>@click</code> instead of <code>@hover</code>.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·The·popover·automatically·closes·when·you·click·outside·or with ·.·The·popover·automatically·closes·when·you·click·outside·or⏎···················

The popover automatically closes when you click outside or press Escape.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Click·the·"Show·Details"·button·above</p> with ⏎····················👆·Try·it:·Click·the·"Show·Details"·button·above

<p class="try-it">👆 Try it: Click the "Show Details" button above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>@click:</strong>·Opens·on·button·click with ⏎····················•⏎····················<strong>@click:</strong>⏎····················Opens·on·button·click⏎················

<p><strong>@click:</strong> Opens on button click</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="auto":</strong>·Closes·when·clicking·outside with ⏎····················•⏎····················<strong>type="auto":</strong>⏎····················Closes·when·clicking·outside⏎················

<p><strong>type="auto":</strong> Closes when clicking outside</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-popover:</strong>·Container·for·popover·content with ⏎····················•⏎····················<strong>sp-popover:</strong>⏎····················Container·for·popover·content⏎················

<p><strong>sp-popover:</strong> Container for popover content</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-dialog:</strong>·Provides·consistent·spacing·and·styling with ⏎····················•⏎····················<strong>sp-dialog:</strong>⏎····················Provides·consistent·spacing·and·styling⏎················

<p><strong>sp-dialog:</strong> Provides consistent spacing and styling</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················trigger="modal-example@click"·⏎····················type="modal"⏎················ with trigger="modal-example@click"·type="modal"

<sp-overlay
trigger="modal-example@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-overlay[trigger="modal-example@click"]' with ⏎································'sp-overlay[trigger="modal-example@click"]'⏎····························

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-overlay[trigger="modal-example@click"]' with ⏎································'sp-overlay[trigger="modal-example@click"]'⏎····························

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·The·underlay·dims

Modal dialogs block interaction with the page until closed. The underlay dims


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·the·background·to·focus·attention.·Use·<code>sp-dialog-wrapper</code>·for with ·The·underlay·dims·the·background·to·focus·attention.·Use⏎····················<code>sp-dialog-wrapper</code>

the background to focus attention. Use <code>sp-dialog-wrapper</code> for


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·for


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Click·"Delete·Item"·to·see·the·modal</p> with ⏎····················👆·Try·it:·Click·"Delete·Item"·to·see·the·modal

<p class="try-it">👆 Try it: Click "Delete Item" to see the modal</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="modal":</strong>·Blocks·page·interaction with ⏎····················•⏎····················<strong>type="modal":</strong>⏎····················Blocks·page·interaction⏎················

<p><strong>type="modal":</strong> Blocks page interaction</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>underlay:</strong>·Dims·background with ⏎····················•⏎····················<strong>underlay:</strong>⏎····················Dims·background⏎················

<p><strong>underlay:</strong> Dims background</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-dialog-wrapper:</strong>·Provides·action·buttons with ⏎····················•⏎····················<strong>sp-dialog-wrapper:</strong>⏎····················Provides·action·buttons⏎················

<p><strong>sp-dialog-wrapper:</strong> Provides action buttons</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>@confirm/@cancel:</strong>·Handle·button·clicks with ⏎····················•⏎····················<strong>@confirm/@cancel:</strong>⏎····················Handle·button·clicks⏎················

<p><strong>@confirm/@cancel:</strong> Handle button clicks</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

const handleContextMenu = async (event: MouseEvent) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-closed', with ⏎············'sp-closed',⏎···········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace },·{·once:·true·}); with ····},⏎············{·once:·true·}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert );⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;" with ⏎························style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;"⏎····················

<p style="margin: 0; color: var(--spectrum-gray-800); font-weight: bold;">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>VirtualTrigger</code>·to with ⏎····················<code>VirtualTrigger</code>

Context menus use the imperative API with <code>VirtualTrigger</code> to


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·position·the·menu·at·the·cursor.·This·requires·more·code·but·gives·you with ·to·position·the·menu·at·the·cursor.·This·requires·more·code

position the menu at the cursor. This requires more code but gives you


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·but·gives·you


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Right-click·in·the·shaded·area·above</p> with ⏎····················👆·Try·it:·Right-click·in·the·shaded·area·above

<p class="try-it">👆 Try it: Right-click in the shaded area above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>VirtualTrigger:</strong>·Position·at·cursor·coordinates with ⏎····················•⏎····················<strong>VirtualTrigger:</strong>⏎····················Position·at·cursor·coordinates⏎················

<p><strong>VirtualTrigger:</strong> Position at cursor coordinates</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>openOverlay():</strong>·Programmatic·API·for·advanced·control with ⏎····················•⏎····················<strong>openOverlay():</strong>⏎····················Programmatic·API·for·advanced·control⏎················

<p><strong>openOverlay():</strong> Programmatic API for advanced control</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>event.preventDefault():</strong>·Suppress·browser·context·menu with ⏎····················•⏎····················<strong>event.preventDefault():</strong>⏎····················Suppress·browser·context·menu⏎················

<p><strong>event.preventDefault():</strong> Suppress browser context menu</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>notImmediatelyClosable:</strong>·Prevents·instant·closing·on·right-click with ⏎····················•⏎····················<strong>notImmediatelyClosable:</strong>⏎····················Prevents·instant·closing·on·right-click⏎················

<p><strong>notImmediatelyClosable:</strong> Prevents instant closing on right-click</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·menus,

See real-world examples of validation popovers, action menus,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·menus,

help systems, and more with complete code samples.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-patterns-examples-common-patterns--tooltip-pattern';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·available

Dive deep into all the options, attributes, and events available


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·for·sp-overlay,·overlay-trigger,·and·the·trigger() with ·available·for·sp-overlay,·overlay-trigger,·and·the·trigger()⏎···················

for sp-overlay, overlay-trigger, and the trigger() directive.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-api-reference-sp-overlay--modal';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-edge-cases-troubleshooting-edge-cases--nested-scrolling';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-edge-cases-troubleshooting-troubleshooting--wont-open';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·The·button·ID·is·"correct-id"·but·the·overlay·is·looking·for with ⏎····················The·button·ID·is·"correct-id"·but·the·overlay·is·looking·for⏎···················

<strong>Problem:</strong> The button ID is "correct-id" but the overlay is looking for "wrong-id".


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Button ID matches the trigger attribute.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·type="inline"·doesn't·auto-close,·and·button·doesn't·trigger with ⏎····················type="inline"·doesn't·auto-close,·and·button·doesn't·trigger⏎···················

<strong>Problem:</strong> type="inline" doesn't auto-close, and button doesn't trigger close event.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎·······························


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace e.target?.dispatchEvent(new·Event('close',·{·bubbles:·true·}) with ····e.target?.dispatchEvent(⏎········································new·Event('close',·{·bubbles:·true·})⏎····································

e.target?.dispatchEvent(new Event('close', { bubbles: true }));


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

e.target?.dispatchEvent(new Event('close', { bubbles: true }));


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎····························


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Button dispatches 'close' event that bubbles to overlay.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Placement·defaults·to·'top'·which·might·not·be·what·you·want. with ⏎································Placement·defaults·to·'top'·which·might·not·be⏎································what·you·want.⏎····························

<p>Placement defaults to 'top' which might not be what you want.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> No placement specified, uses default.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="with-placement-trigger@click"·type="auto"·placement="bottom-start" with ⏎····················trigger="with-placement-trigger@click"⏎····················type="auto"⏎····················placement="bottom-start"⏎················

<sp-overlay trigger="with-placement-trigger@click" type="auto" placement="bottom-start">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Specify placement explicitly.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Options:</strong>·top,·bottom,·left,·right·(with·-start/-end·variants) with ⏎························<strong>Options:</strong>⏎························top,·bottom,·left,·right·(with·-start/-end·variants)⏎····················

<p><strong>Options:</strong> top, bottom, left, right (with -start/-end variants)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·Modal·overlay·should·receive·focus·but with ⏎····················Modal·overlay·should·receive·focus·but⏎···················

<strong>Problem:</strong> Modal overlay should receive focus but receives-focus="false" disables it.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················trigger="with-focus-trigger@click"·⏎····················type="modal"⏎················ with trigger="with-focus-trigger@click"·type="modal"

<sp-overlay
trigger="with-focus-trigger@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·Remove·receives-focus="false"·or·set·to·"auto"·for·default with ⏎····················Remove·receives-focus="false"·or·set·to·"auto"·for·default⏎···················

<strong>Solution:</strong> Remove receives-focus="false" or set to "auto" for default behavior.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····························Popover⏎························ with Popover

<sp-dialog size="s" no-divider>
Popover
</sp-dialog>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> Multiple sp-overlay elements can conflict.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Use overlay-trigger for multiple interactions.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Problem:</strong>·With·many·overlays,·all·content·is·in·DOM: with ⏎························<strong>Problem:</strong>⏎························With·many·overlays,·all·content·is·in·DOM:⏎····················

<p><strong>Problem:</strong> With many overlays, all content is in DOM:</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Result:·100·popovers·×·200·nodes·=·<strong>20,000·DOM·nodes</strong></p with ⏎························Result:·100·popovers·×·200·nodes·=⏎························<strong>20,000·DOM·nodes</strong

<p>Result: 100 popovers × 200 nodes = <strong>20,000 DOM nodes</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace </div with ····</p


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </div>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Solution:</strong>·Use·slottable-request·to·load·content·on·demand: with ⏎························<strong>Solution:</strong>⏎························Use·slottable-request·to·load·content·on·demand:⏎····················

<p><strong>Solution:</strong> Use slottable-request to load content on demand:</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Result:·Only·1-2·active·overlays·=·<strong>200-400·DOM·nodes</strong> with ⏎························Result:·Only·1-2·active·overlays·=⏎························<strong>200-400·DOM·nodes</strong>⏎····················

<p>Result: Only 1-2 active overlays = <strong>200-400 DOM nodes</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 💡·<strong>90%·reduction·in·memory!</strong> with ⏎························💡⏎························<strong>90%·reduction·in·memory!</strong>⏎····················

<p>💡 <strong>90% reduction in memory!</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> Div element can't receive keyboard focus.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Add tabindex, role, and keyboard handler.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 💡·<strong>Better:</strong>·Use·sp-button·for·built-in·accessibility. with ⏎························💡⏎························<strong>Better:</strong>⏎························Use·sp-button·for·built-in·accessibility.⏎····················

<p>💡 <strong>Better:</strong> Use sp-button for built-in accessibility.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
import { html, TemplateResult, render } from '@spectrum-web-components/base';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <sort-imports> reported by reviewdog 🐶
Member 'render' of the import declaration should be sorted alphabetically.

Suggested change
import { html, TemplateResult, render } from '@spectrum-web-components/base';
import { html, render, TemplateResult } from '@spectrum-web-components/base';


/**
* Nested overlays - overlay within overlay
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

* Nested overlays - overlay within overlay
*
* **Use case:** Multi-level interactions like menus with submenus
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

* - Proper z-index stacking
* - Independent lifecycle management
* - ESC key closes in order (most recent first)
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

<sp-button id="first-trigger" variant="primary">
Open First Overlay
</sp-button>
<sp-overlay trigger="first-trigger@click" type="auto" placement="bottom">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="first-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="first-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

Suggested change
<sp-overlay trigger="first-trigger@click" type="auto" placement="bottom">
<sp-overlay
trigger="first-trigger@click"
type="auto"
placement="bottom"
>

<sp-overlay
id="dynamic-overlay"
trigger="dynamic-trigger@click"
type="auto"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
type="auto"
type="auto"

</ul>
<div class="action-buttons">
<sp-button @click=${addItem}>Add Item</sp-button>
<sp-button @click=${removeItem} variant="secondary">Remove Item</sp-button>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Remove·Item with ⏎································Remove·Item⏎····························

Suggested change
<sp-button @click=${removeItem} variant="secondary">Remove Item</sp-button>
<sp-button @click=${removeItem} variant="secondary">
Remove Item
</sp-button>


/**
* Virtual positioning - position overlay at specific coordinates
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

* Virtual positioning - position overlay at specific coordinates
*
* **Use case:** Context menus, coordinate-based positioning
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

* - Position at any x,y coordinates
* - No DOM trigger element required
* - Useful for mouse-based interactions
*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

Suggested change
*
*

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const prevBtn = document.querySelector('#prev-btn') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const nextBtn = document.querySelector('#next-btn') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎················trigger="wizard-trigger@click"·⏎················type="modal"⏎············ with trigger="wizard-trigger@click"·type="modal"

<sp-overlay
trigger="wizard-trigger@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·placeholder="Full·Name" with ⏎································placeholder="Full·Name"⏎····························

<sp-textfield placeholder="Full Name"></sp-textfield>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

const openSubmenu = async (event: MouseEvent, items: string[]) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace (item with ((item)

${items.map(item => `<sp-menu-item>${item}</sp-menu-item>`).join('')}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎············buttonRect.right,⏎············buttonRect.top⏎········ with buttonRect.right,·buttonRect.top

const trigger = new VirtualTrigger(
buttonRect.right,
buttonRect.top
);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-closed', with ⏎············'sp-closed',⏎···········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········},·{·once:·true·}); with ············},⏎············{·once:·true·}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace } with ····)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert };⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

openSubmenu(e, ['Import from File', 'Import from URL', 'Import from Clipboard'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'Import·from·File',·'Import·from·URL',·'Import·from·Clipboard']) with ⏎····································'Import·from·File',⏎····································'Import·from·URL',⏎····································'Import·from·Clipboard',

openSubmenu(e, ['Import from File', 'Import from URL', 'Import from Clipboard'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····])


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

openSubmenu(e, ['Export as PDF', 'Export as PNG', 'Export as SVG'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'Export·as·PDF',·'Export·as·PNG',·'Export·as·SVG']) with ⏎····································'Export·as·PDF',⏎····································'Export·as·PNG',⏎····································'Export·as·SVG',

openSubmenu(e, ['Export as PDF', 'Export as PNG', 'Export as SVG'])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····])


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="scroll-trigger@click"·type="auto"·placement="right" with ⏎························trigger="scroll-trigger@click"⏎························type="auto"⏎························placement="right"⏎····················

<sp-overlay trigger="scroll-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·overlay·stays·positioned·correctly·even·when·you·scroll·the·container. with ⏎····································This·overlay·stays·positioned·correctly·even⏎····································when·you·scroll·the·container.⏎································

<p>This overlay stays positioned correctly even when you scroll the container.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·element·has·a·high·z-index,·but·overlays·still·appear·on·top. with ⏎····················This·element·has·a·high·z-index,·but·overlays·still·appear⏎····················on·top.⏎················

<p>This element has a high z-index, but overlays still appear on top.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="zindex-trigger@click"·type="auto"·placement="top" with ⏎····················trigger="zindex-trigger@click"⏎····················type="auto"⏎····················placement="top"⏎················

<sp-overlay trigger="zindex-trigger@click" type="auto" placement="top">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ✅·This·overlay·correctly·appears·above·all·content with ⏎································✅·This·overlay·correctly·appears·above·all⏎································content⏎····························

<p>✅ This overlay correctly appears above all content</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Overlays·are·rendered·in·a·top-level·container·to·avoid·z-index·issues. with ⏎································Overlays·are·rendered·in·a·top-level·container⏎································to·avoid·z-index·issues.⏎····························

<p>Overlays are rendered in a top-level container to avoid z-index issues.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#dynamic-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace module with ⏎················(module)

import('@spectrum-web-components/overlay/sp-overlay.js').then(module => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace } with ····}⏎············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="rapid-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="rapid-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="rapid-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Try·clicking·the·trigger·button·multiple·times·quickly. with ⏎····························Try·clicking·the·trigger·button·multiple·times⏎····························quickly.⏎························

<p>Try clicking the trigger button multiple times quickly.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Try·this:</strong>·Click·the·button·multiple·times·as·fast·as·you·can.·The·overlay·system·automatically·handles·rapid·interactions·without·getting·stuck·or·creating·multiple·overlays. with ⏎····················<strong>Try·this:</strong>⏎····················Click·the·button·multiple·times·as·fast·as·you·can.·The⏎····················overlay·system·automatically·handles·rapid·interactions⏎····················without·getting·stuck·or·creating·multiple·overlays.⏎················

<p><strong>Try this:</strong> Click the button multiple times as fast as you can. The overlay system automatically handles rapid interactions without getting stuck or creating multiple overlays.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="first-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="first-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="first-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Open·Second·Overlay with ⏎····························Open·Second·Overlay⏎························

<sp-button id="second-trigger">Open Second Overlay</sp-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="second-trigger@click"·type="auto"·placement="right" with ⏎····························trigger="second-trigger@click"⏎····························type="auto"⏎····························placement="right"⏎························

<sp-overlay trigger="second-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Open·Third·Overlay with ⏎········································Open·Third·Overlay⏎····································

<sp-button id="third-trigger">Open Third Overlay</sp-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="third-trigger@click"·type="auto"·placement="right" with ⏎········································trigger="third-trigger@click"⏎········································type="auto"⏎········································placement="right"⏎····································

<sp-overlay trigger="third-trigger@click" type="auto" placement="right">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Third·overlay·(highest·in·stack) with ⏎····················································Third·overlay·(highest·in⏎····················································stack)⏎················································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Press·ESC·to·close·overlays·in·order with ⏎····················································Press·ESC·to·close·overlays⏎····················································in·order⏎················································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="long-trigger@click"·type="auto"·placement="bottom" with ⏎················trigger="long-trigger@click"⏎················type="auto"⏎················placement="bottom"⏎············

<sp-overlay trigger="long-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace .fill(0).map( with ⏎································.fill(0)⏎································.map(⏎····································


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ``` with ········⏎································`


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Responsive·behavior:</strong>·On·small·screens,·use·type="page"·for·full-screen·overlays·that·are·easier·to·interact·with. with ⏎····················<strong>Responsive·behavior:</strong>⏎····················On·small·screens,·use·type="page"·for·full-screen·overlays⏎····················that·are·easier·to·interact·with.⏎················

<p><strong>Responsive behavior:</strong> On small screens, use type="page" for full-screen overlays that are easier to interact with.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="mobile-trigger@click"·type="page"·placement="bottom" with ⏎····················trigger="mobile-trigger@click"⏎····················type="page"⏎····················placement="bottom"⏎················

<sp-overlay trigger="mobile-trigger@click" type="page" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace On·mobile,·overlays·can·take·full·screen·for·better·usability. with ⏎································On·mobile,·overlays·can·take·full·screen·for⏎································better·usability.⏎····························

<p>On mobile, overlays can take full screen for better usability.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Clipping·workaround:</strong>·Even·though·the·parent·has·overflow:hidden,·the·overlay·renders·correctly·because·it's·placed·in·a·top-level·container. with ⏎····················<strong>Clipping·workaround:</strong>⏎····················Even·though·the·parent·has·overflow:hidden,·the·overlay⏎····················renders·correctly·because·it's·placed·in·a·top-level⏎····················container.⏎················

<p><strong>Clipping workaround:</strong> Even though the parent has overflow:hidden, the overlay renders correctly because it's placed in a top-level container.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="clip-trigger@click"·type="auto"·placement="bottom" with ⏎····················trigger="clip-trigger@click"⏎····················type="auto"⏎····················placement="bottom"⏎················

<sp-overlay trigger="clip-trigger@click" type="auto" placement="bottom">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#email-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·id="password-help"·variant="secondary"·size="m"·quiet with ⏎····················id="password-help"⏎····················variant="secondary"⏎····················size="m"⏎····················quiet⏎················

<sp-button id="password-help" variant="secondary" size="m" quiet>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Contains·uppercase·and·lowercase·letters with ⏎····································Contains·uppercase·and·lowercase·letters⏎································

<li>Contains uppercase and lowercase letters</li>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Contains·at·least·one·special·character·(!@#$%^&*) with ⏎····································Contains·at·least·one·special·character⏎····································(!@#$%^&*)⏎································

<li>Contains at least one special character (!@#$%^&*)</li>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#username-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#password-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#confirm-error') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace '#password-field-multi' with ⏎············'#password-field-multi'⏎········

const passwordField = document.querySelector('#password-field-multi') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const passwordField = document.querySelector('#password-field-multi') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Username·must·be·at·least·3·characters·and·contain·only·letters,·numbers,·and·underscores with ⏎································Username·must·be·at·least·3·characters·and⏎································contain·only·letters,·numbers,·and·underscores⏎····························

<p>Username must be at least 3 characters and contain only letters, numbers, and underscores</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Country⏎················ with Country

<sp-field-label for="country-picker">
Country
</sp-field-label>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Time·zone⏎················ with Time·zone

<sp-field-label for="timezone-picker">
Time zone
</sp-field-label>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Pacific·Standard·Time·(PST) with ⏎························Pacific·Standard·Time·(PST)⏎····················

<sp-menu-item value="pst">Pacific Standard Time (PST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Mountain·Standard·Time·(MST) with ⏎························Mountain·Standard·Time·(MST)⏎····················

<sp-menu-item value="mst">Mountain Standard Time (MST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Central·Standard·Time·(CST) with ⏎························Central·Standard·Time·(CST)⏎····················

<sp-menu-item value="cst">Central Standard Time (CST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Eastern·Standard·Time·(EST) with ⏎························Eastern·Standard·Time·(EST)⏎····················

<sp-menu-item value="est">Eastern Standard Time (EST)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Coordinated·Universal·Time·(UTC) with ⏎························Coordinated·Universal·Time·(UTC)⏎····················

<sp-menu-item value="utc">Coordinated Universal Time (UTC)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Greenwich·Mean·Time·(GMT) with ⏎························Greenwich·Mean·Time·(GMT)⏎····················

<sp-menu-item value="gmt">Greenwich Mean Time (GMT)</sp-menu-item>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const nameField = document.querySelector('#edit-name-field') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const emailField = document.querySelector('#edit-email-field') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const display = document.querySelector('#user-info-display') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#edit-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('#edit-overlay') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <br with ⏎····················<br·/


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···························· with ⏎····························<sp-field-label


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····························<sp-field-label·for="edit-email-field"·style="margin-top:·15px;" with ································for="edit-email-field"⏎································style="margin-top:·15px;"⏎····························

<sp-field-label for="edit-email-field" style="margin-top: 15px;">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····························


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·variant="secondary"·@click=${handleCancel} with ⏎····································variant="secondary"⏎····································@click=${handleCancel}⏎································

<sp-button variant="secondary" @click=${handleCancel}>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·variant="accent"·@click=${handleSave} with ⏎····································variant="accent"⏎····································@click=${handleSave}⏎································

<sp-button variant="accent" @click=${handleSave}>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····openOverlay,⏎····VirtualTrigger,⏎ with ·openOverlay,·VirtualTrigger·

import {
openOverlay,
VirtualTrigger,
} from '@spectrum-web-components/overlay';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················Save⏎················ with Save

<sp-action-button id="tooltip-example">
Save
</sp-action-button>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>trigger</code>·attribute·connects·the·tooltip·to·your·button⏎····················using·the·button's·ID.·The·<code>@hover</code> with ⏎····················<code>trigger</code>⏎····················attribute·connects·the·tooltip·to·your·button·using·the⏎····················button's·ID.·The⏎····················<code>@hover</code>⏎···················

The <code>trigger</code> attribute connects the tooltip to your button
using the button's ID. The <code>@hover</code> part tells it to show on hover.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Hover·over·the·Save·button·above</p> with ⏎····················👆·Try·it:·Hover·over·the·Save·button·above

<p class="try-it">👆 Try it: Hover over the Save button above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>trigger:</strong>·Connects·to·button·using·"id@interaction" with ⏎····················•⏎····················<strong>trigger:</strong>⏎····················Connects·to·button·using·"id@interaction"⏎················

<p><strong>trigger:</strong> Connects to button using "id@interaction"</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="hint":</strong>·Non-blocking,·won't·interfere·with·page with ⏎····················•⏎····················<strong>type="hint":</strong>⏎····················Non-blocking,·won't·interfere·with·page⏎················

<p><strong>type="hint":</strong> Non-blocking, won't interfere with page</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>placement:</strong>·Where·tooltip·appears·(top,·bottom,·left,·right) with ⏎····················•⏎····················<strong>placement:</strong>⏎····················Where·tooltip·appears·(top,·bottom,·left,·right)⏎················

<p><strong>placement:</strong> Where tooltip appears (top, bottom, left, right)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>delayed:</strong>·Small·delay·before·showing·(better·UX) with ⏎····················•⏎····················<strong>delayed:</strong>⏎····················Small·delay·before·showing·(better·UX)⏎················

<p><strong>delayed:</strong> Small delay before showing (better UX)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace This·is·a·simple·popover·with·some·helpful·information. with ⏎································This·is·a·simple·popover·with·some·helpful⏎································information.⏎····························

<p>This is a simple popover with some helpful information.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>@click</code>·instead·of·<code>@hover</code>. with ⏎····················<code>@click</code>⏎····················instead·of⏎····················<code>@hover</code>

Similar to tooltips, but uses <code>@click</code> instead of <code>@hover</code>.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·The·popover·automatically·closes·when·you·click·outside·or with ·.·The·popover·automatically·closes·when·you·click·outside·or⏎···················

The popover automatically closes when you click outside or press Escape.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Click·the·"Show·Details"·button·above</p> with ⏎····················👆·Try·it:·Click·the·"Show·Details"·button·above

<p class="try-it">👆 Try it: Click the "Show Details" button above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>@click:</strong>·Opens·on·button·click with ⏎····················•⏎····················<strong>@click:</strong>⏎····················Opens·on·button·click⏎················

<p><strong>@click:</strong> Opens on button click</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="auto":</strong>·Closes·when·clicking·outside with ⏎····················•⏎····················<strong>type="auto":</strong>⏎····················Closes·when·clicking·outside⏎················

<p><strong>type="auto":</strong> Closes when clicking outside</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-popover:</strong>·Container·for·popover·content with ⏎····················•⏎····················<strong>sp-popover:</strong>⏎····················Container·for·popover·content⏎················

<p><strong>sp-popover:</strong> Container for popover content</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-dialog:</strong>·Provides·consistent·spacing·and·styling with ⏎····················•⏎····················<strong>sp-dialog:</strong>⏎····················Provides·consistent·spacing·and·styling⏎················

<p><strong>sp-dialog:</strong> Provides consistent spacing and styling</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················trigger="modal-example@click"·⏎····················type="modal"⏎················ with trigger="modal-example@click"·type="modal"

<sp-overlay
trigger="modal-example@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-overlay[trigger="modal-example@click"]' with ⏎································'sp-overlay[trigger="modal-example@click"]'⏎····························

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-overlay[trigger="modal-example@click"]' with ⏎································'sp-overlay[trigger="modal-example@click"]'⏎····························

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <@typescript-eslint/no-explicit-any> reported by reviewdog 🐶
Unexpected any. Specify a different type.

const overlay = document.querySelector('sp-overlay[trigger="modal-example@click"]') as any;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·The·underlay·dims

Modal dialogs block interaction with the page until closed. The underlay dims


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·the·background·to·focus·attention.·Use·<code>sp-dialog-wrapper</code>·for with ·The·underlay·dims·the·background·to·focus·attention.·Use⏎····················<code>sp-dialog-wrapper</code>

the background to focus attention. Use <code>sp-dialog-wrapper</code> for


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·for


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Click·"Delete·Item"·to·see·the·modal</p> with ⏎····················👆·Try·it:·Click·"Delete·Item"·to·see·the·modal

<p class="try-it">👆 Try it: Click "Delete Item" to see the modal</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>type="modal":</strong>·Blocks·page·interaction with ⏎····················•⏎····················<strong>type="modal":</strong>⏎····················Blocks·page·interaction⏎················

<p><strong>type="modal":</strong> Blocks page interaction</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>underlay:</strong>·Dims·background with ⏎····················•⏎····················<strong>underlay:</strong>⏎····················Dims·background⏎················

<p><strong>underlay:</strong> Dims background</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>sp-dialog-wrapper:</strong>·Provides·action·buttons with ⏎····················•⏎····················<strong>sp-dialog-wrapper:</strong>⏎····················Provides·action·buttons⏎················

<p><strong>sp-dialog-wrapper:</strong> Provides action buttons</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>@confirm/@cancel:</strong>·Handle·button·clicks with ⏎····················•⏎····················<strong>@confirm/@cancel:</strong>⏎····················Handle·button·clicks⏎················

<p><strong>@confirm/@cancel:</strong> Handle button clicks</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

const handleContextMenu = async (event: MouseEvent) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'sp-closed', with ⏎············'sp-closed',⏎···········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace },·{·once:·true·}); with ····},⏎············{·once:·true·}


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert );⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;" with ⏎························style="margin:·0;·color:·var(--spectrum-gray-800);·font-weight:·bold;"⏎····················

<p style="margin: 0; color: var(--spectrum-gray-800); font-weight: bold;">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·<code>VirtualTrigger</code>·to with ⏎····················<code>VirtualTrigger</code>

Context menus use the imperative API with <code>VirtualTrigger</code> to


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·position·the·menu·at·the·cursor.·This·requires·more·code·but·gives·you with ·to·position·the·menu·at·the·cursor.·This·requires·more·code

position the menu at the cursor. This requires more code but gives you


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·but·gives·you


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 👆·Try·it:·Right-click·in·the·shaded·area·above</p> with ⏎····················👆·Try·it:·Right-click·in·the·shaded·area·above

<p class="try-it">👆 Try it: Right-click in the shaded area above</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </p>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>VirtualTrigger:</strong>·Position·at·cursor·coordinates with ⏎····················•⏎····················<strong>VirtualTrigger:</strong>⏎····················Position·at·cursor·coordinates⏎················

<p><strong>VirtualTrigger:</strong> Position at cursor coordinates</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>openOverlay():</strong>·Programmatic·API·for·advanced·control with ⏎····················•⏎····················<strong>openOverlay():</strong>⏎····················Programmatic·API·for·advanced·control⏎················

<p><strong>openOverlay():</strong> Programmatic API for advanced control</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>event.preventDefault():</strong>·Suppress·browser·context·menu with ⏎····················•⏎····················<strong>event.preventDefault():</strong>⏎····················Suppress·browser·context·menu⏎················

<p><strong>event.preventDefault():</strong> Suppress browser context menu</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace •·<strong>notImmediatelyClosable:</strong>·Prevents·instant·closing·on·right-click with ⏎····················•⏎····················<strong>notImmediatelyClosable:</strong>⏎····················Prevents·instant·closing·on·right-click⏎················

<p><strong>notImmediatelyClosable:</strong> Prevents instant closing on right-click</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·menus,

See real-world examples of validation popovers, action menus,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ·menus,

help systems, and more with complete code samples.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-patterns-examples-common-patterns--tooltip-pattern';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·available

Dive deep into all the options, attributes, and events available


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·for·sp-overlay,·overlay-trigger,·and·the·trigger() with ·available·for·sp-overlay,·overlay-trigger,·and·the·trigger()⏎···················

for sp-overlay, overlay-trigger, and the trigger() directive.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-api-reference-sp-overlay--modal';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-edge-cases-troubleshooting-edge-cases--nested-scrolling';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····················window.location.hash·= with ························window.location.hash·=⏎···························

window.location.hash = '#overlay-edge-cases-troubleshooting-troubleshooting--wont-open';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎················


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·The·button·ID·is·"correct-id"·but·the·overlay·is·looking·for with ⏎····················The·button·ID·is·"correct-id"·but·the·overlay·is·looking·for⏎···················

<strong>Problem:</strong> The button ID is "correct-id" but the overlay is looking for "wrong-id".


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Button ID matches the trigger attribute.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·type="inline"·doesn't·auto-close,·and·button·doesn't·trigger with ⏎····················type="inline"·doesn't·auto-close,·and·button·doesn't·trigger⏎···················

<strong>Problem:</strong> type="inline" doesn't auto-close, and button doesn't trigger close event.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎·······························


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace e.target?.dispatchEvent(new·Event('close',·{·bubbles:·true·}) with ····e.target?.dispatchEvent(⏎········································new·Event('close',·{·bubbles:·true·})⏎····································

e.target?.dispatchEvent(new Event('close', { bubbles: true }));


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name

e.target?.dispatchEvent(new Event('close', { bubbles: true }));


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace }} with ····}}⏎····························


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Button dispatches 'close' event that bubbles to overlay.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Placement·defaults·to·'top'·which·might·not·be·what·you·want. with ⏎································Placement·defaults·to·'top'·which·might·not·be⏎································what·you·want.⏎····························

<p>Placement defaults to 'top' which might not be what you want.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> No placement specified, uses default.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·trigger="with-placement-trigger@click"·type="auto"·placement="bottom-start" with ⏎····················trigger="with-placement-trigger@click"⏎····················type="auto"⏎····················placement="bottom-start"⏎················

<sp-overlay trigger="with-placement-trigger@click" type="auto" placement="bottom-start">


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Specify placement explicitly.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Options:</strong>·top,·bottom,·left,·right·(with·-start/-end·variants) with ⏎························<strong>Options:</strong>⏎························top,·bottom,·left,·right·(with·-start/-end·variants)⏎····················

<p><strong>Options:</strong> top, bottom, left, right (with -start/-end variants)</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·Modal·overlay·should·receive·focus·but with ⏎····················Modal·overlay·should·receive·focus·but⏎···················

<strong>Problem:</strong> Modal overlay should receive focus but receives-focus="false" disables it.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····················trigger="with-focus-trigger@click"·⏎····················type="modal"⏎················ with trigger="with-focus-trigger@click"·type="modal"

<sp-overlay
trigger="with-focus-trigger@click"
type="modal"
>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·Remove·receives-focus="false"·or·set·to·"auto"·for·default with ⏎····················Remove·receives-focus="false"·or·set·to·"auto"·for·default⏎···················

<strong>Solution:</strong> Remove receives-focus="false" or set to "auto" for default behavior.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ⏎····························Popover⏎························ with Popover

<sp-dialog size="s" no-divider>
Popover
</sp-dialog>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> Multiple sp-overlay elements can conflict.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Use overlay-trigger for multiple interactions.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Problem:</strong>·With·many·overlays,·all·content·is·in·DOM: with ⏎························<strong>Problem:</strong>⏎························With·many·overlays,·all·content·is·in·DOM:⏎····················

<p><strong>Problem:</strong> With many overlays, all content is in DOM:</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Result:·100·popovers·×·200·nodes·=·<strong>20,000·DOM·nodes</strong></p with ⏎························Result:·100·popovers·×·200·nodes·=⏎························<strong>20,000·DOM·nodes</strong

<p>Result: 100 popovers × 200 nodes = <strong>20,000 DOM nodes</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace </div with ····</p


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert </div>⏎


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace <strong>Solution:</strong>·Use·slottable-request·to·load·content·on·demand: with ⏎························<strong>Solution:</strong>⏎························Use·slottable-request·to·load·content·on·demand:⏎····················

<p><strong>Solution:</strong> Use slottable-request to load content on demand:</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace Result:·Only·1-2·active·overlays·=·<strong>200-400·DOM·nodes</strong> with ⏎························Result:·Only·1-2·active·overlays·=⏎························<strong>200-400·DOM·nodes</strong>⏎····················

<p>Result: Only 1-2 active overlays = <strong>200-400 DOM nodes</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 💡·<strong>90%·reduction·in·memory!</strong> with ⏎························💡⏎························<strong>90%·reduction·in·memory!</strong>⏎····················

<p>💡 <strong>90% reduction in memory!</strong></p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Problem:</strong> Div element can't receive keyboard focus.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <@spectrum-web-components/prevent-argument-names> reported by reviewdog 🐶
"e" shouldn't be used as an argument name


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ⏎···················

<strong>Solution:</strong> Add tabindex, role, and keyboard handler.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 💡·<strong>Better:</strong>·Use·sp-button·for·built-in·accessibility. with ⏎························💡⏎························<strong>Better:</strong>⏎························Use·sp-button·for·built-in·accessibility.⏎····················

<p>💡 <strong>Better:</strong> Use sp-button for built-in accessibility.</p>


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ·

* 📖 [Imperative API Guide](./imperative-api.md#virtualtrigger-patterns)
*/
export const VirtualPositioning = (): TemplateResult => {
const handleClick = async (event: MouseEvent) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

// Remove any existing overlays.
const existing = document.querySelector('.virtual-position-overlay');
if (existing) existing.remove();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

Suggested change

<p>This overlay is positioned exactly where you clicked.</p>
</sp-dialog>
`;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

Suggested change


// Position at click coordinates.
const trigger = new VirtualTrigger(event.clientX, event.clientY);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

Suggested change

placement: 'bottom-start',
type: 'auto',
});

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

Suggested change

*/
export const ComplexModal = (): TemplateResult => {
let step = 1;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

Suggested change

export const ComplexModal = (): TemplateResult => {
let step = 1;

const nextStep = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

step++;
updateContent();
};

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

Suggested change

updateContent();
};

const prevStep = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <@typescript-eslint/explicit-function-return-type> reported by reviewdog 🐶
Missing return type on function.

step--;
updateContent();
};

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

Suggested change

@github-actions
Copy link
Contributor

📚 Branch Preview Links

🔍 First Generation Visual Regression Test Results

When a visual regression test fails (or has previously failed while working on this branch), its results can be found in the following URLs:

Deployed to Azure Blob Storage: pr-5899

If the changes are expected, update the current_golden_images_cache hash in the circleci config to accept the new images. Instructions are included in that file.
If the changes are unexpected, you can investigate the cause of the differences and update the code accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants