Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
2543fb8
refactor: rename package from @nipsys/shadcn-lsd to @nipsys/lsd
nipsysdev Apr 15, 2026
1e4ce73
chore: remove unused dependencies from core package
nipsysdev Apr 15, 2026
ed14383
docs: update component import statements for package rename
nipsysdev Apr 15, 2026
179e25b
docs: update example imports for package rename
nipsysdev Apr 15, 2026
00032d3
docs: update design token pages for package rename
nipsysdev Apr 15, 2026
2237f58
docs: update shared component imports for package rename
nipsysdev Apr 15, 2026
07c6cd5
docs: update app structure imports for package rename
nipsysdev Apr 15, 2026
ade4be5
docs: update project references for package rename
nipsysdev Apr 15, 2026
979c120
docs: update favicon for rebrand
nipsysdev Apr 15, 2026
d0c48b2
docs: update component documentation imports for package rename
nipsysdev Apr 15, 2026
b4769dd
docs: update additional component documentation imports
nipsysdev Apr 15, 2026
346a71c
docs: update remaining component documentation imports
nipsysdev Apr 15, 2026
81afb73
docs: update avatar and badge example imports
nipsysdev Apr 15, 2026
a2a553e
docs: update button and calendar example imports
nipsysdev Apr 15, 2026
01c3ae9
docs: update card and checkbox example imports
nipsysdev Apr 15, 2026
bf7e738
docs: update command and dialog example imports
nipsysdev Apr 15, 2026
848f3d6
docs: update field and form example imports
nipsysdev Apr 15, 2026
52cf8c8
docs: update input and label example imports
nipsysdev Apr 15, 2026
8833a3c
docs: update menubar and navigation example imports
nipsysdev Apr 15, 2026
685eb90
docs: update popover and progress example imports
nipsysdev Apr 15, 2026
f57e2fb
docs: update radio and scroll example imports
nipsysdev Apr 15, 2026
057606b
docs: update select and separator example imports
nipsysdev Apr 15, 2026
aed16c5
docs: update sheet and sidebar example imports
nipsysdev Apr 15, 2026
cd467c2
docs: update slider and sonner example imports
nipsysdev Apr 15, 2026
a4f0222
docs: update switch and table example imports
nipsysdev Apr 15, 2026
fb957fa
docs: update tabs and textarea example imports
nipsysdev Apr 15, 2026
0105fa6
docs: update accordion, alert, and autocomplete example imports
nipsysdev Apr 15, 2026
086511b
docs: update button-group and checkbox example imports
nipsysdev Apr 15, 2026
6c7615c
docs: update menubar example imports
nipsysdev Apr 15, 2026
183125a
docs: update sonner example imports
nipsysdev Apr 15, 2026
c72b9b3
docs: update toggle-group example imports
nipsysdev Apr 15, 2026
663a476
docs: update toggle example imports
nipsysdev Apr 15, 2026
8f9b8df
docs: update tooltip example imports
nipsysdev Apr 15, 2026
efaadbd
chore: replace GPLv3 license with MIT
nipsysdev Apr 15, 2026
91cea72
chore: remove migration summary file
nipsysdev Apr 15, 2026
ca15c36
refactor: organize core UI component classnames with comments
nipsysdev Apr 15, 2026
ca19de8
refactor: organize overlay component classnames with comments
nipsysdev Apr 15, 2026
0dc4116
refactor: organize alert and accordion component classnames
nipsysdev Apr 15, 2026
43cdc10
refactor: organize form and input component classnames
nipsysdev Apr 15, 2026
38f9fe0
refactor: organize navigation component classnames
nipsysdev Apr 15, 2026
3671a64
refactor: organize autocomplete and avatar component classnames
nipsysdev Apr 15, 2026
e680e5d
refactor: organize utility component classnames
nipsysdev Apr 15, 2026
74b0120
docs: update documentation homepage
nipsysdev Apr 15, 2026
79c2ac2
test: fix spacing class expectations to match component implementations
nipsysdev Apr 16, 2026
f34d4af
refactor: remove old shadcn-lsd package structure
nipsysdev Apr 16, 2026
8201920
refactor: add new lsd package structure
nipsysdev Apr 16, 2026
f9a4c2c
chore: update package configuration for lsd package
nipsysdev Apr 16, 2026
b57b0df
docs: add LICENSE to lsd-docs
nipsysdev Apr 16, 2026
eece118
feat: implement llm generated documentation
nipsysdev Apr 20, 2026
b3f55e4
refactor: organize command component className properties with comments
nipsysdev Apr 21, 2026
5453453
refactor: organize dropdown and menubar component className propertie…
nipsysdev Apr 21, 2026
a6be162
refactor: organize navigation-menu component className properties wit…
nipsysdev Apr 21, 2026
77e8ef5
refactor: organize select component className properties with comments
nipsysdev Apr 21, 2026
bd88a54
test: update unit tests
nipsysdev Apr 21, 2026
3b7d325
test: restructure docs-generator tests and add vitest config
nipsysdev Apr 22, 2026
5fb21dc
docs: update docs-generator with new test files and fixes
nipsysdev Apr 22, 2026
5b2c6b4
docs: format component pages with organized imports
nipsysdev Apr 22, 2026
8fd753b
chore: update package dependencies
nipsysdev Apr 22, 2026
0554855
chore: add monorepo test script to run all tests
nipsysdev Apr 22, 2026
b42a1d0
test: consolidate docs-generator tests under __tests__ directory
nipsysdev Apr 22, 2026
d9d27d9
test: add input-group context and utils tests
nipsysdev Apr 23, 2026
13c99f6
test: add input component tests
nipsysdev Apr 23, 2026
12990ad
test: add menubar sub-component tests
nipsysdev Apr 23, 2026
81f5753
test: add navigation-menu component tests
nipsysdev Apr 23, 2026
40a462d
test: add sidebar sub-component tests
nipsysdev Apr 23, 2026
d35a657
test: add tabs context tests
nipsysdev Apr 23, 2026
92970ce
test: add textarea component tests
nipsysdev Apr 23, 2026
3da7087
test: add hooks tests
nipsysdev Apr 23, 2026
0247b17
test: update accordion component tests
nipsysdev Apr 23, 2026
1258fa2
test: update component tests
nipsysdev Apr 23, 2026
85551f6
refactor: update sidebar and form types
nipsysdev Apr 23, 2026
92486e8
docs: update homepage links and improve navigation
nipsysdev Apr 23, 2026
9501c2e
feat: add Playwright E2E testing infrastructure
nipsysdev Apr 23, 2026
1671e31
test: add E2E tests for Button component examples
nipsysdev Apr 23, 2026
5bb7b57
chore: update gitignore and dependencies
nipsysdev Apr 23, 2026
5bf0c07
chore: run pre-push commands synchronously
nipsysdev Apr 23, 2026
803a1aa
fix: use String.raw for test literals to avoid lint warnings
nipsysdev Apr 23, 2026
22ebdad
test(e2e): remove unit test like e2e tests
nipsysdev Apr 23, 2026
1019411
chore: optimize e2e test execution
nipsysdev Apr 23, 2026
f289d44
refactor: remove duplicate metadata extractor tests
nipsysdev Apr 23, 2026
4ddaa6f
test: add slider, calendar, command e2e test coverage
nipsysdev Apr 23, 2026
33b988e
fix: update package name from @nipsys/shadcn-lsd to @nipsys/lsd
nipsysdev Apr 24, 2026
8036674
docs: update header and site configuration for lsd package
nipsysdev Apr 24, 2026
8bc266a
refactor: improve iframe theme sync with better load handling
nipsysdev Apr 24, 2026
2dd1c7c
docs: restructure component documentation pages part 1
nipsysdev Apr 24, 2026
895e0a6
docs: restructure component documentation pages part 2
nipsysdev Apr 24, 2026
118f391
docs: restructure component documentation pages part 3
nipsysdev Apr 24, 2026
686fd05
docs: update example pages with new structure part 1
nipsysdev Apr 24, 2026
4427185
docs: update example pages with new structure part 2
nipsysdev Apr 24, 2026
7447e27
docs: update example pages with new structure part 3
nipsysdev Apr 24, 2026
dcf1913
refactor: update component source files part 1
nipsysdev Apr 24, 2026
20f702c
refactor: update component source files part 2
nipsysdev Apr 24, 2026
67a60a9
refactor: update component source files part 3
nipsysdev Apr 24, 2026
b43e74f
refactor: update component source files part 4
nipsysdev Apr 24, 2026
2a1c3c3
refactor: update component source files part 5
nipsysdev Apr 24, 2026
818de55
feat: add size utilities and update core styles
nipsysdev Apr 24, 2026
0dd9b15
test: add e2e tests for alert-dialog, button, and toggle
nipsysdev Apr 24, 2026
1c90790
test: update example loader test
nipsysdev Apr 24, 2026
1fd03b5
docs: add project documentation files
nipsysdev Apr 24, 2026
20d4b32
docs: add tsdoc generation documentation
nipsysdev Apr 24, 2026
3948c30
chore: add npmignore to lsd package
nipsysdev Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
99 changes: 70 additions & 29 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,35 +39,76 @@ jobs:
- name: Lint
run: pnpm lint

test:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v6

- name: Set up Node.js and pnpm using mise
uses: jdx/mise-action@v3

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Test
run: pnpm test
test:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v6

- name: Set up Node.js and pnpm using mise
uses: jdx/mise-action@v3

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Test
run: pnpm test

e2e:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v6

- name: Set up Node.js and pnpm using mise
uses: jdx/mise-action@v3

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Install Playwright Browsers
run: pnpm --filter @nipsys/lsd-docs exec playwright install --with-deps chromium

- name: Run E2E tests
run: pnpm docs:test:e2e

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: packages/lsd-docs/playwright-report/


build:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,4 @@ jobs:
- name: Publish to npm
run: |
pnpm config set registry 'https://registry.npmjs.org'
pnpm --filter @nipsys/shadcn-lsd publish --provenance --access public --no-git-checks
pnpm --filter @nipsys/lsd publish --provenance --access public --no-git-checks
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ coverage
*.pem
ai_docs
.kilocode
.kilo
*.tgz
plans

Expand All @@ -59,4 +60,6 @@ plans
# typescript
*.tsbuildinfo

docs/dev
/docs
playwright-report
test-results
92 changes: 92 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@

# Contributor Covenant 3.0 Code of Conduct

## Our Pledge

We pledge to make our community welcoming, safe, and equitable for all.

