Skip to content

version-2 part-5#1896

Merged
shinokada merged 6 commits intothemesberg:version-2from
shinokada:version-2
Dec 31, 2025
Merged

version-2 part-5#1896
shinokada merged 6 commits intothemesberg:version-2from
shinokada:version-2

Conversation

@shinokada
Copy link
Collaborator

@shinokada shinokada commented Dec 29, 2025

🔗 Related issue (optional)

Closes #


📑 Description


🔍 PR Type

  • Bug fix
  • Feature
  • Documentation
  • Refactor / Code cleanup
  • Build / Tooling
  • Other (please describe)

🚦 PR Status

  • Draft (work in progress, not ready for review)
  • Ready for review ✅

✅ Checklist

  • My code follows the existing code style
  • I have run pnpm lint && pnpm check && pnpm test:e2e and all tests pass
  • CoderabbitAI review has been completed and actionable suggestions were reviewed
  • I have updated documentation if my changes require it
  • My PR is based on the latest main branch (not the published npm version)
  • I have checked accessibility where applicable (ARIA, keyboard nav, etc.)
  • I have reviewed the rendered component in the browser

🧪 Screenshots / Demos (optional)


⚠️ Breaking Changes (optional)


ℹ️ Additional Information

Summary by CodeRabbit

  • Bug Fixes

    • Theme selector now automatically closes after selecting a theme; dropdown opening behavior adjusted for more consistent UX.
  • Tests

    • Improved and stabilized theme selector tests.
    • Large addition of unit/UI tests covering form components (Input, InputAddon, Label, Helper, RadioButton, and related variations: sizes, colors, states, bindings, props, and accessibility).
  • Chores

    • Added a new test:all npm script to run formatting, linting, checks and all tests.

✏️ Tip: You can customize this high-level summary in your review settings.

…, isOpen state variable, bind:isOpen from Dropdown, aria-exapanded attribute
@vercel
Copy link

vercel bot commented Dec 29, 2025

@shinokada is attempting to deploy a commit to the Bergside Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 29, 2025

Important

Review skipped

Too many files!

72 files out of 222 files are above the max files limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

ThemeSelector now closes its dropdown automatically after a theme is selected; the explicit button onclick that opened the dropdown was removed. Tests were added/updated across multiple form components and theme-selector tests now use waitFor() to assert async UI state changes and localStorage updates.

Changes

