Skip to content

docs: rename basic examples' filename and component tag name#3968

Open
adrianschmidt-bot wants to merge 27 commits intoLundalogik:mainfrom
adrianschmidt-bot:fix/3961-rename-basic-examples
Open

docs: rename basic examples' filename and component tag name#3968
adrianschmidt-bot wants to merge 27 commits intoLundalogik:mainfrom
adrianschmidt-bot:fix/3961-rename-basic-examples

Conversation

@adrianschmidt-bot
Copy link
Contributor

@adrianschmidt-bot adrianschmidt-bot commented Mar 21, 2026

Renames the first (basic) example files for 26 components to follow the -basic suffix convention.

For each component:

  • Renamed the example file (e.g. badge.tsxbadge-basic.tsx)
  • Renamed the associated SCSS file where applicable
  • Updated the @Component({ tag: '...' }) decorator to match
  • Updated the @exampleComponent reference in the main component file
  • Updated :host() selectors in SCSS files

Each component is committed separately for easy review.

Components renamed: badge, banner, button-group, checkbox, chip-set, circular-progress, code-editor, dialog, dynamic-label, file-dropzone, file-input, file, header, help, helper-line, info-tile, linear-progress, list, select, shortcut, snackbar, spinner, switch, tab-bar, tab-panel, table

fix: #3961

Summary by CodeRabbit

  • Refactor
    • Renamed example component tags across many examples by appending "-basic" for consistent naming.
    • Updated documentation references to point to the new example names.
    • Aligned example stylesheets to the updated example naming convention.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: fc71dc3d-5918-4dfa-84b3-fb3f661ef631

📥 Commits

Reviewing files that changed from the base of the PR and between 32b8656 and 9c87770.

📒 Files selected for processing (1)
  • src/components/banner/examples/banner-basic.tsx

📝 Walkthrough

Walkthrough

Renames many example components and updates corresponding JSDoc tags, Stencil @Component tags, stylesheet references, and CSS host selectors to use the -basic suffix (e.g., limel-example-foolimel-example-foo-basic). No runtime logic or public API signatures were changed.

Changes

Cohort / File(s) Summary
Badge
src/components/badge/badge.tsx, src/components/badge/examples/badge-basic.tsx, src/components/badge/examples/badge-basic.scss
JSDoc @exampleComponent, example component tag, and host selector renamed to -basic; example stylesheet updated to badge-basic.scss.
Banner
src/components/banner/banner.tsx, src/components/banner/examples/banner-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
Button Group
src/components/button-group/button-group.tsx, src/components/button-group/examples/button-group-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Checkbox
src/components/checkbox/checkbox.tsx, src/components/checkbox/examples/checkbox-basic.tsx, src/components/checkbox/examples/checkbox-basic.scss
JSDoc tag, example component tag, host selector renamed to -basic; example styleUrl updated.
Chip Set
src/components/chip-set/chip-set.tsx, src/components/chip-set/examples/chip-set-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Circular Progress
src/components/circular-progress/circular-progress.tsx, src/components/circular-progress/examples/circular-progress-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
Code Editor
src/components/code-editor/code-editor.tsx, src/components/code-editor/examples/code-editor-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
Dialog
src/components/dialog/dialog.tsx, src/components/dialog/examples/dialog-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Dynamic Label
src/components/dynamic-label/dynamic-label.tsx, src/components/dynamic-label/examples/dynamic-label-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
File Dropzone
src/components/file-dropzone/file-dropzone.tsx, src/components/file-dropzone/examples/file-dropzone-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
File Input / File
src/components/file-input/file-input.tsx, src/components/file-input/examples/file-input-basic.tsx, src/components/file/file.tsx, src/components/file/examples/file-basic.tsx
JSDoc example tags and example component tags renamed to -basic.
Header
src/components/header/header.tsx, src/components/header/examples/header-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Help / Helper Line
src/components/help/help.tsx, src/components/help/examples/help-basic.tsx, src/components/helper-line/helper-line.tsx, src/components/helper-line/examples/helper-line-basic.tsx
JSDoc example tags and example component tags renamed to -basic.
Info Tile
src/components/info-tile/info-tile.tsx, src/components/info-tile/examples/info-tile-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
Linear Progress
src/components/linear-progress/linear-progress.tsx, src/components/linear-progress/examples/linear-progress-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
List
src/components/list/list.tsx, src/components/list/examples/list-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Select
src/components/select/select.tsx, src/components/select/examples/select-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Shortcut
src/components/shortcut/shortcut.tsx, src/components/shortcut/examples/shortcut-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.
Snackbar
src/components/snackbar/snackbar.tsx, src/components/snackbar/examples/snackbar-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Spinner
src/components/spinner/spinner.tsx, src/components/spinner/examples/spinner-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Switch
src/components/switch/switch.tsx, src/components/switch/examples/switch-basic.tsx
JSDoc example tag and example component tag renamed to -basic.
Tab Bar / Tab Panel
src/components/tab-bar/tab-bar.tsx, src/components/tab-bar/examples/tab-bar-basic.tsx, src/components/tab-panel/tab-panel.tsx, src/components/tab-panel/examples/tab-panel-basic.tsx
JSDoc example tags and example component tags renamed to -basic; tab-panel example styleUrl updated.
Table
src/components/table/table.tsx, src/components/table/examples/table-basic.tsx
JSDoc example tag and example component tag renamed to -basic; example styleUrl updated.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