We are committed to fostering an environment that respects and promotes the dignity, rights, and contributions of all individuals, regardless of characteristics including race, ethnicity, caste, color, age, physical characteristics, neurodiversity, disability, sex or gender, gender identity or expression, sexual orientation, language, philosophy or religion, national or social origin, socio-economic position, level of education, or other status. The same privileges of participation are extended to everyone who participates in good faith and in accordance with this Covenant.

## Encouraged Behaviors

While acknowledging differences in social norms, we all strive to meet our community's expectations for positive behavior. We also understand that our words and actions may be interpreted differently than we intend based on culture, background, or native language.

With these considerations in mind, we agree to behave mindfully toward each other and act in ways that center our shared values, including:

1. Respecting the **purpose of our community**, our activities, and our ways of gathering.
2. Engaging **kindly and honestly** with others.
3. Respecting **different viewpoints** and experiences.
4. **Taking responsibility** for our actions and contributions.
5. Gracefully giving and accepting **constructive feedback**.
6. Committing to **repairing harm** when it occurs.
7. Behaving in other ways that promote and sustain the **well-being of our community**.


## Restricted Behaviors

We agree to restrict the following behaviors in our community. Instances, threats, and promotion of these behaviors are violations of this Code of Conduct.

1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop.
2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people.
3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of immutable identities or traits.
4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community.
5. **Violating confidentiality**. Sharing or acting on someone's personal or private information without their permission.
6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group.
7. Behaving in other ways that **threaten the well-being** of our community.

### Other Restrictions

1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions.
2. **Failing to credit sources.** Not properly crediting the sources of content you contribute.
3. **Promotional materials**. Sharing marketing or other commercial content in a way that is outside the norms of the community.
4. **Irresponsible communication.** Failing to responsibly present content which includes, links or describes any other restricted behaviors.


