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.
Files changed (149) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +47 -0
  2. package/.github/ISSUE_TEMPLATE/config.yml +1 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.yml +31 -0
  4. package/.github/pull_request_template.md +14 -0
  5. package/.github/workflows/pr-preview.yml +68 -0
  6. package/.github/workflows/release.yml +8 -0
  7. package/.idea/compiler.xml +6 -0
  8. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  9. package/.idea/vcs.xml +6 -0
  10. package/CHANGELOG.md +31 -0
  11. package/CODE_OF_CONDUCT.md +41 -0
  12. package/CONTRIBUTING.md +52 -0
  13. package/README.md +5 -0
  14. package/SECURITY.md +0 -0
  15. package/content/components/field.mdx +2 -2
  16. package/content/components/fieldset.mdx +1 -1
  17. package/content/components/menubar.mdx +4 -2
  18. package/content/components/meter.mdx +13 -1
  19. package/content/components/navigation-menu.mdx +6 -0
  20. package/content/components/number-field.mdx +24 -0
  21. package/content/components/popover.mdx +20 -0
  22. package/content/components/preview-card.mdx +11 -0
  23. package/content/components/progress.mdx +2 -0
  24. package/content/components/radio.mdx +20 -0
  25. package/content/components/select.mdx +30 -0
  26. package/content/components/slider.mdx +48 -0
  27. package/content/components/switch.mdx +26 -0
  28. package/content/components/tabs.mdx +32 -0
  29. package/content/components/toast.mdx +60 -0
  30. package/content/components/toggle.mdx +34 -2
  31. package/content/components/toolbar.mdx +26 -0
  32. package/content/components/tooltip.mdx +25 -0
  33. package/content-collections.ts +1 -1
  34. package/examples/__index.tsx +231 -0
  35. package/examples/checkbox-demo.tsx +1 -1
  36. package/examples/checkbox-form.tsx +3 -3
  37. package/examples/field-custom-control.tsx +33 -9
  38. package/examples/form-demo.tsx +5 -10
  39. package/examples/menu-advanced.tsx +1 -3
  40. package/examples/menu-align.tsx +19 -16
  41. package/examples/menu-checkbox.tsx +2 -3
  42. package/examples/menu-demo.tsx +1 -3
  43. package/examples/menu-group.tsx +1 -3
  44. package/examples/menu-radio.tsx +1 -3
  45. package/examples/menu-submenu.tsx +2 -3
  46. package/examples/menubar-advanced.tsx +91 -0
  47. package/examples/meter-demo.tsx +8 -21
  48. package/examples/meter-flip.tsx +13 -0
  49. package/examples/meter-no-label.tsx +12 -0
  50. package/examples/meter-no-value.tsx +12 -0
  51. package/examples/navigation-menu-demo.tsx +113 -1
  52. package/examples/number-field-buttons-end.tsx +20 -0
  53. package/examples/number-field-demo.tsx +17 -1
  54. package/examples/number-field-scrub.tsx +38 -0
  55. package/examples/popover-demo.tsx +18 -1
  56. package/examples/popover-form.tsx +46 -0
  57. package/examples/popover-positions.tsx +54 -0
  58. package/examples/preview-card-demo.tsx +26 -1
  59. package/examples/preview-card-links.tsx +38 -0
  60. package/examples/progress-demo.tsx +33 -1
  61. package/examples/radio-card.tsx +28 -0
  62. package/examples/radio-demo.tsx +19 -1
  63. package/examples/radio-description.tsx +26 -0
  64. package/examples/radio-orientation.tsx +21 -0
  65. package/examples/select-alignment.tsx +51 -0
  66. package/examples/select-demo.tsx +36 -1
  67. package/examples/select-disabled.tsx +38 -0
  68. package/examples/select-groups.tsx +54 -0
  69. package/examples/select-invalid.tsx +41 -0
  70. package/examples/select-scrollable.tsx +112 -0
  71. package/examples/slider-controlled.tsx +28 -0
  72. package/examples/slider-demo.tsx +3 -1
  73. package/examples/slider-disabled.tsx +7 -0
  74. package/examples/slider-edge.tsx +13 -0
  75. package/examples/slider-multiple.tsx +7 -0
  76. package/examples/slider-range.tsx +5 -0
  77. package/examples/slider-vertical.tsx +10 -0
  78. package/examples/switch-demo.tsx +19 -1
  79. package/examples/switch-disabled.tsx +20 -0
  80. package/examples/switch-sizes.tsx +24 -0
  81. package/examples/switch-with-label.tsx +16 -0
  82. package/examples/tabs-demo.tsx +14 -1
  83. package/examples/tabs-disabled.tsx +21 -0
  84. package/examples/tabs-line.tsx +18 -0
  85. package/examples/tabs-vertical.tsx +13 -0
  86. package/examples/toast-action.tsx +39 -0
  87. package/examples/toast-anchored.tsx +36 -0
  88. package/examples/toast-demo.tsx +27 -1
  89. package/examples/toast-positions.tsx +54 -0
  90. package/examples/toast-promise.tsx +51 -0
  91. package/examples/toast-stacked.tsx +30 -0
  92. package/examples/toast-timeout.tsx +43 -0
  93. package/examples/toast-update.tsx +38 -0
  94. package/examples/toast-variants.tsx +54 -0
  95. package/examples/toggle-controlled.tsx +20 -0
  96. package/examples/toggle-demo.tsx +7 -51
  97. package/examples/toggle-group-demo.tsx +19 -0
  98. package/examples/toggle-group-multiple.tsx +19 -0
  99. package/examples/toggle-icon-fill.tsx +12 -0
  100. package/examples/toolbar-demo.tsx +45 -21
  101. package/examples/toolbar-input-link.tsx +35 -0
  102. package/examples/toolbar-menu.tsx +53 -0
  103. package/examples/tooltip-demo.tsx +48 -0
  104. package/examples/tooltip-positions.tsx +60 -0
  105. package/package.json +8 -8
  106. package/public/r/drawer.json +1 -1
  107. package/public/r/field.json +1 -1
  108. package/public/r/menubar.json +1 -1
  109. package/public/r/meter.json +1 -1
  110. package/public/r/navigation-menu.json +1 -1
  111. package/public/r/number-field.json +4 -2
  112. package/public/r/popover.json +1 -1
  113. package/public/r/preview-card.json +1 -1
  114. package/public/r/progress.json +1 -1
  115. package/public/r/radio.json +1 -1
  116. package/public/r/select.json +1 -1
  117. package/public/r/slider.json +1 -1
  118. package/public/r/switch.json +1 -1
  119. package/public/r/tabs.json +1 -1
  120. package/public/r/toast.json +2 -1
  121. package/public/r/toggle.json +1 -1
  122. package/public/r/toolbar.json +1 -1
  123. package/public/r/tooltip.json +15 -0
  124. package/src/components/docs/layout/header.tsx +4 -14
  125. package/src/components/docs/layout/mobile-menu.tsx +27 -78
  126. package/src/components/docs/layout/nav-list.tsx +27 -21
  127. package/src/components/docs/layout/split-layout.tsx +6 -3
  128. package/src/components/ui/badge.tsx +1 -1
  129. package/src/components/ui/checkbox.tsx +1 -1
  130. package/src/components/ui/drawer.tsx +1 -1
  131. package/src/components/ui/field.tsx +9 -28
  132. package/src/components/ui/form.tsx +1 -1
  133. package/src/components/ui/menubar.tsx +52 -18
  134. package/src/components/ui/meter.tsx +12 -24
  135. package/src/components/ui/navigation-menu.tsx +121 -38
  136. package/src/components/ui/number-field.tsx +42 -46
  137. package/src/components/ui/popover.tsx +7 -2
  138. package/src/components/ui/preview-card.tsx +4 -2
  139. package/src/components/ui/progress.tsx +7 -18
  140. package/src/components/ui/radio.tsx +32 -19
  141. package/src/components/ui/select.tsx +6 -6
  142. package/src/components/ui/slider.tsx +8 -5
  143. package/src/components/ui/switch.tsx +13 -17
  144. package/src/components/ui/tabs.tsx +23 -10
  145. package/src/components/ui/toast.tsx +190 -29
  146. package/src/components/ui/toggle.tsx +1 -1
  147. package/src/components/ui/toolbar.tsx +17 -4
  148. package/src/components/ui/tooltip.tsx +54 -0
  149. 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,14 @@
