outline icon indicating copy to clipboard operation
outline copied to clipboard

Controller: `@phase2/outline-controller-slot-manager`

Open bardleb opened this issue 1 year ago • 6 comments

Description

Separated Slot Controller into its own package and renamed as Slot Manager

Summary by CodeRabbit

  • New Features
    • Introduced the SlotManager for enhanced slot management within the shadow DOM, including cloning slots, adding annotations, and event dispatching between shadow and light DOM slots.
  • Documentation
    • Updated the README.md for the SlotManager with usage and feature documentation.
  • Refactor
    • Exported the SlotManager class from src/slot-manager in a new index.ts file.
    • Introduced a new slot-manager.ts file with the SlotManager class for managing slots in Lit web components.

bardleb avatar May 16 '23 14:05 bardleb

⚠️ No Changeset found

Latest commit: cd949161769997ea7ec8500edd053ed46509e986

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

changeset-bot[bot] avatar May 16 '23 14:05 changeset-bot[bot]

Deploy Preview for outlinejs ready!

Name Link
Latest commit cd949161769997ea7ec8500edd053ed46509e986
Latest deploy log https://app.netlify.com/sites/outlinejs/deploys/65c29bed6edbb0000808ecee
Deploy Preview https://deploy-preview-389--outlinejs.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

netlify[bot] avatar May 16 '23 14:05 netlify[bot]

This is marked Held for Review until further notice. cc @bardleb @shaal

himerus avatar Jul 25 '23 14:07 himerus

TODO:

  • review this code and simplify to only contain shadow dom tools

glitchgirl avatar Feb 06 '24 15:02 glitchgirl

Walkthrough

The update introduces the SlotManager, a utility class for managing slots in Lit web components. It provides methods for interacting with and manipulating slots, including retrieving slotted nodes, checking slot existence, identifying default slot text and elements, and conditionally rendering slots with wrappers and classes.

Changes

File(s) Change Summary
.../slot-manager/README.md Introduced documentation for the SlotManager, detailing its purpose and capabilities in managing slots within Lit web components.
.../slot-manager/index.ts, src/slot-manager.ts Added index.ts to export the SlotManager class and implemented slot-manager.ts with methods for slot management in Lit web components.

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

coderabbitai[bot] avatar Feb 06 '24 15:02 coderabbitai[bot]

@coderabbitai review

himerus avatar Feb 06 '24 18:02 himerus