## Reporting an Issue

Tensions can occur between community members even when they are trying their best to collaborate. Not every conflict represents a code of conduct violation, and this Code of Conduct reinforces encouraged behaviors and norms that can help avoid conflicts and minimize harm.

When an incident does occur, it is important to report it promptly. To report a possible violation, **reach out to Xav, the owner of this repository. See https://nipsys.eth.limo/en/contact/ for different ways of reaching out.**

Community Moderators take reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. Community Moderators will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution.


## Addressing and Repairing Harm

****

If an investigation by the Community Moderators finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped.

1) Warning
1) Event: A violation involving a single incident or series of incidents.
2) Consequence: A private, written warning from the Community Moderators.
3) Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations.
2) Temporarily Limited Activities
1) Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation.
2) Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members.
3) Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over.
3) Temporary Suspension
1) Event: A pattern of repeated violation which the Community Moderators have tried to address with warnings, or a single serious violation.
2) Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions.
3) Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted.
4) Permanent Ban
1) Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Community Moderators determine there is no way to keep the community safe with this person as a member.
2) Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior.
3) Repair: There is no possible repair in cases of this severity.

This enforcement ladder is intended as a guideline. It does not limit the ability of Community Managers to use their discretion and judgment, in keeping with the best interests of our community.


## Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public or other spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.


## Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 3.0, permanently available at [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/).

Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0. To view a copy of this license, visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)

For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion).

70 changes: 70 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Contributing to shadcn-lsd

Welcome to the shadcn-lsd component library! We're excited to have you as a contributor. Before you get started, please read the following guidelines to ensure your contributions align with our project goals.

## Code of Conduct

We expect all contributors to adhere to our [Code of Conduct](./CODE_OF_CONDUCT.md). We are committed to creating a welcoming and inclusive environment for everyone and will not tolerate any form of harassment or discrimination.

## Getting Started

To contribute to shadcn-lsd:

1. Fork the repository to your own GitHub account
2. Clone your fork locally
3. Create a new branch for your changes
4. Make your changes
5. Push your changes to your fork
6. Create a pull request to merge into the main repository

## Types of Contributions

### Issues and Feature Requests

If you discover a bug or have an idea for a new feature, please submit an issue in our [GitHub issue tracker](https://github.com/nipsysdev/lsd/issues). Include:
- A clear and descriptive title
- Detailed description of the problem or feature request
- Steps to reproduce (for bugs)
- Expected behavior vs actual behavior (for bugs)

If there's already an open issue for something you'd like to work on, please check in the comments or open a discussion before you start—someone else might already be working on it.

### Pull Requests

When submitting a pull request, please follow these guidelines:

- **Clear description:** Explain the changes you've made and why they're necessary
- **Test coverage:** Include tests that demonstrate your changes
- **Code quality:** Follow existing coding standards and patterns
- **Focused changes:** Keep your PR focused on a single issue or feature
- **Documentation:** Update relevant documentation if needed
- **Responsive:** Be open to feedback and address review comments

### Review Process

All pull requests are reviewed by maintainers. We aim to review and respond within a reasonable timeframe. If your PR requires changes, you'll receive clear feedback on what needs addressing.

## Contribution Areas

We welcome contributions in several areas:

- **New components:** Add UI components to the lsd package using shadcn/ui
- **Component improvements:** Enhance existing components with new features or better accessibility
- **Documentation:** Improve documentation clarity, add examples, or fix inaccuracies
- **Bug fixes:** Resolve issues reported in the tracker
- **Tests:** Improve test coverage or add e2e tests for examples

## Commit Messages

We use [Conventional Commits](https://www.conventionalcommits.org/) for commit messages. This helps with automated changelog generation and version management. Examples:

- `feat: add border-radius variant to button component`
- `fix: resolve dialog focus trap issue`
- `docs: improve autocomplete installation instructions`
- `test: add e2e tests for select component`

## License

By contributing to shadcn-lsd, you agree that your contributions will be licensed under the same [MIT License](./LICENSE.md) as the project.

Thank you for helping improve shadcn-lsd!
Loading