Cohort / File(s) Summary
Theme selector
src/lib/theme-selector/ThemeSelector.svelte, src/tests/theme-selector/ThemeSelector.test.ts
Dropdown no longer relies on an explicit button onclick to open; selection handler sets isOpen = false after loadTheme. Tests use waitFor() to assert aria-expanded, text updates, swatch visibility, and localStorage changes.
Test runner script
package.json
Added test:all npm script that sequences format, lint, check, e2e, and unit tests.
Helper component tests
src/tests/forms/helper/*
New test fixtures and a test suite for Helper: basic rendering, color variants, and custom props.
Input addon tests
src/tests/forms/input-addon/*
New Svelte test files covering background context, basic rendering, button-group integration, custom props, and sizes; plus a test suite file.
Input field tests
src/tests/forms/input-field/*
New Svelte tests and a comprehensive input.test.ts covering types, sizes, states, clearable behavior, bindings, and custom props.
Label tests
src/tests/forms/label/*
New tests covering basic label, color variants, custom props, show/hide behavior, and a consolidated test suite.
Radio button tests
src/tests/forms/radio/*
New Svelte fixtures for colors, custom props, group binding, inline layout, sizes, variants, and an expanded radio-button.test.ts suite validating interactions and accessibility.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • version-2 part 4 #1892 — touches the same ThemeSelector implementation and dropdown/opening behavior; likely related.

Poem

🐰 I hopped in to toggle the hue,
Click, load, then close—swift and true.
Tests now pause, they wait and see,
Colors settle, localStorage agrees.
Tiny paws, big tidy spree! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is entirely unfilled template text with no actual description of changes, related issues, PR type selection, or checklist confirmations provided. Complete the description template with: a summary of test additions, PR type (likely 'Testing/Refactor'), status confirmation, checklist items verification, and any additional context about the test coverage improvements.
Title check ❓ Inconclusive The title 'version-2 part-5' is vague and does not clearly summarize the actual changes in the pull request, which involve adding comprehensive test suites for multiple form components. Replace with a descriptive title such as 'Add comprehensive test suites for form components (radio, label, input-field, input-addon, helper)' that reflects the actual changes being made.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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.

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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
src/tests/forms/input-field/input-states.test.svelte (1)

1-10: LGTM! Good coverage of input states.

The test appropriately exercises different Input states including color variants, disabled, and readonly states. The readonly input correctly includes a value prop.

Optional: Consider adding invalid state test

Based on learnings about the inputInvalid property for validation states, you might consider adding a test case for the invalid/error state:

  <Input readonly value="Readonly" data-testid="readonly-input" />
+ <Input color="red" placeholder="Invalid" data-testid="invalid-input" />

This would provide more complete state coverage, though it may already be tested elsewhere.

src/tests/forms/radio/radio-button.test.ts (1)

42-42: Consider defensive assertion for parent element clicks.

The parentElement! non-null assertion is used throughout the tests (e.g., lines 42, 54, 58, 68, 104, etc.). While this works, if the component structure changes, tests will fail with a cryptic null pointer error rather than a descriptive failure.

🔎 Optional: Add defensive check for clearer test failures
-    await user.click(inputB.parentElement!);
+    const parentB = inputB.parentElement;
+    expect(parentB).not.toBeNull();
+    await user.click(parentB!);

Alternatively, this is acceptable as-is since test failures would still surface structural issues during development.

📜 Review details

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6d9af38 and bb895f4.

📒 Files selected for processing (31)
  • package.json
  • src/tests/forms/helper/helper-basic.test.svelte
  • src/tests/forms/helper/helper-colors.test.svelte
  • src/tests/forms/helper/helper-custom-props.test.svelte
  • src/tests/forms/helper/helper.test.ts
  • src/tests/forms/input-addon/input-addon-background.test.svelte
  • src/tests/forms/input-addon/input-addon-basic.test.svelte
  • src/tests/forms/input-addon/input-addon-button-group.test.svelte
  • src/tests/forms/input-addon/input-addon-custom-props.test.svelte
  • src/tests/forms/input-addon/input-addon-sizes.test.svelte
  • src/tests/forms/input-addon/input-addon.test.ts
  • src/tests/forms/input-field/input-basic.test.svelte
  • src/tests/forms/input-field/input-clearable.test.svelte
  • src/tests/forms/input-field/input-custom-props.test.svelte
  • src/tests/forms/input-field/input-sizes.test.svelte
  • src/tests/forms/input-field/input-states.test.svelte
  • src/tests/forms/input-field/input-types.test.svelte
  • src/tests/forms/input-field/input-value-binding.test.svelte
  • src/tests/forms/input-field/input.test.ts
  • src/tests/forms/label/label-basic.test.svelte
  • src/tests/forms/label/label-colors.test.svelte
  • src/tests/forms/label/label-custom-props.test.svelte
  • src/tests/forms/label/label-show.test.svelte
  • src/tests/forms/label/label.test.ts
  • src/tests/forms/radio/radio-button-colors.test.svelte
  • src/tests/forms/radio/radio-button-custom.test.svelte
  • src/tests/forms/radio/radio-button-group.test.svelte
  • src/tests/forms/radio/radio-button-inline.test.svelte
  • src/tests/forms/radio/radio-button-sizes.test.svelte
  • src/tests/forms/radio/radio-button-variants.test.svelte
  • src/tests/forms/radio/radio-button.test.ts
✅ Files skipped from review due to trivial changes (2)
  • src/tests/forms/label/label-custom-props.test.svelte
  • src/tests/forms/input-addon/input-addon-background.test.svelte
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{svelte,ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{svelte,ts,tsx,js,jsx}: Use the Flowbite-Svelte MCP server to discover components by name or category before implementing UI components
Always use findComponent tool FIRST to locate the correct Flowbite-Svelte component before fetching documentation
After calling findComponent, use getComponentDoc tool to fetch complete documentation including usage examples, props, and best practices for Flowbite-Svelte components

Files:

  • src/tests/forms/label/label-show.test.svelte
  • src/tests/forms/input-addon/input-addon.test.ts
  • src/tests/forms/input-field/input-basic.test.svelte
  • src/tests/forms/label/label.test.ts
  • src/tests/forms/helper/helper.test.ts
  • src/tests/forms/helper/helper-colors.test.svelte
  • src/tests/forms/input-addon/input-addon-sizes.test.svelte
  • src/tests/forms/input-addon/input-addon-custom-props.test.svelte
  • src/tests/forms/label/label-basic.test.svelte
  • src/tests/forms/input-field/input-clearable.test.svelte
  • src/tests/forms/input-field/input-value-binding.test.svelte
  • src/tests/forms/radio/radio-button-colors.test.svelte
  • src/tests/forms/input-addon/input-addon-basic.test.svelte
  • src/tests/forms/input-field/input-types.test.svelte
  • src/tests/forms/radio/radio-button.test.ts
  • src/tests/forms/radio/radio-button-sizes.test.svelte
  • src/tests/forms/input-field/input.test.ts
  • src/tests/forms/input-addon/input-addon-button-group.test.svelte
  • src/tests/forms/radio/radio-button-inline.test.svelte
  • src/tests/forms/radio/radio-button-group.test.svelte
  • src/tests/forms/radio/radio-button-variants.test.svelte
  • src/tests/forms/input-field/input-states.test.svelte
  • src/tests/forms/label/label-colors.test.svelte
  • src/tests/forms/helper/helper-custom-props.test.svelte
  • src/tests/forms/input-field/input-sizes.test.svelte
  • src/tests/forms/helper/helper-basic.test.svelte
  • src/tests/forms/input-field/input-custom-props.test.svelte
  • src/tests/forms/radio/radio-button-custom.test.svelte
🧠 Learnings (6)
📚 Learning: 2025-12-16T13:21:19.575Z
Learnt from: shinokada
Repo: themesberg/flowbite-svelte PR: 1882
File: src/lib/bottom-navigation/BottomNavHeaderItem.svelte:9-9
Timestamp: 2025-12-16T13:21:19.575Z
Learning: When using ThemeProvider with reactive themes in Flowbite-Svelte, ensure that getTheme("componentName") calls are placed inside a $derived() expression (not at module scope) so components react to dynamic theme changes. This applies broadly to Svelte components in this repo that rely on theme-derived values. For example:

// bad: at module scope
const theme = getTheme("button");

// good: inside a derived store
import { derived } from 'svelte/store';

const themeDerived = derived(themeProviderStore, ($themeProvider) => getTheme("button"));

// use $themeDerived in template/component

Applied to files:

  • src/tests/forms/label/label-show.test.svelte
  • src/tests/forms/input-field/input-basic.test.svelte
  • src/tests/forms/helper/helper-colors.test.svelte
  • src/tests/forms/input-addon/input-addon-sizes.test.svelte
  • src/tests/forms/input-addon/input-addon-custom-props.test.svelte
  • src/tests/forms/label/label-basic.test.svelte
  • src/tests/forms/input-field/input-clearable.test.svelte
  • src/tests/forms/input-field/input-value-binding.test.svelte
  • src/tests/forms/radio/radio-button-colors.test.svelte
  • src/tests/forms/input-addon/input-addon-basic.test.svelte
  • src/tests/forms/input-field/input-types.test.svelte
  • src/tests/forms/radio/radio-button-sizes.test.svelte
  • src/tests/forms/input-addon/input-addon-button-group.test.svelte
  • src/tests/forms/radio/radio-button-inline.test.svelte
  • src/tests/forms/radio/radio-button-group.test.svelte
  • src/tests/forms/radio/radio-button-variants.test.svelte
  • src/tests/forms/input-field/input-states.test.svelte
  • src/tests/forms/label/label-colors.test.svelte
  • src/tests/forms/helper/helper-custom-props.test.svelte
  • src/tests/forms/input-field/input-sizes.test.svelte
  • src/tests/forms/helper/helper-basic.test.svelte
  • src/tests/forms/input-field/input-custom-props.test.svelte
  • src/tests/forms/radio/radio-button-custom.test.svelte
📚 Learning: 2025-08-31T12:56:05.074Z
Learnt from: jjagielka
Repo: themesberg/flowbite-svelte PR: 1745
File: src/lib/types.ts:677-686
Timestamp: 2025-08-31T12:56:05.074Z
Learning: HTMLInputAttributes includes a `group` property that can be used for grouping form controls like checkboxes and radio buttons, so interfaces extending HTMLInputAttributes don't need to explicitly declare `group` unless they want to override its type.

Applied to files:

  • src/tests/forms/input-addon/input-addon-button-group.test.svelte
  • src/tests/forms/radio/radio-button-inline.test.svelte
  • src/tests/forms/radio/radio-button-group.test.svelte
📚 Learning: 2025-03-20T11:11:53.953Z
Learnt from: superstes
Repo: themesberg/flowbite-svelte PR: 0
File: :0-0
Timestamp: 2025-03-20T11:11:53.953Z
Learning: In the Flowbite Svelte library's MultiInput component, the 'inputInvalid' property should be exported and passed to the Wrapper component to properly style the component's ring with red color when validation fails, similar to how the Input component handles validation states.

Applied to files:

  • src/tests/forms/input-field/input-states.test.svelte
  • src/tests/forms/input-field/input-custom-props.test.svelte
📚 Learning: 2025-03-20T11:11:53.952Z
Learnt from: superstes
Repo: themesberg/flowbite-svelte PR: 0
File: :0-0
Timestamp: 2025-03-20T11:11:53.952Z
Learning: In the Flowbite Svelte library, when implementing components with validation states, the 'inputInvalid' property should be explicitly defined and passed to the Wrapper component. When inputInvalid=true, the color should be set to "red" to ensure the ring/border styling is applied correctly.

Applied to files:

  • src/tests/forms/input-field/input-states.test.svelte
📚 Learning: 2025-03-20T11:52:09.106Z
Learnt from: superstes
Repo: themesberg/flowbite-svelte PR: 0
File: :0-0
Timestamp: 2025-03-20T11:52:09.106Z
Learning: In the Flowbite Svelte library's form components like MultiInput, when handling focus states for validation, avoid hardcoding focus-within classes like 'focus-within:border-primary-500'. Instead, create a dynamic mapping object (e.g., focusWithinClasses) that changes the focus ring color based on the current color state, especially when inputInvalid=true.

Applied to files:

  • src/tests/forms/input-field/input-states.test.svelte
📚 Learning: 2025-03-20T12:47:33.307Z
Learnt from: superstes
Repo: themesberg/flowbite-svelte PR: 0
File: :0-0
Timestamp: 2025-03-20T12:47:33.307Z
Learning: In the Flowbite Svelte library's composite form components like MultiInput, when implementing focus styles, ensure both the container (with focus-within) and the inner input element (with direct focus) have dynamic styling based on the validation state. The input element needs its own focus styles that change to red when inputInvalid=true.

Applied to files:

  • src/tests/forms/input-field/input-states.test.svelte
🔇 Additional comments (35)
src/tests/forms/helper/helper-basic.test.svelte (1)

1-5: LGTM! Clean test fixture.

The basic Helper test component is simple and correctly structured for testing purposes.

src/tests/forms/helper/helper-custom-props.test.svelte (1)

1-7: LGTM! Proper custom props test fixture.

The test component correctly demonstrates custom prop passing including class, data-testid, and id attributes.

src/tests/forms/helper/helper-colors.test.svelte (1)

1-10: LGTM! Comprehensive color variants test fixture.

The test component covers all four color variants (brand, gray, success, error) appropriately.

src/tests/forms/helper/helper.test.ts (4)

1-10: LGTM! Proper test setup.

The imports and cleanup configuration follow best practices for @testing-library/svelte tests, ensuring proper test isolation.


12-23: LGTM! Solid basic functionality tests.

The tests correctly verify both content rendering and semantic HTML structure. The independent renders in each test ensure proper isolation.


25-41: LGTM! Thorough color variant coverage.

Both tests comprehensively verify all four color variants (brand, gray, success, error) for presence and correct semantic markup.


43-69: LGTM! Comprehensive custom props validation.

The test suite thoroughly validates custom prop passing through multiple scenarios. The use of document.getElementById in line 59 is acceptable since cleanup() ensures test isolation.

src/tests/forms/input-addon/input-addon-sizes.test.svelte (1)

1-9: LGTM: Clean size variation test.

The test correctly validates InputAddon rendering across three standard sizes (sm, md, lg) with appropriate labels.

src/tests/forms/input-addon/input-addon-basic.test.svelte (1)

1-5: LGTM: Basic rendering test.

Simple and correct baseline test for InputAddon component rendering.

src/tests/forms/input-addon/input-addon-custom-props.test.svelte (1)

1-7: LGTM: Custom props forwarding test.

Correctly validates that custom HTML attributes (class, data-testid, id) are properly forwarded to the InputAddon component.

src/tests/forms/input-field/input-basic.test.svelte (1)

1-5: LGTM: Basic Input rendering test.

Clean baseline test validating Input component with placeholder attribute.

src/tests/forms/input-field/input-sizes.test.svelte (1)

1-9: LGTM: Size variation test.

Properly tests Input component across standard size values with distinct placeholders and test IDs for each variant.

src/tests/forms/radio/radio-button-sizes.test.svelte (1)

1-10: LGTM: RadioButton size variations test.

Correctly validates RadioButton rendering across four size options with proper radio group setup (shared name attribute).

src/tests/forms/input-field/input-clearable.test.svelte (1)

1-11: LGTM: Clearable input test with proper Svelte 5 syntax.

The test correctly uses Svelte 5's $state rune for reactive state management and validates clearable Input behavior with both pre-filled and empty initial states.

src/tests/forms/input-field/input-custom-props.test.svelte (1)

1-16: LGTM! Clean test fixture for custom props.

The test correctly exercises custom HTML attribute propagation through the Input component. All props are standard and appropriately used.

src/tests/forms/radio/radio-button-colors.test.svelte (1)

1-10: LGTM! Appropriate test fixture for color variants.

The test correctly renders RadioButton components with different color props. Using the same name attribute groups them as radio buttons, which is correct. Static rendering without bind:group is appropriate for testing color variants.

src/tests/forms/input-field/input-types.test.svelte (1)

1-12: LGTM! Comprehensive input type coverage.

The test correctly exercises various HTML5 input types with appropriate placeholders and test identifiers. Clean and straightforward implementation.

src/tests/forms/radio/radio-button-group.test.svelte (1)

1-13: LGTM! Correct group binding implementation.

The test properly demonstrates RadioButton group binding using Svelte 5's $state rune and bind:group. Using both name (for HTML form behavior) and bind:group (for Svelte reactivity) is correct. The displayed selected value enables testing of binding behavior.

src/tests/forms/input-addon/input-addon-button-group.test.svelte (1)

1-13: LGTM! Clean ButtonGroup integration test.

The test appropriately exercises InputAddon within ButtonGroup at different sizes. Simple and effective test fixture.

src/tests/forms/radio/radio-button-inline.test.svelte (1)

1-9: LGTM! Appropriate inline layout test.

The test correctly renders RadioButton components with the inline prop to test inline layout behavior. Using the same name attribute groups them properly, and the container's data-testid enables group-level test targeting.

src/tests/forms/radio/radio-button-variants.test.svelte (1)

1-10: LGTM! Comprehensive variant coverage.

The test effectively covers RadioButton visual variants including pill, outline, their combination, and the regular baseline. Good edge-case coverage with the combined pill outline variant.

src/tests/forms/radio/radio-button-custom.test.svelte (1)

1-24: LGTM!

The test component is well-structured and covers the intended scenarios: custom class/id attributes, checkedClass for styling checked state, and disabled state. The shared name="custom" correctly groups the radio buttons for mutual exclusivity testing.

src/tests/forms/input-field/input-value-binding.test.svelte (1)

1-10: LGTM!

Clean test component for verifying two-way value binding. The use of Svelte 5's $state rune and the separate display element enables proper verification of reactive binding behavior in the corresponding test file.

src/tests/forms/input-addon/input-addon.test.ts (1)

1-67: LGTM!

Well-organized test suite with clear separation of concerns across describe blocks. The tests appropriately cover basic rendering, size variants, and custom props passthrough. The afterEach(cleanup) pattern ensures proper test isolation.

src/tests/forms/input-field/input.test.ts (1)

1-285: LGTM!

Excellent comprehensive test suite covering all major Input component scenarios. The tests are well-organized with clear describe blocks, proper async handling for user interactions, and appropriate assertions. Good coverage of edge cases including disabled/readonly states and the clearable input behavior.

src/tests/forms/radio/radio-button.test.ts (1)

1-298: LGTM!

Comprehensive test suite with excellent coverage across all RadioButton features: basic functionality, group binding, visual variants (sizes, colors), layout options, custom props, and accessibility. The describe block organization improves test readability and maintainability.

src/tests/forms/label/label-colors.test.svelte (1)

1-10: LGTM! Test fixture is clean and straightforward.

This test fixture correctly renders Label components with different color variants for testing purposes. The structure is simple and appropriate for a test fixture.

src/tests/forms/label/label-basic.test.svelte (1)

1-5: LGTM! Minimal test fixture for basic rendering.

This test fixture is appropriately minimal, testing the default Label rendering without any props.

src/tests/forms/label/label.test.ts (6)

1-11: Test setup is well-structured.

The imports and cleanup configuration follow testing-library best practices. The afterEach cleanup ensures test isolation.


4-7: Note: Missing test fixture file.

The test imports LabelCustomPropsTest from ./label-custom-props.test.svelte, which is not included in this review. Based on the AI summary, this file exists in the PR but wasn't provided for review.

Please confirm that src/tests/forms/label/label-custom-props.test.svelte exists and contains the expected test fixture with:

  • Custom class attribute
  • data-testid="custom-label"
  • id="label-1"
  • for="email-input" attribute
  • An associated input with id="email-input"

13-24: LGTM! Basic rendering tests are solid.

These tests appropriately verify that the Label renders its content and uses the correct HTML element type.


26-42: LGTM! Color variant tests provide good coverage.

The tests verify that all color variants (gray, green, red, disabled) render correctly and maintain the proper LABEL element type.


44-67: Verify consistency with Label component's show prop implementation.

The tests assume specific behavior when show={false}:

  • Line 55: Content text is still present in the document
  • Line 58-59: Label element with data-testid is NOT in the document

This suggests the Label component renders content but not as a <label> element when show={false}. This behavior should be verified against the actual component implementation (verification script provided in the review of label-show.test.svelte).


69-107: LGTM! Excellent coverage of custom props and accessibility.

These tests thoroughly verify:

  • Custom CSS class propagation (lines 70-74)
  • Data attribute pass-through (lines 76-81)
  • ID attribute handling (lines 83-88)
  • Label-input association via for attribute (lines 90-97)
  • Accessibility with htmlFor property (lines 99-106)

The accessibility tests are particularly valuable for ensuring proper form label associations.

src/tests/forms/label/label-show.test.svelte (1)

5-8: Verify the Label component's behavior when show={false}.

The test fixture assumes that when show={false}, the Label component renders its content but not as a <label> element. This behavior should be verified against the actual Label component implementation to ensure the test assertions in label.test.ts (lines 52-60) are valid.

Run the following script to examine the Label component's implementation:

#!/bin/bash
# Description: Check Label component implementation for show prop behavior

# Find the Label component file
fd -e svelte -e ts "^Label\.svelte$" src/lib

# Search for show prop handling in the Label component
rg -A 10 -B 2 "show" --type svelte src/lib -g "*Label.svelte" -g "*label*.svelte"

@shinokada
Copy link
Collaborator Author

@coderabbitai reviw

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 31, 2025

@shinokada: I'll review the changes in this PR for you.

✅ 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.

@shinokada shinokada merged commit 17dbf51 into themesberg:version-2 Dec 31, 2025
1 check failed
@coderabbitai coderabbitai bot mentioned this pull request Jan 5, 2026
15 tasks
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.

1 participant