@rimelight/ui 0.0.29 → 0.0.31

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 (156) hide show
  1. package/package.json +1 -1
  2. package/src/components/astro/RLAAlert.astro +60 -0
  3. package/src/components/astro/RLAAlertDialog.astro +86 -0
  4. package/src/components/astro/RLAAspectRatio.astro +23 -0
  5. package/src/components/astro/RLAAvatar.astro +56 -0
  6. package/src/components/astro/RLAAvatarGroup.astro +19 -0
  7. package/src/components/astro/RLABadge.astro +31 -0
  8. package/src/components/astro/RLABreadcrumb.astro +44 -0
  9. package/src/components/astro/RLACard.astro +74 -0
  10. package/src/components/astro/RLACarousel.astro +71 -0
  11. package/src/components/astro/RLAChart.astro +215 -0
  12. package/src/components/astro/RLACheckbox.astro +51 -0
  13. package/src/components/astro/RLACollapsible.astro +38 -0
  14. package/src/components/astro/RLACombobox.astro +131 -0
  15. package/src/components/astro/RLADialog.astro +95 -0
  16. package/src/components/astro/RLADrawer.astro +74 -0
  17. package/src/components/astro/RLADropdownMenu.astro +82 -0
  18. package/src/components/astro/RLADropzone.astro +134 -0
  19. package/src/components/astro/RLAField.astro +43 -0
  20. package/src/components/{Head.astro → astro/RLAHead.astro} +181 -199
  21. package/src/components/astro/RLAHoverCard.astro +31 -0
  22. package/src/components/astro/RLAInput.astro +60 -0
  23. package/src/components/astro/RLAInputGroup.astro +35 -0
  24. package/src/components/astro/RLAKbd.astro +22 -0
  25. package/src/components/astro/RLALabel.astro +23 -0
  26. package/src/components/astro/RLALocaleSelector.astro +110 -0
  27. package/src/components/astro/RLAMain.astro +28 -0
  28. package/src/components/astro/RLAMarquee.astro +32 -0
  29. package/src/components/astro/RLANativeSelect.astro +51 -0
  30. package/src/components/astro/RLANavigationMenu.astro +136 -0
  31. package/src/components/astro/RLAPagination.astro +94 -0
  32. package/src/components/astro/RLAPopover.astro +31 -0
  33. package/src/components/astro/RLAProgress.astro +43 -0
  34. package/src/components/astro/RLAResizable.astro +177 -0
  35. package/src/components/astro/RLAScrollArea.astro +157 -0
  36. package/src/components/astro/RLASection.astro +0 -1
  37. package/src/components/astro/RLASelect.astro +109 -0
  38. package/src/components/astro/RLASeparator.astro +27 -0
  39. package/src/components/astro/RLASheet.astro +72 -0
  40. package/src/components/astro/RLASidebar.astro +135 -0
  41. package/src/components/astro/RLASkeleton.astro +20 -0
  42. package/src/components/astro/RLASlider.astro +53 -0
  43. package/src/components/astro/RLASpinner.astro +25 -0
  44. package/src/components/astro/RLAStickySurface.astro +27 -0
  45. package/src/components/astro/RLASwitch.astro +49 -0
  46. package/src/components/astro/RLATable.astro +60 -0
  47. package/src/components/astro/RLATabs.astro +92 -0
  48. package/src/components/astro/RLATextarea.astro +42 -0
  49. package/src/components/astro/RLAThemeSelector.astro +73 -0
  50. package/src/components/astro/RLAToast.astro +107 -0
  51. package/src/components/astro/RLAToggle.astro +38 -0
  52. package/src/components/astro/RLAToggleGroup.astro +30 -0
  53. package/src/components/astro/RLATooltip.astro +31 -0
  54. package/src/integrations/ui.ts +1 -0
  55. package/src/themes/alert.theme.ts +51 -0
  56. package/src/themes/alertDialog.theme.ts +33 -0
  57. package/src/themes/aspectRatio.theme.ts +11 -0
  58. package/src/themes/avatar.theme.ts +28 -0
  59. package/src/themes/avatarGroup.theme.ts +10 -0
  60. package/src/themes/badge.theme.ts +61 -0
  61. package/src/themes/breadcrumb.theme.ts +15 -0
  62. package/src/themes/card.theme.ts +34 -0
  63. package/src/themes/carousel.theme.ts +32 -0
  64. package/src/themes/chart.theme.ts +21 -0
  65. package/src/themes/checkbox.theme.ts +42 -0
  66. package/src/themes/collapsible.theme.ts +22 -0
  67. package/src/themes/combobox.theme.ts +28 -0
  68. package/src/themes/dialog.theme.ts +37 -0
  69. package/src/themes/drawer.theme.ts +44 -0
  70. package/src/themes/dropdownMenu.theme.ts +27 -0
  71. package/src/themes/dropzone.theme.ts +24 -0
  72. package/src/themes/field.theme.ts +24 -0
  73. package/src/themes/hoverCard.theme.ts +27 -0
  74. package/src/themes/input.theme.ts +36 -0
  75. package/src/themes/inputGroup.theme.ts +23 -0
  76. package/src/themes/kbd.theme.ts +24 -0
  77. package/src/themes/label.theme.ts +20 -0
  78. package/src/themes/localeSelector.theme.ts +50 -0
  79. package/src/themes/main.theme.ts +12 -0
  80. package/src/themes/marquee.theme.ts +27 -0
  81. package/src/themes/nativeSelect.theme.ts +24 -0
  82. package/src/themes/navigationMenu.theme.ts +19 -0
  83. package/src/themes/pagination.theme.ts +26 -0
  84. package/src/themes/popover.theme.ts +28 -0
  85. package/src/themes/progress.theme.ts +26 -0
  86. package/src/themes/resizable.theme.ts +22 -0
  87. package/src/themes/scrollArea.theme.ts +24 -0
  88. package/src/themes/section.theme.ts +1 -2
  89. package/src/themes/select.theme.ts +27 -0
  90. package/src/themes/separator.theme.ts +19 -0
  91. package/src/themes/sheet.theme.ts +43 -0
  92. package/src/themes/sidebar.theme.ts +33 -0
  93. package/src/themes/skeleton.theme.ts +20 -0
  94. package/src/themes/slider.theme.ts +28 -0
  95. package/src/themes/spinner.theme.ts +30 -0
  96. package/src/themes/stickySurface.theme.ts +10 -0
  97. package/src/themes/switch.theme.ts +59 -0
  98. package/src/themes/table.theme.ts +36 -0
  99. package/src/themes/tabs.theme.ts +44 -0
  100. package/src/themes/textarea.theme.ts +26 -0
  101. package/src/themes/themeSelector.theme.ts +16 -0
  102. package/src/themes/toast.theme.ts +25 -0
  103. package/src/themes/toggle.theme.ts +42 -0
  104. package/src/themes/toggleGroup.theme.ts +21 -0
  105. package/src/themes/tooltip.theme.ts +27 -0
  106. package/src/types/components/alert-dialog.ts +35 -0
  107. package/src/types/components/alert.ts +31 -0
  108. package/src/types/components/aspect-ratio.ts +15 -0
  109. package/src/types/components/avatar.ts +47 -0
  110. package/src/types/components/badge.ts +27 -0
  111. package/src/types/components/breadcrumb.ts +24 -0
  112. package/src/types/components/card.ts +31 -0
  113. package/src/types/components/carousel.ts +25 -0
  114. package/src/types/components/chart.ts +38 -0
  115. package/src/types/components/checkbox.ts +35 -0
  116. package/src/types/components/collapsible.ts +31 -0
  117. package/src/types/components/combobox.ts +43 -0
  118. package/src/types/components/dialog.ts +39 -0
  119. package/src/types/components/drawer.ts +31 -0
  120. package/src/types/components/dropdown-menu.ts +42 -0
  121. package/src/types/components/dropzone.ts +39 -0
  122. package/src/types/components/field.ts +31 -0
  123. package/src/types/components/hover-card.ts +19 -0
  124. package/src/types/components/index.ts +51 -3
  125. package/src/types/components/input-group.ts +23 -0
  126. package/src/types/components/input.ts +59 -0
  127. package/src/types/components/kbd.ts +15 -0
  128. package/src/types/components/label.ts +19 -0
  129. package/src/types/components/localeSelector.ts +33 -0
  130. package/src/types/components/main.ts +17 -0
  131. package/src/types/components/marquee.ts +23 -0
  132. package/src/types/components/native-select.ts +39 -0
  133. package/src/types/components/navigation-menu.ts +27 -0
  134. package/src/types/components/pagination.ts +23 -0
  135. package/src/types/components/popover.ts +23 -0
  136. package/src/types/components/progress.ts +27 -0
  137. package/src/types/components/resizable.ts +19 -0
  138. package/src/types/components/scroll-area.ts +23 -0
  139. package/src/types/components/select.ts +43 -0
  140. package/src/types/components/separator.ts +19 -0
  141. package/src/types/components/sheet.ts +31 -0
  142. package/src/types/components/sidebar.ts +36 -0
  143. package/src/types/components/skeleton.ts +15 -0
  144. package/src/types/components/slider.ts +35 -0
  145. package/src/types/components/spinner.ts +19 -0
  146. package/src/types/components/sticky-surface.ts +19 -0
  147. package/src/types/components/switch.ts +35 -0
  148. package/src/types/components/table.ts +31 -0
  149. package/src/types/components/tabs.ts +43 -0
  150. package/src/types/components/textarea.ts +51 -0
  151. package/src/types/components/themeSelector.ts +15 -0
  152. package/src/types/components/toast.ts +35 -0
  153. package/src/types/components/toggle-group.ts +23 -0
  154. package/src/types/components/toggle.ts +27 -0
  155. package/src/types/components/tooltip.ts +23 -0
  156. package/src/components/ThemeToggle.astro +0 -57
