@lunar-kit/core 0.1.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/dist/index.d.ts +5 -0
- package/dist/index.js +14 -0
- package/package.json +31 -0
- package/src/components/ui/accordion.tsx +334 -0
- package/src/components/ui/avatar.tsx +326 -0
- package/src/components/ui/badge.tsx +84 -0
- package/src/components/ui/banner.tsx +151 -0
- package/src/components/ui/bottom-sheet.tsx +579 -0
- package/src/components/ui/button.tsx +142 -0
- package/src/components/ui/calendar.tsx +502 -0
- package/src/components/ui/card.tsx +163 -0
- package/src/components/ui/checkbox.tsx +129 -0
- package/src/components/ui/date-picker.tsx +190 -0
- package/src/components/ui/date-range-picker.tsx +262 -0
- package/src/components/ui/dialog.tsx +204 -0
- package/src/components/ui/form.tsx +139 -0
- package/src/components/ui/input.tsx +107 -0
- package/src/components/ui/radio-group.tsx +123 -0
- package/src/components/ui/radio.tsx +109 -0
- package/src/components/ui/select-sheet.tsx +814 -0
- package/src/components/ui/select.tsx +547 -0
- package/src/components/ui/tabs.tsx +254 -0
- package/src/components/ui/text.tsx +229 -0
- package/src/components/ui/textarea.tsx +77 -0
- package/src/components/v0/accordion.tsx +199 -0
- package/src/components/v1/accordion.tsx +234 -0
- package/src/components/v1/avatar.tsx +259 -0
- package/src/components/v1/bottom-sheet.tsx +1090 -0
- package/src/components/v1/button.tsx +61 -0
- package/src/components/v1/calendar.tsx +498 -0
- package/src/components/v1/card.tsx +86 -0
- package/src/components/v1/checkbox.tsx +46 -0
- package/src/components/v1/date-picker.tsx +135 -0
- package/src/components/v1/date-range-picker.tsx +218 -0
- package/src/components/v1/dialog.tsx +211 -0
- package/src/components/v1/radio-group.tsx +76 -0
- package/src/components/v1/select.tsx +217 -0
- package/src/components/v1/tabs.tsx +253 -0
- package/src/registry/ui/accordion.json +30 -0
- package/src/registry/ui/avatar.json +41 -0
- package/src/registry/ui/badge.json +26 -0
- package/src/registry/ui/banner.json +27 -0
- package/src/registry/ui/bottom-sheet.json +29 -0
- package/src/registry/ui/button.json +24 -0
- package/src/registry/ui/calendar.json +29 -0
- package/src/registry/ui/card.json +25 -0
- package/src/registry/ui/checkbox.json +25 -0
- package/src/registry/ui/date-picker.json +30 -0
- package/src/registry/ui/date-range-picker.json +33 -0
- package/src/registry/ui/dialog.json +25 -0
- package/src/registry/ui/form.json +27 -0
- package/src/registry/ui/input.json +22 -0
- package/src/registry/ui/radio-group.json +26 -0
- package/src/registry/ui/radio.json +23 -0
- package/src/registry/ui/select-sheet.json +29 -0
- package/src/registry/ui/select.json +26 -0
- package/src/registry/ui/tabs.json +29 -0
- package/src/registry/ui/text.json +22 -0
- package/src/registry/ui/textarea.json +24 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "card",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"description": "A card component with header, content, and footer sections",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/src/components/ui/card.tsx",
|
|
8
|
+
"type": "component"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"registryDependencies": [
|
|
13
|
+
"text"
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"description": "A customizable card component with header, content, and footer sections.",
|
|
17
|
+
"features": [
|
|
18
|
+
"Header, content, and footer sections",
|
|
19
|
+
"Customizable padding and margin",
|
|
20
|
+
"Shadow and border radius options",
|
|
21
|
+
"Supports images and media",
|
|
22
|
+
"Lightweight and easy to integrate into existing designs"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "checkbox",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text"
|
|
8
|
+
],
|
|
9
|
+
"files": [
|
|
10
|
+
{
|
|
11
|
+
"path": "components/ui/checkbox.tsx",
|
|
12
|
+
"type": "component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"description": "A customizable checkbox component with label support and disabled state.",
|
|
17
|
+
"features": [
|
|
18
|
+
"Controlled and uncontrolled modes",
|
|
19
|
+
"Optional label component",
|
|
20
|
+
"Disabled state support",
|
|
21
|
+
"Accessible with Pressable",
|
|
22
|
+
"Customizable styling"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "date-picker",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [
|
|
5
|
+
"dayjs"
|
|
6
|
+
],
|
|
7
|
+
"devDependencies": [],
|
|
8
|
+
"registryDependencies": [
|
|
9
|
+
"text",
|
|
10
|
+
"dialog",
|
|
11
|
+
"calendar"
|
|
12
|
+
],
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "/src/components/ui/date-picker.tsx",
|
|
16
|
+
"type": "component"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"meta": {
|
|
20
|
+
"description": "A date picker component with dialog interface. Consumes Calendar component for date selection with three variants: date, month, and year picker.",
|
|
21
|
+
"features": [
|
|
22
|
+
"Three variants: date picker, month picker, year picker",
|
|
23
|
+
"Dialog-based interface",
|
|
24
|
+
"Smart navigation between modes",
|
|
25
|
+
"Min/max date constraints",
|
|
26
|
+
"Custom date format display",
|
|
27
|
+
"Reuses Calendar and Dialog components"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "date-range-picker",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [
|
|
5
|
+
"dayjs"
|
|
6
|
+
],
|
|
7
|
+
"devDependencies": [],
|
|
8
|
+
"registryDependencies": [
|
|
9
|
+
"button",
|
|
10
|
+
"text",
|
|
11
|
+
"dialog",
|
|
12
|
+
"calendar"
|
|
13
|
+
],
|
|
14
|
+
"files": [
|
|
15
|
+
{
|
|
16
|
+
"path": "/src/components/ui/date-range-picker.tsx",
|
|
17
|
+
"type": "component"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"meta": {
|
|
21
|
+
"description": "A date range picker component for selecting start and end dates. Consumes Calendar component in range mode with visual highlighting.",
|
|
22
|
+
"features": [
|
|
23
|
+
"Start and end date selection",
|
|
24
|
+
"Visual range highlighting",
|
|
25
|
+
"Auto swap if end date is before start",
|
|
26
|
+
"Max days constraint",
|
|
27
|
+
"Min/max date constraints",
|
|
28
|
+
"Clear, Cancel, Apply actions",
|
|
29
|
+
"Shows selected range info with day count",
|
|
30
|
+
"Reuses Calendar and Dialog components"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dialog",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"description": "A customizable dialog component",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/src/components/ui/dialog.tsx",
|
|
8
|
+
"type": "component"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"registryDependencies": [
|
|
13
|
+
"text"
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"description": "A customizable dialog component with overlay and content sections.",
|
|
17
|
+
"features": [
|
|
18
|
+
"Overlay and content sections",
|
|
19
|
+
"Customizable size and position",
|
|
20
|
+
"Close on overlay press",
|
|
21
|
+
"Accessible with focus trapping",
|
|
22
|
+
"Lightweight and easy to integrate into existing designs"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "form",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"description": "A customizable form component",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/src/components/ui/form.tsx",
|
|
8
|
+
"type": "component"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [
|
|
12
|
+
"react-hook-form"
|
|
13
|
+
],
|
|
14
|
+
"registryDependencies": [
|
|
15
|
+
"text"
|
|
16
|
+
],
|
|
17
|
+
"meta": {
|
|
18
|
+
"description": "A customizable form component with input fields and validation support.",
|
|
19
|
+
"features": [
|
|
20
|
+
"Input fields with labels",
|
|
21
|
+
"Validation support",
|
|
22
|
+
"Customizable styling",
|
|
23
|
+
"Supports various input types",
|
|
24
|
+
"Lightweight and easy to integrate into existing designs"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "input",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"files": [
|
|
5
|
+
{
|
|
6
|
+
"path": "/src/components/ui/input.tsx",
|
|
7
|
+
"type": "component"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"dependencies": [],
|
|
11
|
+
"registryDependencies": [],
|
|
12
|
+
"meta": {
|
|
13
|
+
"description": "A flexible and theme-aware input component supporting prefixes, suffixes, multiple variants, and error states.",
|
|
14
|
+
"features": [
|
|
15
|
+
"Supports prefix and suffix elements",
|
|
16
|
+
"Multiple variants: outline, filled, underlined",
|
|
17
|
+
"Error state styling",
|
|
18
|
+
"Customizable padding and margin",
|
|
19
|
+
"Lightweight and easy to integrate into existing designs"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "radio-group",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text",
|
|
8
|
+
"radio"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
{
|
|
12
|
+
"path": "components/ui/radio-group.tsx",
|
|
13
|
+
"type": "registry:ui"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"meta": {
|
|
17
|
+
"description": "A radio group component for single selection with context-based state management.",
|
|
18
|
+
"features": [
|
|
19
|
+
"Single selection mode",
|
|
20
|
+
"Context-based value management",
|
|
21
|
+
"Optional label component",
|
|
22
|
+
"Visual selection indicator",
|
|
23
|
+
"Customizable styling"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "radio",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [],
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "components/ui/radio.tsx",
|
|
10
|
+
"type": "component"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"meta": {
|
|
14
|
+
"description": "A radio component for single selection with context-based state management.",
|
|
15
|
+
"features": [
|
|
16
|
+
"Single selection mode",
|
|
17
|
+
"Context-based value management",
|
|
18
|
+
"Optional label component",
|
|
19
|
+
"Visual selection indicator",
|
|
20
|
+
"Customizable styling"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "select-sheet",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text",
|
|
8
|
+
"input"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
{
|
|
12
|
+
"path": "components/ui/select-sheet.tsx",
|
|
13
|
+
"type": "component"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"meta": {
|
|
17
|
+
"description": "A bottom sheet-based select component for React Native, supporting both single and multiple selection modes. Includes search functionality, customizable labels, error handling, loading indicators, and flexible styling options for seamless integration into mobile UIs.",
|
|
18
|
+
"features": [
|
|
19
|
+
"Single and multiple selection modes",
|
|
20
|
+
"Searchable options list",
|
|
21
|
+
"Context-based value management",
|
|
22
|
+
"Optional label and description support",
|
|
23
|
+
"Visual selection indicator",
|
|
24
|
+
"Customizable styling and snap points",
|
|
25
|
+
"Error and loading state handling",
|
|
26
|
+
"Support for async option loading"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "select",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text",
|
|
8
|
+
"dialog"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
{
|
|
12
|
+
"path": "components/ui/select.tsx",
|
|
13
|
+
"type": "component"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"meta": {
|
|
17
|
+
"description": "A versatile select component supporting single and multiple selection modes.",
|
|
18
|
+
"features": [
|
|
19
|
+
"Supports single and multiple selection modes",
|
|
20
|
+
"Customizable option rendering",
|
|
21
|
+
"Keyboard navigation support",
|
|
22
|
+
"Accessible with ARIA attributes",
|
|
23
|
+
"Integrates with Dialog for dropdown display"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tabs",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text"
|
|
8
|
+
],
|
|
9
|
+
"files": [
|
|
10
|
+
{
|
|
11
|
+
"path": "/src/components/ui/tabs.tsx",
|
|
12
|
+
"type": "component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"description": "A set of layered sections of content, known as tab panels, that are displayed one at a time. Supports two variants: pill with sliding background animation and underline with scale animation.",
|
|
17
|
+
"features": [
|
|
18
|
+
"Two variants: pill and underline",
|
|
19
|
+
"Pill variant: animated sliding white background indicator",
|
|
20
|
+
"Underline variant: animated scale underline indicator",
|
|
21
|
+
"Smooth spring animations (tension: 100, friction: 10)",
|
|
22
|
+
"Auto layout measurement for precise positioning",
|
|
23
|
+
"Disabled state support",
|
|
24
|
+
"Horizontal scrolling for many tabs",
|
|
25
|
+
"Context-based state management",
|
|
26
|
+
"Perfect for settings panels, dashboards, and navigation"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "text",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [],
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "/src/components/ui/text.tsx",
|
|
10
|
+
"type": "component"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"meta": {
|
|
14
|
+
"description": "A component for rendering text with various styles and sizes, designed for consistent typography across the application.",
|
|
15
|
+
"features": [
|
|
16
|
+
"Supports multiple text styles and sizes",
|
|
17
|
+
"Customizable font weight and color",
|
|
18
|
+
"Handles text truncation and wrapping",
|
|
19
|
+
"Accessible with proper ARIA roles"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "textarea",
|
|
3
|
+
"type": "registry:ui",
|
|
4
|
+
"dependencies": [],
|
|
5
|
+
"devDependencies": [],
|
|
6
|
+
"registryDependencies": [
|
|
7
|
+
"text"
|
|
8
|
+
],
|
|
9
|
+
"files": [
|
|
10
|
+
{
|
|
11
|
+
"path": "/src/components/ui/textarea.tsx",
|
|
12
|
+
"type": "component"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"meta": {
|
|
16
|
+
"description": "A multi-line text input component for user input, supporting various styles and sizes for consistent typography across the application.",
|
|
17
|
+
"features": [
|
|
18
|
+
"Supports multiple text styles and sizes",
|
|
19
|
+
"Customizable font weight and color",
|
|
20
|
+
"Handles text truncation and wrapping",
|
|
21
|
+
"Accessible with proper ARIA roles"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|