docs

Suggested reviewers

  • Kiarokh
  • adrianschmidt
  • paulinewahle
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main objective: renaming basic examples' filenames and component tag names across 26 components.
Linked Issues check ✅ Passed All coding objectives from issue #3961 are met: filenames renamed to use -basic suffix, component tags updated, SCSS selectors updated, and @exampleComponent references updated in main component files.
Out of Scope Changes check ✅ Passed All changes are strictly scoped to renaming basic example files and component tags as specified in issue #3961. No unrelated functionality modifications or refactoring present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@adrianschmidt-bot
Copy link
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 21, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/components/banner/examples/banner-basic.tsx (1)

4-10: ⚠️ Potential issue | 🔴 Critical

Update the host element type after renaming the component tag.

Line 10 uses the old generated type (HTMLLimelExampleBannerElement), but the tag was changed on Line 4 to limel-example-banner-basic. StencilJS generates the HTML element interface name from the component tag, so it must be updated to match.

🔧 Proposed fix
-    private host: HTMLLimelExampleBannerElement;
+    private host: HTMLLimelExampleBannerBasicElement;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/components/banner/examples/banner-basic.tsx` around lines 4 - 10, The
host property type is still the old generated interface
(HTMLLimelExampleBannerElement) after you renamed the component tag to
'limel-example-banner-basic'; update the `@Element`() private host declaration in
the BannerExample class to use the new generated interface name that corresponds
to the tag (e.g., HTMLLimelExampleBannerBasicElement) so the type matches the
component tag.
src/components/button-group/examples/button-group-basic.tsx (1)

36-49: ⚠️ Potential issue | 🟠 Major

Use <Host> instead of returning an array from render().

This file returns a hardcoded JSX array, which violates the coding guidelines for StencilJS components. All .tsx files must wrap multiple JSX elements in the <Host> element instead of an array literal.

Proposed refactor
-import { Component, h, State } from '@stencil/core';
+import { Component, h, Host, State } from '@stencil/core';
...
     public render() {
-        return [
-            <limel-button-group
-                disabled={this.disabled}
-                onChange={this.handleChange}
-                value={this.buttons}
-            />,
-            <limel-example-controls>
-                <limel-switch
-                    label="Disabled"
-                    onChange={this.toggleEnabled}
-                    value={this.disabled}
-                />
-            </limel-example-controls>,
-        ];
+        return (
+            <Host>
+                <limel-button-group
+                    disabled={this.disabled}
+                    onChange={this.handleChange}
+                    value={this.buttons}
+                />
+                <limel-example-controls>
+                    <limel-switch
+                        label="Disabled"
+                        onChange={this.toggleEnabled}
+                        value={this.disabled}
+                    />
+                </limel-example-controls>
+            </Host>
+        );
     }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/components/button-group/examples/button-group-basic.tsx` around lines 36
