shapes-ui 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.yml +47 -0
- package/.github/ISSUE_TEMPLATE/config.yml +1 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +31 -0
- package/.github/pull_request_template.md +14 -0
- package/.github/workflows/pr-preview.yml +68 -0
- package/.github/workflows/release.yml +8 -0
- package/.idea/compiler.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/CHANGELOG.md +31 -0
- package/CODE_OF_CONDUCT.md +41 -0
- package/CONTRIBUTING.md +52 -0
- package/README.md +5 -0
- package/SECURITY.md +0 -0
- package/content/components/field.mdx +2 -2
- package/content/components/fieldset.mdx +1 -1
- package/content/components/menubar.mdx +4 -2
- package/content/components/meter.mdx +13 -1
- package/content/components/navigation-menu.mdx +6 -0
- package/content/components/number-field.mdx +24 -0
- package/content/components/popover.mdx +20 -0
- package/content/components/preview-card.mdx +11 -0
- package/content/components/progress.mdx +2 -0
- package/content/components/radio.mdx +20 -0
- package/content/components/select.mdx +30 -0
- package/content/components/slider.mdx +48 -0
- package/content/components/switch.mdx +26 -0
- package/content/components/tabs.mdx +32 -0
- package/content/components/toast.mdx +60 -0
- package/content/components/toggle.mdx +34 -2
- package/content/components/toolbar.mdx +26 -0
- package/content/components/tooltip.mdx +25 -0
- package/content-collections.ts +1 -1
- package/examples/__index.tsx +231 -0
- package/examples/checkbox-demo.tsx +1 -1
- package/examples/checkbox-form.tsx +3 -3
- package/examples/field-custom-control.tsx +33 -9
- package/examples/form-demo.tsx +5 -10
- package/examples/menu-advanced.tsx +1 -3
- package/examples/menu-align.tsx +19 -16
- package/examples/menu-checkbox.tsx +2 -3
- package/examples/menu-demo.tsx +1 -3
- package/examples/menu-group.tsx +1 -3
- package/examples/menu-radio.tsx +1 -3
- package/examples/menu-submenu.tsx +2 -3
- package/examples/menubar-advanced.tsx +91 -0
- package/examples/meter-demo.tsx +8 -21
- package/examples/meter-flip.tsx +13 -0
- package/examples/meter-no-label.tsx +12 -0
- package/examples/meter-no-value.tsx +12 -0
- package/examples/navigation-menu-demo.tsx +113 -1
- package/examples/number-field-buttons-end.tsx +20 -0
- package/examples/number-field-demo.tsx +17 -1
- package/examples/number-field-scrub.tsx +38 -0
- package/examples/popover-demo.tsx +18 -1
- package/examples/popover-form.tsx +46 -0
- package/examples/popover-positions.tsx +54 -0
- package/examples/preview-card-demo.tsx +26 -1
- package/examples/preview-card-links.tsx +38 -0
- package/examples/progress-demo.tsx +33 -1
- package/examples/radio-card.tsx +28 -0
- package/examples/radio-demo.tsx +19 -1
- package/examples/radio-description.tsx +26 -0
- package/examples/radio-orientation.tsx +21 -0
- package/examples/select-alignment.tsx +51 -0
- package/examples/select-demo.tsx +36 -1
- package/examples/select-disabled.tsx +38 -0
- package/examples/select-groups.tsx +54 -0
- package/examples/select-invalid.tsx +41 -0
- package/examples/select-scrollable.tsx +112 -0
- package/examples/slider-controlled.tsx +28 -0
- package/examples/slider-demo.tsx +3 -1
- package/examples/slider-disabled.tsx +7 -0
- package/examples/slider-edge.tsx +13 -0
- package/examples/slider-multiple.tsx +7 -0
- package/examples/slider-range.tsx +5 -0
- package/examples/slider-vertical.tsx +10 -0
- package/examples/switch-demo.tsx +19 -1
- package/examples/switch-disabled.tsx +20 -0
- package/examples/switch-sizes.tsx +24 -0
- package/examples/switch-with-label.tsx +16 -0
- package/examples/tabs-demo.tsx +14 -1
- package/examples/tabs-disabled.tsx +21 -0
- package/examples/tabs-line.tsx +18 -0
- package/examples/tabs-vertical.tsx +13 -0
- package/examples/toast-action.tsx +39 -0
- package/examples/toast-anchored.tsx +36 -0
- package/examples/toast-demo.tsx +27 -1
- package/examples/toast-positions.tsx +54 -0
- package/examples/toast-promise.tsx +51 -0
- package/examples/toast-stacked.tsx +30 -0
- package/examples/toast-timeout.tsx +43 -0
- package/examples/toast-update.tsx +38 -0
- package/examples/toast-variants.tsx +54 -0
- package/examples/toggle-controlled.tsx +20 -0
- package/examples/toggle-demo.tsx +7 -51
- package/examples/toggle-group-demo.tsx +19 -0
- package/examples/toggle-group-multiple.tsx +19 -0
- package/examples/toggle-icon-fill.tsx +12 -0
- package/examples/toolbar-demo.tsx +45 -21
- package/examples/toolbar-input-link.tsx +35 -0
- package/examples/toolbar-menu.tsx +53 -0
- package/examples/tooltip-demo.tsx +48 -0
- package/examples/tooltip-positions.tsx +60 -0
- package/package.json +8 -8
- package/public/r/drawer.json +1 -1
- package/public/r/field.json +1 -1
- package/public/r/menubar.json +1 -1
- package/public/r/meter.json +1 -1
- package/public/r/navigation-menu.json +1 -1
- package/public/r/number-field.json +4 -2
- package/public/r/popover.json +1 -1
- package/public/r/preview-card.json +1 -1
- package/public/r/progress.json +1 -1
- package/public/r/radio.json +1 -1
- package/public/r/select.json +1 -1
- package/public/r/slider.json +1 -1
- package/public/r/switch.json +1 -1
- package/public/r/tabs.json +1 -1
- package/public/r/toast.json +2 -1
- package/public/r/toggle.json +1 -1
- package/public/r/toolbar.json +1 -1
- package/public/r/tooltip.json +15 -0
- package/src/components/docs/layout/header.tsx +4 -14
- package/src/components/docs/layout/mobile-menu.tsx +27 -78
- package/src/components/docs/layout/nav-list.tsx +27 -21
- package/src/components/docs/layout/split-layout.tsx +6 -3
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/checkbox.tsx +1 -1
- package/src/components/ui/drawer.tsx +1 -1
- package/src/components/ui/field.tsx +9 -28
- package/src/components/ui/form.tsx +1 -1
- package/src/components/ui/menubar.tsx +52 -18
- package/src/components/ui/meter.tsx +12 -24
- package/src/components/ui/navigation-menu.tsx +121 -38
- package/src/components/ui/number-field.tsx +42 -46
- package/src/components/ui/popover.tsx +7 -2
- package/src/components/ui/preview-card.tsx +4 -2
- package/src/components/ui/progress.tsx +7 -18
- package/src/components/ui/radio.tsx +32 -19
- package/src/components/ui/select.tsx +6 -6
- package/src/components/ui/slider.tsx +8 -5
- package/src/components/ui/switch.tsx +13 -17
- package/src/components/ui/tabs.tsx +23 -10
- package/src/components/ui/toast.tsx +190 -29
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/toolbar.tsx +17 -4
- package/src/components/ui/tooltip.tsx +54 -0
- package/src/routes/__root.tsx +3 -5
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Bug report
|
|
2
|
+
description: Report a reproducible bug in Shapes UI
|
|
3
|
+
title: "[Bug]: "
|
|
4
|
+
labels:
|
|
5
|
+
- bug
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Thanks for filing a bug report.
|
|
11
|
+
- type: input
|
|
12
|
+
id: summary
|
|
13
|
+
attributes:
|
|
14
|
+
label: Summary
|
|
15
|
+
description: Short description of the bug
|
|
16
|
+
placeholder: Button variant "ghost" has wrong text color
|
|
17
|
+
validations:
|
|
18
|
+
required: true
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: steps
|
|
21
|
+
attributes:
|
|
22
|
+
label: Steps to reproduce
|
|
23
|
+
description: Exact steps so we can reproduce reliably
|
|
24
|
+
placeholder: |
|
|
25
|
+
1. Go to ...
|
|
26
|
+
2. Click ...
|
|
27
|
+
3. See error ...
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
- type: textarea
|
|
31
|
+
id: expected
|
|
32
|
+
attributes:
|
|
33
|
+
label: Expected behavior
|
|
34
|
+
validations:
|
|
35
|
+
required: true
|
|
36
|
+
- type: textarea
|
|
37
|
+
id: actual
|
|
38
|
+
attributes:
|
|
39
|
+
label: Actual behavior
|
|
40
|
+
validations:
|
|
41
|
+
required: true
|
|
42
|
+
- type: input
|
|
43
|
+
id: environment
|
|
44
|
+
attributes:
|
|
45
|
+
label: Environment
|
|
46
|
+
description: OS, browser, package manager, Node.js version
|
|
47
|
+
placeholder: macOS 15, Chrome 141, pnpm 9, Node 24
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Feature request
|
|
2
|
+
description: Propose an improvement or new component
|
|
3
|
+
title: "[Feature]: "
|
|
4
|
+
labels:
|
|
5
|
+
- enhancement
|
|
6
|
+
body:
|
|
7
|
+
- type: input
|
|
8
|
+
id: problem
|
|
9
|
+
attributes:
|
|
10
|
+
label: Problem to solve
|
|
11
|
+
description: What problem are you trying to solve?
|
|
12
|
+
placeholder: I need a compact tooltip pattern for dense UIs
|
|
13
|
+
validations:
|
|
14
|
+
required: true
|
|
15
|
+
- type: textarea
|
|
16
|
+
id: proposal
|
|
17
|
+
attributes:
|
|
18
|
+
label: Proposed solution
|
|
19
|
+
description: Describe the API/UX you expect
|
|
20
|
+
validations:
|
|
21
|
+
required: true
|
|
22
|
+
- type: textarea
|
|
23
|
+
id: alternatives
|
|
24
|
+
attributes:
|
|
25
|
+
label: Alternatives considered
|
|
26
|
+
description: Any alternatives or workarounds you tried?
|
|
27
|
+
- type: textarea
|
|
28
|
+
id: additional
|
|
29
|
+
attributes:
|
|
30
|
+
label: Additional context
|
|
31
|
+
description: Links, mockups, examples, prior art
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: PR Preview
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types:
|
|
6
|
+
- opened
|
|
7
|
+
- reopened
|
|
8
|
+
- synchronize
|
|
9
|
+
- closed
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: pr-preview-${{ github.event.pull_request.number }}
|
|
13
|
+
cancel-in-progress: true
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
deploy-preview:
|
|
17
|
+
name: Deploy Preview
|
|
18
|
+
if: github.event.action != 'closed'
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
steps:
|
|
24
|
+
- name: Checkout Repo
|
|
25
|
+
uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
- name: Setup Node.js 24
|
|
28
|
+
uses: actions/setup-node@v4
|
|
29
|
+
with:
|
|
30
|
+
node-version: 24
|
|
31
|
+
|
|
32
|
+
- name: Install pnpm
|
|
33
|
+
uses: pnpm/action-setup@v3
|
|
34
|
+
with:
|
|
35
|
+
version: 9
|
|
36
|
+
|
|
37
|
+
- name: Install Dependencies
|
|
38
|
+
run: pnpm install --frozen-lockfile
|
|
39
|
+
|
|
40
|
+
- name: Deploy Preview Worker
|
|
41
|
+
uses: cloudflare/wrangler-action@v3
|
|
42
|
+
with:
|
|
43
|
+
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
44
|
+
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
45
|
+
command: "deploy --name shapes-ui-pr-${{ github.event.pull_request.number }}"
|
|
46
|
+
|
|
47
|
+
- name: Comment Preview URL
|
|
48
|
+
uses: marocchino/sticky-pull-request-comment@v2
|
|
49
|
+
with:
|
|
50
|
+
header: preview-url
|
|
51
|
+
message: |
|
|
52
|
+
Preview deployed
|
|
53
|
+
|
|
54
|
+
https://shapes-ui-pr-${{ github.event.pull_request.number }}.workers.dev
|
|
55
|
+
|
|
56
|
+
cleanup-preview:
|
|
57
|
+
name: Cleanup Preview
|
|
58
|
+
if: github.event.action == 'closed'
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
permissions:
|
|
61
|
+
contents: read
|
|
62
|
+
steps:
|
|
63
|
+
- name: Delete Preview Worker
|
|
64
|
+
uses: cloudflare/wrangler-action@v3
|
|
65
|
+
with:
|
|
66
|
+
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
67
|
+
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
68
|
+
command: "delete shapes-ui-pr-${{ github.event.pull_request.number }} --force"
|
|
@@ -44,3 +44,11 @@ jobs:
|
|
|
44
44
|
title: "chore: version packages"
|
|
45
45
|
env:
|
|
46
46
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
47
|
+
|
|
48
|
+
- name: Deploy Production Worker
|
|
49
|
+
if: steps.changesets.outputs.published == 'true'
|
|
50
|
+
uses: cloudflare/wrangler-action@v3
|
|
51
|
+
with:
|
|
52
|
+
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
53
|
+
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
54
|
+
command: deploy
|
package/.idea/vcs.xml
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# shapes-ui
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7d13a9b: Added tooltip and examples
|
|
8
|
+
- 798be1a: Updated component examples and styles
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- 357a7eb: Switch style and exmaple updates
|
|
13
|
+
- 43bfe67: Updated toolbar and examples
|
|
14
|
+
- bc2c06c: UPdated select and select examples
|
|
15
|
+
- 84e7508: Updated toggle and toggle group styles and examples
|
|
16
|
+
- 1c68cea: Updated slider component and examples
|
|
17
|
+
- 46d5f5d: Updated mobile nav to use drawer cmpoennt
|
|
18
|
+
- 8fc90b8: Updated toast ui and examples
|
|
19
|
+
- 33459d3: Updated examples and dependencies
|
|
20
|
+
- 8ce682c: Updated tabs styles and examples
|
|
21
|
+
|
|
22
|
+
## 0.4.2
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- 476148c: Updated menubar docs and stylings.
|
|
27
|
+
- 60ac79e: Updated meter examples and stylings
|
|
28
|
+
- a591c64: Added examples for preview card
|
|
29
|
+
- 7f642b5: Updated number field component and examples
|
|
30
|
+
- 30ebfe7: UPdated progress styles and example
|
|
31
|
+
- c2be2cd: Updated popover component and examples
|
|
32
|
+
- 2d38dfc: Updated navihation menu styles and demo
|
|
33
|
+
|
|
3
34
|
## 0.4.1
|
|
4
35
|
|
|
5
36
|
### Patch Changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our pledge
|
|
4
|
+
|
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone.
|
|
6
|
+
|
|
7
|
+
## Our standards
|
|
8
|
+
|
|
9
|
+
Examples of behavior that contributes to a positive environment:
|
|
10
|
+
|
|
11
|
+
- Being respectful and constructive
|
|
12
|
+
- Giving and accepting feedback gracefully
|
|
13
|
+
- Focusing on what is best for the community
|
|
14
|
+
- Showing empathy toward other people
|
|
15
|
+
|
|
16
|
+
Examples of unacceptable behavior:
|
|
17
|
+
|
|
18
|
+
- Harassment, discrimination, or personal attacks
|
|
19
|
+
- Trolling, insulting, or derogatory comments
|
|
20
|
+
- Public or private intimidation
|
|
21
|
+
- Publishing others' private information without permission
|
|
22
|
+
|
|
23
|
+
## Enforcement responsibilities
|
|
24
|
+
|
|
25
|
+
Project maintainers are responsible for clarifying and enforcing standards of acceptable behavior.
|
|
26
|
+
|
|
27
|
+
## Scope
|
|
28
|
+
|
|
29
|
+
This Code of Conduct applies in project spaces and in public spaces when an individual is representing the project.
|
|
30
|
+
|
|
31
|
+
## Reporting
|
|
32
|
+
|
|
33
|
+
To report violations, contact:
|
|
34
|
+
|
|
35
|
+
- **Email:** conduct@shapes-ui.dev
|
|
36
|
+
|
|
37
|
+
All reports will be reviewed and investigated promptly and fairly.
|
|
38
|
+
|
|
39
|
+
## Enforcement
|
|
40
|
+
|
|
41
|
+
Maintainers may take any action they deem appropriate in response to unacceptable behavior, including warning or temporary/permanent ban from participation.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Contributing to Shapes UI
|
|
2
|
+
|
|
3
|
+
Thanks for your interest in contributing.
|
|
4
|
+
|
|
5
|
+
## Development setup
|
|
6
|
+
|
|
7
|
+
- Use Node.js 24+
|
|
8
|
+
- Use pnpm 9+
|
|
9
|
+
|
|
10
|
+
Install dependencies:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pnpm install
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Run locally:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm dev
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Common commands
|
|
23
|
+
|
|
24
|
+
- `pnpm dev` — start local dev server
|
|
25
|
+
- `pnpm test` — run tests
|
|
26
|
+
- `pnpm lint` — run lint checks
|
|
27
|
+
- `pnpm build` — build app
|
|
28
|
+
- `pnpm build:cli` — build CLI
|
|
29
|
+
- `pnpm gen:examples` — generate examples
|
|
30
|
+
- `pnpm gen:registry` — generate registry artifacts
|
|
31
|
+
|
|
32
|
+
## Pull requests
|
|
33
|
+
|
|
34
|
+
Before opening a PR:
|
|
35
|
+
|
|
36
|
+
1. Keep changes focused and scoped.
|
|
37
|
+
2. Run `pnpm test` and `pnpm lint`.
|
|
38
|
+
3. Update docs/examples when behaviour changes.
|
|
39
|
+
4. Add a changeset when a publishable package change is intended.
|
|
40
|
+
|
|
41
|
+
PRs get a preview deployment automatically.
|
|
42
|
+
|
|
43
|
+
## Release process
|
|
44
|
+
|
|
45
|
+
Releases are handled through Changesets:
|
|
46
|
+
|
|
47
|
+
- A release PR is created from changesets.
|
|
48
|
+
- Production deployment runs when the release is published.
|
|
49
|
+
|
|
50
|
+
## Reporting issues
|
|
51
|
+
|
|
52
|
+
Use the issue templates for bug reports and feature requests so maintainers can triage quickly.
|
package/README.md
CHANGED
package/SECURITY.md
ADDED
|
File without changes
|
|
@@ -14,7 +14,7 @@ description: Accessible form field components with built-in validation, labels,
|
|
|
14
14
|
|
|
15
15
|
### Default
|
|
16
16
|
|
|
17
|
-
Compose fields using `
|
|
17
|
+
Compose fields using `Field`, `FieldLabel`, `FieldControl`, and `FieldDescription`.
|
|
18
18
|
|
|
19
19
|
<RenderPreview name="field-demo" />
|
|
20
20
|
|
|
@@ -38,6 +38,6 @@ Use the individual Field subcomponents to create custom field layouts with full
|
|
|
38
38
|
|
|
39
39
|
### Custom Control
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Use `FieldControl` as the form control element or compose Base-compatible controls inside `Field` for advanced cases.
|
|
42
42
|
|
|
43
43
|
<RenderPreview name="field-custom-control" />
|
|
@@ -14,7 +14,7 @@ description: Groups related form fields with an accessible legend for semantic o
|
|
|
14
14
|
|
|
15
15
|
### Default
|
|
16
16
|
|
|
17
|
-
Use `
|
|
17
|
+
Use `Fieldset` and `FieldsetLegend` to group related fields with a descriptive legend.
|
|
18
18
|
|
|
19
19
|
<RenderPreview name="fieldset-demo" />
|
|
20
20
|
|
|
@@ -10,8 +10,10 @@ description: Menu bar providing commands and options for your application with d
|
|
|
10
10
|
|
|
11
11
|
<InstallationBlock name="menubar" />
|
|
12
12
|
|
|
13
|
+
Menubar relies on `Menu` component, but for the ease of use, it also provides a set of components that are built on top of `Menu` component with same styling and APIs.
|
|
14
|
+
|
|
13
15
|
## Examples
|
|
14
16
|
|
|
15
|
-
###
|
|
17
|
+
### Submenus
|
|
16
18
|
|
|
17
|
-
<RenderPreview name="menubar-
|
|
19
|
+
<RenderPreview name="menubar-advanced" />
|
|
@@ -12,6 +12,18 @@ description: Meter component that provides a graphical display of a numeric valu
|
|
|
12
12
|
|
|
13
13
|
## Examples
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### Default
|
|
16
16
|
|
|
17
17
|
<RenderPreview name="meter-demo" />
|
|
18
|
+
|
|
19
|
+
### Value only
|
|
20
|
+
|
|
21
|
+
<RenderPreview name="meter-no-label" />
|
|
22
|
+
|
|
23
|
+
### Label only
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="meter-no-value" />
|
|
26
|
+
|
|
27
|
+
### Flip
|
|
28
|
+
|
|
29
|
+
<RenderPreview name="meter-flip" />
|
|
@@ -3,3 +3,9 @@ title: Navigation Menu
|
|
|
3
3
|
slug: navigation-menu
|
|
4
4
|
description: Navigation menu component for displaying a collection of links and dropdown menus.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="navigation-menu-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="navigation-menu" />
|
|
@@ -3,3 +3,27 @@ title: Number Field
|
|
|
3
3
|
slug: number-field
|
|
4
4
|
description: An input field component specifically designed for numeric input, with built-in validation and formatting options
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="number-field-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="number-field" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Basic
|
|
16
|
+
|
|
17
|
+
Use data-align `start` and `end` to position increment and decrement controls at the start or end of the input.
|
|
18
|
+
|
|
19
|
+
<RenderPreview name="number-field-demo" />
|
|
20
|
+
|
|
21
|
+
### Scrub area
|
|
22
|
+
|
|
23
|
+
A number field with a scrub area (drag over input to change value).
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="number-field-scrub" />
|
|
26
|
+
|
|
27
|
+
### Buttons at end
|
|
28
|
+
|
|
29
|
+
<RenderPreview name="number-field-buttons-end" />
|
|
@@ -3,3 +3,23 @@ title: Popover
|
|
|
3
3
|
slug: popover
|
|
4
4
|
description: Popover component that displays content anchored to a trigger element.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="popover-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="popover" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Basic
|
|
16
|
+
|
|
17
|
+
<RenderPreview name="popover-demo" />
|
|
18
|
+
|
|
19
|
+
### Sides
|
|
20
|
+
|
|
21
|
+
<RenderPreview name="popover-positions" />
|
|
22
|
+
|
|
23
|
+
### Form
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="popover-form" />
|
|
@@ -3,3 +3,14 @@ title: Preview Card
|
|
|
3
3
|
slug: preview-card
|
|
4
4
|
description: Component that displays a preview of linked content when hovered.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name={'preview-card-demo'} />
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
<InstallationBlock name="preview-card" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Composed as CTA
|
|
16
|
+
<RenderPreview name="preview-card-links" />
|
|
@@ -3,3 +3,23 @@ title: Radio
|
|
|
3
3
|
slug: radio
|
|
4
4
|
description: Radio button component for selecting a single option from a group.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="radio-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="radio" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Orientation
|
|
16
|
+
|
|
17
|
+
<RenderPreview name="radio-orientation" />
|
|
18
|
+
|
|
19
|
+
### Card Style
|
|
20
|
+
|
|
21
|
+
<RenderPreview name="radio-card" />
|
|
22
|
+
|
|
23
|
+
### Description
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="radio-description" />
|
|
@@ -3,3 +3,33 @@ title: Select
|
|
|
3
3
|
slug: select
|
|
4
4
|
description: Select component for choosing a predefined value in a dropdown menu.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="select-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="select" />
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
### Alignment
|
|
18
|
+
|
|
19
|
+
<RenderPreview name="select-alignment" />
|
|
20
|
+
|
|
21
|
+
### Groups
|
|
22
|
+
|
|
23
|
+
<RenderPreview name="select-groups" />
|
|
24
|
+
|
|
25
|
+
### Disabled
|
|
26
|
+
|
|
27
|
+
<RenderPreview name="select-disabled" />
|
|
28
|
+
|
|
29
|
+
### Invalid
|
|
30
|
+
|
|
31
|
+
<RenderPreview name="select-invalid" />
|
|
32
|
+
|
|
33
|
+
### Scrollable
|
|
34
|
+
|
|
35
|
+
<RenderPreview name="select-scrollable" />
|
|
@@ -3,3 +3,51 @@ title: Slider
|
|
|
3
3
|
slug: slider
|
|
4
4
|
description: Slider component for selecting a value or range of values.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="slider-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="slider" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Basic
|
|
16
|
+
|
|
17
|
+
<RenderPreview name="slider-demo" />
|
|
18
|
+
|
|
19
|
+
### Range
|
|
20
|
+
|
|
21
|
+
Use an array with two values for a range slider.
|
|
22
|
+
|
|
23
|
+
<RenderPreview name="slider-range" />
|
|
24
|
+
|
|
25
|
+
### Multiple Thumbs
|
|
26
|
+
|
|
27
|
+
Use an array with multiple values for multiple thumbs.
|
|
28
|
+
|
|
29
|
+
<RenderPreview name="slider-multiple" />
|
|
30
|
+
|
|
31
|
+
### Vertical
|
|
32
|
+
|
|
33
|
+
Use `orientation="vertical"` for a vertical slider.
|
|
34
|
+
|
|
35
|
+
<RenderPreview name="slider-vertical" />
|
|
36
|
+
|
|
37
|
+
### Edge Alignment
|
|
38
|
+
|
|
39
|
+
Use `thumbAlignment="edge"` to inset thumbs so they align to the track edge at min/max.
|
|
40
|
+
|
|
41
|
+
<RenderPreview name="slider-edge" />
|
|
42
|
+
|
|
43
|
+
### Controlled
|
|
44
|
+
|
|
45
|
+
Use `value` and `onValueChange` to fully control slider state.
|
|
46
|
+
|
|
47
|
+
<RenderPreview name="slider-controlled" />
|
|
48
|
+
|
|
49
|
+
### Disabled
|
|
50
|
+
|
|
51
|
+
Use the `disabled` prop to disable the slider.
|
|
52
|
+
|
|
53
|
+
<RenderPreview name="slider-disabled" />
|
|
@@ -3,3 +3,29 @@ title: Switch
|
|
|
3
3
|
slug: switch
|
|
4
4
|
description: Switch component that indicates whether a setting is on or off.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="switch-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="switch" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### With Label
|
|
16
|
+
|
|
17
|
+
Use labels and helper text to make intent clear.
|
|
18
|
+
|
|
19
|
+
<RenderPreview name="switch-with-label" />
|
|
20
|
+
|
|
21
|
+
### Sizes
|
|
22
|
+
|
|
23
|
+
Switch supports default and small sizes via the `size` prop.
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="switch-sizes" />
|
|
26
|
+
|
|
27
|
+
### Disabled
|
|
28
|
+
|
|
29
|
+
Disable interaction while preserving the current state.
|
|
30
|
+
|
|
31
|
+
<RenderPreview name="switch-disabled" />
|
|
@@ -3,3 +3,35 @@ title: Tabs
|
|
|
3
3
|
slug: tabs
|
|
4
4
|
description: Tabs component for toggling between related panels on the same page.
|
|
5
5
|
---
|
|
6
|
+
|
|
7
|
+
<RenderPreview name="tabs-demo" />
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
<InstallationBlock name="tabs" />
|
|
12
|
+
|
|
13
|
+
## Examples
|
|
14
|
+
|
|
15
|
+
### Default
|
|
16
|
+
|
|
17
|
+
A standard horizontal tabs layout.
|
|
18
|
+
|
|
19
|
+
<RenderPreview name="tabs-demo" />
|
|
20
|
+
|
|
21
|
+
### Line Variant
|
|
22
|
+
|
|
23
|
+
Use the `line` variant for a compact, underlined appearance.
|
|
24
|
+
|
|
25
|
+
<RenderPreview name="tabs-line" />
|
|
26
|
+
|
|
27
|
+
### Vertical
|
|
28
|
+
|
|
29
|
+
Set `orientation="vertical"` to stack triggers in a column.
|
|
30
|
+
|
|
31
|
+
<RenderPreview name="tabs-vertical" />
|
|
32
|
+
|
|
33
|
+
### Disabled Trigger
|
|
34
|
+
|
|
35
|
+
Disable individual tab triggers with the `disabled` prop.
|
|
36
|
+
|
|
37
|
+
<RenderPreview name="tabs-disabled" />
|