@@ -0,0 +1,36 @@
1
+ export interface SidebarItem {
2
+ label: string
3
+ href?: string
4
+ icon?: string
5
+ badge?: string | number
6
+ active?: boolean
7
+ children?: SidebarItem[]
8
+ }
9
+
10
+ export interface SidebarProps {
11
+ /**
12
+ * The navigation links array.
13
+ */
14
+ items?: SidebarItem[]
15
+ /**
16
+ * Side of the page.
17
+ */
18
+ side?: "left" | "right"
19
+ /**
20
+ * Collapsible mode.
21
+ */
22
+ collapsible?: "icon" | "offcanvas" | "none"
23
+ /**
24
+ * Header logo or text.
25
+ */
26
+ logo?: string
27
+ /**
28
+ * UI class override map.
29
+ */
30
+ ui?: any
31
+ /**
32
+ * Root CSS class override.
33
+ */
34
+ class?: any
35
+ [key: string]: unknown
36
+ }
@@ -0,0 +1,15 @@
1
+ export interface SkeletonProps {
2
+ /**
3
+ * The visual rounding variant.
4
+ */
5
+ shape?: "circle" | "rectangle" | "rounded"
6
+ /**
7
+ * UI class override map.
8
+ */
9
+ ui?: any
10
+ /**
11
+ * Root CSS class override.
12
+ */
13
+ class?: any
14
+ [key: string]: unknown
15
+ }
@@ -0,0 +1,35 @@
1
+ export interface SliderProps {
2
+ /**
3
+ * The value of the range input.
4
+ */
5
+ value?: number
6
+ /**
7
+ * Minimum boundary.
8
+ */
9
+ min?: number
10
+ /**
11
+ * Maximum boundary.
12
+ */
13
+ max?: number
14
+ /**
15
+ * Steps size.
16
+ */
17
+ step?: number
18
+ /**
19
+ * Form element input name.
20
+ */
21
+ name?: string
22
+ /**
23
+ * Color theme.
24
+ */
25
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
26
+ /**
27
+ * UI class override map.
28
+ */
29
+ ui?: any
30
+ /**
31
+ * Root CSS class override.
32
+ */
33
+ class?: any
34
+ [key: string]: unknown
35
+ }
@@ -0,0 +1,19 @@
1
+ export interface SpinnerProps {
2
+ /**
3
+ * The size scale of the spinner.
4
+ */
5
+ size?: "xs" | "sm" | "md" | "lg" | "xl"
6
+ /**
7
+ * The color theme.
8
+ */
9
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info" | "current"
10
+ /**
11
+ * UI class override map.
12
+ */
13
+ ui?: any
14
+ /**
15
+ * Root CSS class overrides.
16
+ */
17
+ class?: any
18
+ [key: string]: unknown
19
+ }
@@ -0,0 +1,19 @@
1
+ export interface StickySurfaceProps {
2
+ /**
3
+ * Pixels offset from top when sticky.
4
+ */
5
+ offsetTop?: number
6
+ /**
7
+ * Z-index layer depth.
8
+ */
9
+ zIndex?: number
10
+ /**
11
+ * UI class override map.
12
+ */
13
+ ui?: any
14
+ /**
15
+ * Root CSS class override.
16
+ */
17
+ class?: any
18
+ [key: string]: unknown
19
+ }
@@ -0,0 +1,35 @@
1
+ export interface SwitchProps {
2
+ /**
3
+ * Controlled checked state.
4
+ */
5
+ checked?: boolean
6
+ /**
7
+ * Disabled state.
8
+ */
9
+ disabled?: boolean
10
+ /**
11
+ * Input element name.
12
+ */
13
+ name?: string
14
+ /**
15
+ * Label descriptor.
16
+ */
17
+ label?: string
18
+ /**
19
+ * Size scale.
20
+ */
21
+ size?: "sm" | "md" | "lg"
22
+ /**
23
+ * Color theme.
24
+ */
25
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
26
+ /**
27
+ * UI class override map.
28
+ */
29
+ ui?: any
30
+ /**
31
+ * Root CSS class override.
32
+ */
33
+ class?: any
34
+ [key: string]: unknown
35
+ }
@@ -0,0 +1,31 @@
1
+ export interface TableProps {
2
+ /**
3
+ * Column headers array.
4
+ */
5
+ headers?: Array<string | { label: string; key: string; class?: string }>
6
+ /**
7
+ * Data rows array.
8
+ */
9
+ rows?: Array<Record<string, any> | any[]>
10
+ /**
11
+ * Striped row style.
12
+ */
13
+ striped?: boolean
14
+ /**
15
+ * Hoverable rows state.
16
+ */
17
+ hoverable?: boolean
18
+ /**
19
+ * Bordered cells.
20
+ */
21
+ bordered?: boolean
22
+ /**
23
+ * UI class override map.
24
+ */
25
+ ui?: any
26
+ /**
27
+ * Root CSS class override.
28
+ */
29
+ class?: any
30
+ [key: string]: unknown
31
+ }
@@ -0,0 +1,43 @@
1
+ export interface TabItem {
2
+ label: string
3
+ value: string
4
+ icon?: string
5
+ content?: string
6
+ disabled?: boolean
7
+ }
8
+
9
+ export interface TabsProps {
10
+ /**
11
+ * The tab items.
12
+ */
13
+ items?: TabItem[]
14
+ /**
15
+ * Active tab value.
16
+ */
17
+ value?: string
18
+ /**
19
+ * Tab variant.
20
+ */
21
+ variant?: "solid" | "underline" | "pills"
22
+ /**
23
+ * Layout orientation.
24
+ */
25
+ orientation?: "horizontal" | "vertical"
26
+ /**
27
+ * Size scale.
28
+ */
29
+ size?: "sm" | "md" | "lg"
30
+ /**
31
+ * Color theme.
32
+ */
33
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
34
+ /**
35
+ * UI class override map.
36
+ */
37
+ ui?: any
38
+ /**
39
+ * Root CSS class override.
40
+ */
41
+ class?: any
42
+ [key: string]: unknown
43
+ }
@@ -0,0 +1,51 @@
1
+ export interface TextareaProps {
2
+ /**
3
+ * The text value.
4
+ */
5
+ value?: string
6
+ /**
7
+ * Placeholder text.
8
+ */
9
+ placeholder?: string
10
+ /**
11
+ * Disabled state.
12
+ */
13
+ disabled?: boolean
14
+ /**
15
+ * Readonly state.
16
+ */
17
+ readonly?: boolean
18
+ /**
19
+ * Name for forms.
20
+ */
21
+ name?: string
22
+ /**
23
+ * Required field state.
24
+ */
25
+ required?: boolean
26
+ /**
27
+ * Row count.
28
+ */
29
+ rows?: number
30
+ /**
31
+ * Error state.
32
+ */
33
+ error?: boolean | string
34
+ /**
35
+ * Size scale.
36
+ */
37
+ size?: "sm" | "md" | "lg"
38
+ /**
39
+ * Color theme.
40
+ */
41
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
42
+ /**
43
+ * UI class override map.
44
+ */
45
+ ui?: any
46
+ /**
47
+ * Root CSS class override.
48
+ */
49
+ class?: any
50
+ [key: string]: unknown
51
+ }
@@ -0,0 +1,15 @@
1
+ export interface ThemeSelectorProps {
2
+ /**
3
+ * The size of the button.
4
+ */
5
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
6
+ /**
7
+ * Slot-specific CSS class overrides.
8
+ */
9
+ ui?: any
10
+ /**
11
+ * Additional CSS classes to apply to the root component.
12
+ */
13
+ class?: any
14
+ [key: string]: unknown
15
+ }
@@ -0,0 +1,35 @@
1
+ export interface ToastProps {
2
+ /**
3
+ * Main toast title.
4
+ */
5
+ title?: string
6
+ /**
7
+ * Description or message.
8
+ */
9
+ description?: string
10
+ /**
11
+ * Visual variant.
12
+ */
13
+ variant?: "default" | "destructive" | "success" | "warning" | "info"
14
+ /**
15
+ * Action button label.
16
+ */
17
+ actionLabel?: string
18
+ /**
19
+ * Duration in ms.
20
+ */
21
+ duration?: number
22
+ /**
23
+ * Color theme.
24
+ */
25
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
26
+ /**
27
+ * UI class override map.
28
+ */
29
+ ui?: any
30
+ /**
31
+ * Root CSS class override.
32
+ */
33
+ class?: any
34
+ [key: string]: unknown
35
+ }
@@ -0,0 +1,23 @@
1
+ export interface ToggleGroupProps {
2
+ /**
3
+ * The active selection items array.
4
+ */
5
+ value?: string[]
6
+ /**
7
+ * Allows single or multiple selections.
8
+ */
9
+ type?: "single" | "multiple"
10
+ /**
11
+ * Size scale.
12
+ */
13
+ size?: "sm" | "md" | "lg"
14
+ /**
15
+ * UI class override map.
16
+ */
17
+ ui?: any
18
+ /**
19
+ * Root CSS class override.
20
+ */
21
+ class?: any
22
+ [key: string]: unknown
23
+ }
@@ -0,0 +1,27 @@
1
+ export interface ToggleProps {
2
+ /**
3
+ * Controlled active state.
4
+ */
5
+ active?: boolean
6
+ /**
7
+ * Disabled state.
8
+ */
9
+ disabled?: boolean
10
+ /**
11
+ * Size scale.
12
+ */
13
+ size?: "sm" | "md" | "lg"
14
+ /**
15
+ * Color theme.
16
+ */
17
+ color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
18
+ /**
19
+ * UI class override map.
20
+ */
21
+ ui?: any
22
+ /**
23
+ * Root CSS class override.
24
+ */
25
+ class?: any
26
+ [key: string]: unknown
27
+ }
@@ -0,0 +1,23 @@
1
+ export interface TooltipProps {
2
+ /**
3
+ * The text content to display inside the tooltip.
4
+ */
5
+ content?: string
6
+ /**
7
+ * Controlled open state.
8
+ */
9
+ open?: boolean
10
+ /**
11
+ * Placement of the tooltip relative to the trigger.
12
+ */
13
+ placement?: "top" | "bottom" | "left" | "right"
14
+ /**
15
+ * Custom UI overrides.
16
+ */
17
+ ui?: any
18
+ /**
19
+ * Root CSS class override.
20
+ */
21
+ class?: any
22
+ [key: string]: unknown
23
+ }
@@ -1,57 +0,0 @@
1
- ---
2
- import RLAButton from "./astro/RLAButton.astro";
3
-
4
- export interface ThemeToggleProps {
5
- size?: "sm" | "md" | "lg";
6
- class?: any;
7
- }
8
-
9
- type Props = ThemeToggleProps;
10
-
11
- const { size = "md", class: className } = Astro.props as Props
12
- ---
13
-
14
- <RLAButton
15
- size={size}
16
- class:list={[
17
- "theme-toggle-button",
18
- "group text-muted-foreground hover:text-foreground rounded-full hover:bg-transparent",
19
- className,
20
- ]}
21
- variant="ghost"
22
- aria-label="Toggle theme"
23
- >
24
- <span class="sun-wrapper block dark:hidden i-lucide-sun" />
25
- <span class="moon-wrapper hidden dark:block i-lucide-moon" />
26
- </RLAButton>
27
-
28
- <script>
29
- function setupThemeToggle() {
30
- const buttons = document.querySelectorAll('.theme-toggle-button');
31
-
32
- const updateButtons = (isDark: boolean) => {
33
- buttons.forEach(btn => {
34
- btn.setAttribute('data-state', isDark ? 'on' : 'off');
35
- btn.setAttribute('aria-pressed', isDark.toString());
36
- });
37
- };
38
-
39
- // Set initial state
40
- const currentIsDark = document.documentElement.classList.contains('dark');
41
- updateButtons(currentIsDark);
42
-
43
- buttons.forEach(button => {
44
- button.addEventListener('click', () => {
45
- const isDark = document.documentElement.classList.toggle('dark');
46
- localStorage.setItem('theme', isDark ? 'dark' : 'light');
47
- updateButtons(isDark);
48
- });
49
- });
50
- }
51
-
52
- // Initial setup
53
- setupThemeToggle();
54
- // Re-run on View Transitions
55
- document.addEventListener('astro:page-load', setupThemeToggle);
56
- </script>
57
-