- 49, The render method currently returns a JSX array; update it to return a
single <Host> wrapper containing the <limel-button-group> and
<limel-example-controls> elements instead of an array literal. Import Host from
'@stencil/core' if not already, then replace the array return with a single JSX
tree: <Host> ... </Host> containing the existing <limel-button-group
disabled={this.disabled} onChange={this.handleChange} value={this.buttons} />
and the <limel-example-controls> block (with the <limel-switch label="Disabled"
onChange={this.toggleEnabled} value={this.disabled} /> inside). Ensure no other
JSX siblings are returned from render().
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@src/components/banner/examples/banner-basic.tsx`:
- Around line 4-10: The host property type is still the old generated interface
(HTMLLimelExampleBannerElement) after you renamed the component tag to
'limel-example-banner-basic'; update the `@Element`() private host declaration in
the BannerExample class to use the new generated interface name that corresponds
to the tag (e.g., HTMLLimelExampleBannerBasicElement) so the type matches the
component tag.

In `@src/components/button-group/examples/button-group-basic.tsx`:
- Around line 36-49: The render method currently returns a JSX array; update it
to return a single <Host> wrapper containing the <limel-button-group> and
<limel-example-controls> elements instead of an array literal. Import Host from
'@stencil/core' if not already, then replace the array return with a single JSX
tree: <Host> ... </Host> containing the existing <limel-button-group
disabled={this.disabled} onChange={this.handleChange} value={this.buttons} />
and the <limel-example-controls> block (with the <limel-switch label="Disabled"
onChange={this.toggleEnabled} value={this.disabled} /> inside). Ensure no other
JSX siblings are returned from render().

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a88f0d0f-79a7-4e8e-9a2e-60b527572c89

📥 Commits

Reviewing files that changed from the base of the PR and between 6053de0 and 32b8656.

📒 Files selected for processing (63)
  • src/components/badge/badge.tsx
  • src/components/badge/examples/badge-basic.scss
  • src/components/badge/examples/badge-basic.tsx
  • src/components/banner/banner.tsx
  • src/components/banner/examples/banner-basic.scss
  • src/components/banner/examples/banner-basic.tsx
  • src/components/button-group/button-group.tsx
  • src/components/button-group/examples/button-group-basic.tsx
  • src/components/checkbox/checkbox.tsx
  • src/components/checkbox/examples/checkbox-basic.scss
  • src/components/checkbox/examples/checkbox-basic.tsx
  • src/components/chip-set/chip-set.tsx
  • src/components/chip-set/examples/chip-set-basic.tsx
  • src/components/circular-progress/circular-progress.tsx
  • src/components/circular-progress/examples/circular-progress-basic.scss
  • src/components/circular-progress/examples/circular-progress-basic.tsx
  • src/components/code-editor/code-editor.tsx
  • src/components/code-editor/examples/code-editor-basic.scss
  • src/components/code-editor/examples/code-editor-basic.tsx
  • src/components/dialog/dialog.tsx
  • src/components/dialog/examples/dialog-basic.tsx
  • src/components/dynamic-label/dynamic-label.tsx
  • src/components/dynamic-label/examples/dynamic-label-basic.tsx
  • src/components/file-dropzone/examples/file-dropzone-basic.scss
  • src/components/file-dropzone/examples/file-dropzone-basic.tsx
  • src/components/file-dropzone/file-dropzone.tsx
  • src/components/file-input/examples/file-input-basic.tsx
  • src/components/file-input/file-input.tsx
  • src/components/file/examples/file-basic.tsx
  • src/components/file/file.tsx
  • src/components/header/examples/header-basic.tsx
  • src/components/header/header.tsx
  • src/components/help/examples/help-basic.tsx
  • src/components/help/help.tsx
  • src/components/helper-line/examples/helper-line-basic.tsx
  • src/components/helper-line/helper-line.tsx
  • src/components/info-tile/examples/info-tile-basic.scss
  • src/components/info-tile/examples/info-tile-basic.tsx
  • src/components/info-tile/info-tile.tsx
  • src/components/linear-progress/examples/linear-progress-basic.tsx
  • src/components/linear-progress/linear-progress.tsx
  • src/components/list/examples/list-basic.tsx
  • src/components/list/list.tsx
  • src/components/select/examples/select-basic.tsx
  • src/components/select/select.tsx
  • src/components/shortcut/examples/shortcut-basic.scss
  • src/components/shortcut/examples/shortcut-basic.tsx
  • src/components/shortcut/shortcut.tsx
  • src/components/snackbar/examples/snackbar-basic.tsx
  • src/components/snackbar/snackbar.tsx
  • src/components/spinner/examples/spinner-basic.scss
  • src/components/spinner/examples/spinner-basic.tsx
  • src/components/spinner/spinner.tsx
  • src/components/switch/examples/switch-basic.tsx
  • src/components/switch/switch.tsx
  • src/components/tab-bar/examples/tab-bar-basic.tsx
  • src/components/tab-bar/tab-bar.tsx
  • src/components/tab-panel/examples/tab-panel-basic.scss
  • src/components/tab-panel/examples/tab-panel-basic.tsx
  • src/components/tab-panel/tab-panel.tsx
  • src/components/table/examples/table-basic.scss
  • src/components/table/examples/table-basic.tsx
  • src/components/table/table.tsx

@adrianschmidt-bot
Copy link
Contributor Author

Thanks for the review!

Banner host type — Good catch! The HTMLLimelExampleBannerElement type should have been updated to HTMLLimelExampleBannerBasicElement to match the renamed tag. Fixed in ⚡ 9c87770.

Button-group array return — This is a pre-existing pattern in the file (not introduced by this rename PR), so I'll leave it as-is to keep the scope focused on the rename. It could be addressed separately.

@adrianschmidt-bot
Copy link
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 21, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

rename basic examples' filename and component tag name

1 participant