1
+ ## Summary
2
+
3
+ -
4
+
5
+ ## Changes
6
+
7
+ -
8
+
9
+ ## Checklist
10
+
11
+ - [ ] I ran `pnpm test`
12
+ - [ ] I ran `pnpm lint`
13
+ - [ ] I added/updated docs or examples when needed
14
+ - [ ] I added a changeset if this should be released
@@ -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
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="TypeScriptCompiler">
4
+ <option name="useServicePoweredTypesWasEnabledByExperiment" value="true" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Ask2AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
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.
@@ -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
@@ -1 +1,6 @@
1
1
  # Shapes UI
2
+
3
+ ## Community
4
+
5
+ - [Contributing guide](CONTRIBUTING.md)
6
+ - [Code of Conduct](CODE_OF_CONDUCT.md)
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 `FieldRoot`, `FieldLabel`, `FieldControl`, and `FieldDescription`.
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
- Replace the default `FieldControl` with any other input component for advanced use cases.
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 `FieldsetRoot` and `FieldsetLegend` to group related fields with a descriptive legend.
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
- ### Demo
17
+ ### Submenus
16
18
 
17
- <RenderPreview name="menubar-demo" />
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
- ### Demo
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,5 @@ title: Progress
3
3
  slug: progress
4
4
  description: Progress bar component for displaying the status of a task.
5
5
  ---
6
+
7
+ <RenderPreview name={'progress-demo'} />
@@ -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" />