@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.
- package/package.json +1 -1
- package/src/components/astro/RLAAlert.astro +60 -0
- package/src/components/astro/RLAAlertDialog.astro +86 -0
- package/src/components/astro/RLAAspectRatio.astro +23 -0
- package/src/components/astro/RLAAvatar.astro +56 -0
- package/src/components/astro/RLAAvatarGroup.astro +19 -0
- package/src/components/astro/RLABadge.astro +31 -0
- package/src/components/astro/RLABreadcrumb.astro +44 -0
- package/src/components/astro/RLACard.astro +74 -0
- package/src/components/astro/RLACarousel.astro +71 -0
- package/src/components/astro/RLAChart.astro +215 -0
- package/src/components/astro/RLACheckbox.astro +51 -0
- package/src/components/astro/RLACollapsible.astro +38 -0
- package/src/components/astro/RLACombobox.astro +131 -0
- package/src/components/astro/RLADialog.astro +95 -0
- package/src/components/astro/RLADrawer.astro +74 -0
- package/src/components/astro/RLADropdownMenu.astro +82 -0
- package/src/components/astro/RLADropzone.astro +134 -0
- package/src/components/astro/RLAField.astro +43 -0
- package/src/components/{Head.astro → astro/RLAHead.astro} +181 -199
- package/src/components/astro/RLAHoverCard.astro +31 -0
- package/src/components/astro/RLAInput.astro +60 -0
- package/src/components/astro/RLAInputGroup.astro +35 -0
- package/src/components/astro/RLAKbd.astro +22 -0
- package/src/components/astro/RLALabel.astro +23 -0
- package/src/components/astro/RLALocaleSelector.astro +110 -0
- package/src/components/astro/RLAMain.astro +28 -0
- package/src/components/astro/RLAMarquee.astro +32 -0
- package/src/components/astro/RLANativeSelect.astro +51 -0
- package/src/components/astro/RLANavigationMenu.astro +136 -0
- package/src/components/astro/RLAPagination.astro +94 -0
- package/src/components/astro/RLAPopover.astro +31 -0
- package/src/components/astro/RLAProgress.astro +43 -0
- package/src/components/astro/RLAResizable.astro +177 -0
- package/src/components/astro/RLAScrollArea.astro +157 -0
- package/src/components/astro/RLASection.astro +0 -1
- package/src/components/astro/RLASelect.astro +109 -0
- package/src/components/astro/RLASeparator.astro +27 -0
- package/src/components/astro/RLASheet.astro +72 -0
- package/src/components/astro/RLASidebar.astro +135 -0
- package/src/components/astro/RLASkeleton.astro +20 -0
- package/src/components/astro/RLASlider.astro +53 -0
- package/src/components/astro/RLASpinner.astro +25 -0
- package/src/components/astro/RLAStickySurface.astro +27 -0
- package/src/components/astro/RLASwitch.astro +49 -0
- package/src/components/astro/RLATable.astro +60 -0
- package/src/components/astro/RLATabs.astro +92 -0
- package/src/components/astro/RLATextarea.astro +42 -0
- package/src/components/astro/RLAThemeSelector.astro +73 -0
- package/src/components/astro/RLAToast.astro +107 -0
- package/src/components/astro/RLAToggle.astro +38 -0
- package/src/components/astro/RLAToggleGroup.astro +30 -0
- package/src/components/astro/RLATooltip.astro +31 -0
- package/src/integrations/ui.ts +1 -0
- package/src/themes/alert.theme.ts +51 -0
- package/src/themes/alertDialog.theme.ts +33 -0
- package/src/themes/aspectRatio.theme.ts +11 -0
- package/src/themes/avatar.theme.ts +28 -0
- package/src/themes/avatarGroup.theme.ts +10 -0
- package/src/themes/badge.theme.ts +61 -0
- package/src/themes/breadcrumb.theme.ts +15 -0
- package/src/themes/card.theme.ts +34 -0
- package/src/themes/carousel.theme.ts +32 -0
- package/src/themes/chart.theme.ts +21 -0
- package/src/themes/checkbox.theme.ts +42 -0
- package/src/themes/collapsible.theme.ts +22 -0
- package/src/themes/combobox.theme.ts +28 -0
- package/src/themes/dialog.theme.ts +37 -0
- package/src/themes/drawer.theme.ts +44 -0
- package/src/themes/dropdownMenu.theme.ts +27 -0
- package/src/themes/dropzone.theme.ts +24 -0
- package/src/themes/field.theme.ts +24 -0
- package/src/themes/hoverCard.theme.ts +27 -0
- package/src/themes/input.theme.ts +36 -0
- package/src/themes/inputGroup.theme.ts +23 -0
- package/src/themes/kbd.theme.ts +24 -0
- package/src/themes/label.theme.ts +20 -0
- package/src/themes/localeSelector.theme.ts +50 -0
- package/src/themes/main.theme.ts +12 -0
- package/src/themes/marquee.theme.ts +27 -0
- package/src/themes/nativeSelect.theme.ts +24 -0
- package/src/themes/navigationMenu.theme.ts +19 -0
- package/src/themes/pagination.theme.ts +26 -0
- package/src/themes/popover.theme.ts +28 -0
- package/src/themes/progress.theme.ts +26 -0
- package/src/themes/resizable.theme.ts +22 -0
- package/src/themes/scrollArea.theme.ts +24 -0
- package/src/themes/section.theme.ts +1 -2
- package/src/themes/select.theme.ts +27 -0
- package/src/themes/separator.theme.ts +19 -0
- package/src/themes/sheet.theme.ts +43 -0
- package/src/themes/sidebar.theme.ts +33 -0
- package/src/themes/skeleton.theme.ts +20 -0
- package/src/themes/slider.theme.ts +28 -0
- package/src/themes/spinner.theme.ts +30 -0
- package/src/themes/stickySurface.theme.ts +10 -0
- package/src/themes/switch.theme.ts +59 -0
- package/src/themes/table.theme.ts +36 -0
- package/src/themes/tabs.theme.ts +44 -0
- package/src/themes/textarea.theme.ts +26 -0
- package/src/themes/themeSelector.theme.ts +16 -0
- package/src/themes/toast.theme.ts +25 -0
- package/src/themes/toggle.theme.ts +42 -0
- package/src/themes/toggleGroup.theme.ts +21 -0
- package/src/themes/tooltip.theme.ts +27 -0
- package/src/types/components/alert-dialog.ts +35 -0
- package/src/types/components/alert.ts +31 -0
- package/src/types/components/aspect-ratio.ts +15 -0
- package/src/types/components/avatar.ts +47 -0
- package/src/types/components/badge.ts +27 -0
- package/src/types/components/breadcrumb.ts +24 -0
- package/src/types/components/card.ts +31 -0
- package/src/types/components/carousel.ts +25 -0
- package/src/types/components/chart.ts +38 -0
- package/src/types/components/checkbox.ts +35 -0
- package/src/types/components/collapsible.ts +31 -0
- package/src/types/components/combobox.ts +43 -0
- package/src/types/components/dialog.ts +39 -0
- package/src/types/components/drawer.ts +31 -0
- package/src/types/components/dropdown-menu.ts +42 -0
- package/src/types/components/dropzone.ts +39 -0
- package/src/types/components/field.ts +31 -0
- package/src/types/components/hover-card.ts +19 -0
- package/src/types/components/index.ts +51 -3
- package/src/types/components/input-group.ts +23 -0
- package/src/types/components/input.ts +59 -0
- package/src/types/components/kbd.ts +15 -0
- package/src/types/components/label.ts +19 -0
- package/src/types/components/localeSelector.ts +33 -0
- package/src/types/components/main.ts +17 -0
- package/src/types/components/marquee.ts +23 -0
- package/src/types/components/native-select.ts +39 -0
- package/src/types/components/navigation-menu.ts +27 -0
- package/src/types/components/pagination.ts +23 -0
- package/src/types/components/popover.ts +23 -0
- package/src/types/components/progress.ts +27 -0
- package/src/types/components/resizable.ts +19 -0
- package/src/types/components/scroll-area.ts +23 -0
- package/src/types/components/select.ts +43 -0
- package/src/types/components/separator.ts +19 -0
- package/src/types/components/sheet.ts +31 -0
- package/src/types/components/sidebar.ts +36 -0
- package/src/types/components/skeleton.ts +15 -0
- package/src/types/components/slider.ts +35 -0
- package/src/types/components/spinner.ts +19 -0
- package/src/types/components/sticky-surface.ts +19 -0
- package/src/types/components/switch.ts +35 -0
- package/src/types/components/table.ts +31 -0
- package/src/types/components/tabs.ts +43 -0
- package/src/types/components/textarea.ts +51 -0
- package/src/types/components/themeSelector.ts +15 -0
- package/src/types/components/toast.ts +35 -0
- package/src/types/components/toggle-group.ts +23 -0
- package/src/types/components/toggle.ts +27 -0
- package/src/types/components/tooltip.ts +23 -0
- package/src/components/ThemeToggle.astro +0 -57
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createTabsTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "list", "trigger", "content"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "w-full flex flex-col gap-4",
|
|
8
|
+
list: "inline-flex items-center justify-start rounded-md bg-muted p-1 text-muted-foreground",
|
|
9
|
+
trigger: "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:text-foreground cursor-pointer",
|
|
10
|
+
content: "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
solid: {
|
|
15
|
+
list: "bg-muted p-1 rounded-lg",
|
|
16
|
+
trigger: "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm"
|
|
17
|
+
},
|
|
18
|
+
underline: {
|
|
19
|
+
list: "bg-transparent border-b border-border rounded-none p-0 gap-4",
|
|
20
|
+
trigger: "rounded-none border-b-2 border-transparent px-1 pb-3 pt-2 data-[state=active]:border-primary data-[state=active]:text-foreground hover:border-muted-foreground/30"
|
|
21
|
+
},
|
|
22
|
+
pills: {
|
|
23
|
+
list: "bg-transparent p-0 gap-2",
|
|
24
|
+
trigger: "rounded-full px-4 py-1.5 data-[state=active]:bg-primary data-[state=active]:text-white"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
orientation: {
|
|
28
|
+
horizontal: { root: "flex-col", list: "w-full" },
|
|
29
|
+
vertical: { root: "flex-row gap-6", list: "flex-col items-stretch h-full w-48 border-r border-border rounded-none bg-transparent" }
|
|
30
|
+
},
|
|
31
|
+
size: {
|
|
32
|
+
sm: { trigger: "text-xs px-2.5 py-1" },
|
|
33
|
+
md: { trigger: "text-sm px-3.5 py-1.5" },
|
|
34
|
+
lg: { trigger: "text-base px-4.5 py-2" }
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
variant: "solid",
|
|
39
|
+
orientation: "horizontal",
|
|
40
|
+
size: "md"
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
export default createTabsTheme()
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createTextareaTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "textarea"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "relative flex items-center w-full rounded-md border border-input bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
|
|
8
|
+
textarea: "w-full bg-transparent px-3 py-2 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 min-h-[80px]"
|
|
9
|
+
},
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
sm: { textarea: "py-1.5 text-xs min-h-[60px]" },
|
|
13
|
+
md: { textarea: "py-2 text-sm min-h-[80px]" },
|
|
14
|
+
lg: { textarea: "py-2.5 text-base min-h-[100px]" }
|
|
15
|
+
},
|
|
16
|
+
error: {
|
|
17
|
+
true: { root: "border-error-500 focus-within:ring-error-500/50" }
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md",
|
|
22
|
+
error: false
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
export default createTextareaTheme()
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export default defineTheme({
|
|
4
|
+
slots: [
|
|
5
|
+
"root",
|
|
6
|
+
"sun",
|
|
7
|
+
"moon"
|
|
8
|
+
],
|
|
9
|
+
base: {
|
|
10
|
+
root: "group rounded-full hover:bg-neutral-900/50 transition-colors inline-flex items-center justify-center text-neutral-400 hover:text-white cursor-pointer",
|
|
11
|
+
sun: "hidden dark:block i-lucide-sun w-5 h-5 text-current",
|
|
12
|
+
moon: "dark:hidden i-lucide-moon w-5 h-5 text-current"
|
|
13
|
+
},
|
|
14
|
+
variants: {},
|
|
15
|
+
defaultVariants: {}
|
|
16
|
+
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createToastTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "title", "description", "action", "close"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all border-border bg-background text-foreground",
|
|
8
|
+
title: "text-sm font-semibold",
|
|
9
|
+
description: "text-xs opacity-90",
|
|
10
|
+
action: "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
|
|
11
|
+
close: "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100"
|
|
12
|
+
},
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: { root: "bg-background border-border" },
|
|
16
|
+
destructive: { root: "destructive group border-error-500/20 bg-error-500/10 text-error-700 dark:text-error-400" },
|
|
17
|
+
success: { root: "border-success-500/20 bg-success-500/10 text-success-700 dark:text-success-400" }
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
variant: "default"
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
export default createToastTheme()
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
const defaultColors = ["primary", "secondary", "info", "success", "warning", "error"]
|
|
4
|
+
|
|
5
|
+
export const createToggleTheme = (colors: string[] = defaultColors) =>
|
|
6
|
+
defineTheme({
|
|
7
|
+
slots: ["root"],
|
|
8
|
+
base: {
|
|
9
|
+
root: [
|
|
10
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-all duration-150 border border-transparent bg-transparent hover:bg-muted text-foreground cursor-pointer select-none",
|
|
11
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
variants: {
|
|
15
|
+
size: {
|
|
16
|
+
sm: { root: "h-8 px-2 text-xs" },
|
|
17
|
+
md: { root: "h-9 px-3 text-sm" },
|
|
18
|
+
lg: { root: "h-10 px-4 text-base" }
|
|
19
|
+
},
|
|
20
|
+
color: Object.fromEntries(colors.map((color) => [color, { root: "" }])),
|
|
21
|
+
active: {
|
|
22
|
+
true: { root: "bg-muted text-foreground border-border" },
|
|
23
|
+
false: { root: "" }
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
compoundVariants: [
|
|
27
|
+
...colors.map((color) => ({
|
|
28
|
+
active: true as const,
|
|
29
|
+
color,
|
|
30
|
+
classNames: {
|
|
31
|
+
root: `bg-${color}-500/10 text-${color}-600 border-${color}-500/20 hover:bg-${color}-500/20`
|
|
32
|
+
}
|
|
33
|
+
}))
|
|
34
|
+
],
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
size: "md",
|
|
37
|
+
color: "primary",
|
|
38
|
+
active: false
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
export default createToggleTheme()
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createToggleGroupTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "inline-flex items-center justify-center gap-1 rounded-md border border-border bg-muted p-1"
|
|
8
|
+
},
|
|
9
|
+
variants: {
|
|
10
|
+
size: {
|
|
11
|
+
sm: { root: "h-8 gap-0.5" },
|
|
12
|
+
md: { root: "h-9 gap-1" },
|
|
13
|
+
lg: { root: "h-10 gap-1.5" }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
size: "md"
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export default createToggleGroupTheme()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const tooltipTheme = defineTheme({
|
|
4
|
+
slots: ["root", "trigger", "content"],
|
|
5
|
+
base: {
|
|
6
|
+
root: "relative inline-block group/tooltip",
|
|
7
|
+
trigger: "",
|
|
8
|
+
content: [
|
|
9
|
+
"absolute z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-md animate-in fade-in-0 zoom-in-95",
|
|
10
|
+
"transition-all duration-150 invisible opacity-0 scale-95 origin-center pointer-events-none",
|
|
11
|
+
"group-hover/tooltip:visible group-hover/tooltip:opacity-100 group-hover/tooltip:scale-100"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
variants: {
|
|
15
|
+
placement: {
|
|
16
|
+
top: { content: "bottom-full left-1/2 -translate-x-1/2 mb-1.5" },
|
|
17
|
+
bottom: { content: "top-full left-1/2 -translate-x-1/2 mt-1.5" },
|
|
18
|
+
left: { content: "right-full top-1/2 -translate-y-1/2 mr-1.5" },
|
|
19
|
+
right: { content: "left-full top-1/2 -translate-y-1/2 ml-1.5" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
placement: "top"
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
export default tooltipTheme
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface AlertDialogProps {
|
|
2
|
+
/**
|
|
3
|
+
* Title of the alert confirmation dialog.
|
|
4
|
+
*/
|
|
5
|
+
title?: string
|
|
6
|
+
/**
|
|
7
|
+
* Explanatory description.
|
|
8
|
+
*/
|
|
9
|
+
description?: string
|
|
10
|
+
/**
|
|
11
|
+
* Label for the confirmation action button.
|
|
12
|
+
*/
|
|
13
|
+
actionLabel?: string
|
|
14
|
+
/**
|
|
15
|
+
* Label for the cancellation/close button.
|
|
16
|
+
*/
|
|
17
|
+
cancelLabel?: string
|
|
18
|
+
/**
|
|
19
|
+
* Trigger label to automatically open the dialog.
|
|
20
|
+
*/
|
|
21
|
+
triggerLabel?: string
|
|
22
|
+
/**
|
|
23
|
+
* Controlled open state.
|
|
24
|
+
*/
|
|
25
|
+
open?: boolean
|
|
26
|
+
/**
|
|
27
|
+
* Slot-specific CSS class overrides.
|
|
28
|
+
*/
|
|
29
|
+
ui?: any
|
|
30
|
+
/**
|
|
31
|
+
* Additional CSS classes to apply to the root.
|
|
32
|
+
*/
|
|
33
|
+
class?: any
|
|
34
|
+
[key: string]: unknown
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface AlertProps {
|
|
2
|
+
/**
|
|
3
|
+
* The visual variant of the alert.
|
|
4
|
+
*/
|
|
5
|
+
variant?: "default" | "destructive" | "outline" | "solid"
|
|
6
|
+
/**
|
|
7
|
+
* The color scheme of the alert.
|
|
8
|
+
*/
|
|
9
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
10
|
+
/**
|
|
11
|
+
* The main title text of the alert.
|
|
12
|
+
*/
|
|
13
|
+
title?: string
|
|
14
|
+
/**
|
|
15
|
+
* The secondary description text of the alert.
|
|
16
|
+
*/
|
|
17
|
+
description?: string
|
|
18
|
+
/**
|
|
19
|
+
* An optional leading icon.
|
|
20
|
+
*/
|
|
21
|
+
icon?: string
|
|
22
|
+
/**
|
|
23
|
+
* Slot-specific CSS class overrides.
|
|
24
|
+
*/
|
|
25
|
+
ui?: any
|
|
26
|
+
/**
|
|
27
|
+
* Additional CSS classes to apply to the root component.
|
|
28
|
+
*/
|
|
29
|
+
class?: any
|
|
30
|
+
[key: string]: unknown
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AspectRatioProps {
|
|
2
|
+
/**
|
|
3
|
+
* The aspect ratio fraction/decimal (e.g. 16/9, 4/3, 1).
|
|
4
|
+
*/
|
|
5
|
+
ratio?: number
|
|
6
|
+
/**
|
|
7
|
+
* UI class override map.
|
|
8
|
+
*/
|
|
9
|
+
ui?: any
|
|
10
|
+
/**
|
|
11
|
+
* Root CSS class overrides.
|
|
12
|
+
*/
|
|
13
|
+
class?: any
|
|
14
|
+
[key: string]: unknown
|
|
15
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface AvatarProps {
|
|
2
|
+
/**
|
|
3
|
+
* The source URL of the avatar image.
|
|
4
|
+
*/
|
|
5
|
+
src?: string
|
|
6
|
+
/**
|
|
7
|
+
* Alt description for screen readers.
|
|
8
|
+
*/
|
|
9
|
+
alt?: string
|
|
10
|
+
/**
|
|
11
|
+
* Two-letter fallback initials when src fails to load.
|
|
12
|
+
*/
|
|
13
|
+
fallback?: string
|
|
14
|
+
/**
|
|
15
|
+
* The avatar dimensions scale.
|
|
16
|
+
*/
|
|
17
|
+
size?: "sm" | "md" | "lg"
|
|
18
|
+
/**
|
|
19
|
+
* Displays a status badge circle on the avatar.
|
|
20
|
+
*/
|
|
21
|
+
badge?: boolean
|
|
22
|
+
/**
|
|
23
|
+
* The color of the status badge.
|
|
24
|
+
*/
|
|
25
|
+
badgeColor?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
26
|
+
/**
|
|
27
|
+
* UI style slot mapping overrides.
|
|
28
|
+
*/
|
|
29
|
+
ui?: any
|
|
30
|
+
/**
|
|
31
|
+
* Custom CSS root class.
|
|
32
|
+
*/
|
|
33
|
+
class?: any
|
|
34
|
+
[key: string]: unknown
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface AvatarGroupProps {
|
|
38
|
+
/**
|
|
39
|
+
* UI class overrides.
|
|
40
|
+
*/
|
|
41
|
+
ui?: any
|
|
42
|
+
/**
|
|
43
|
+
* Root CSS class override.
|
|
44
|
+
*/
|
|
45
|
+
class?: any
|
|
46
|
+
[key: string]: unknown
|
|
47
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface BadgeProps {
|
|
2
|
+
/**
|
|
3
|
+
* Visual style variant.
|
|
4
|
+
*/
|
|
5
|
+
variant?: "solid" | "outline" | "soft" | "ghost"
|
|
6
|
+
/**
|
|
7
|
+
* Color scheme applied.
|
|
8
|
+
*/
|
|
9
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
10
|
+
/**
|
|
11
|
+
* The size scale of the badge.
|
|
12
|
+
*/
|
|
13
|
+
size?: "sm" | "md" | "lg"
|
|
14
|
+
/**
|
|
15
|
+
* The shape corner rounding.
|
|
16
|
+
*/
|
|
17
|
+
shape?: "square" | "rounded" | "pill"
|
|
18
|
+
/**
|
|
19
|
+
* Custom UI overrides.
|
|
20
|
+
*/
|
|
21
|
+
ui?: any
|
|
22
|
+
/**
|
|
23
|
+
* Root CSS class name.
|
|
24
|
+
*/
|
|
25
|
+
class?: any
|
|
26
|
+
[key: string]: unknown
|
|
27
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface BreadcrumbItem {
|
|
2
|
+
label: string
|
|
3
|
+
href?: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface BreadcrumbProps {
|
|
7
|
+
/**
|
|
8
|
+
* Quick-prop array to render breadcrumb items automatically.
|
|
9
|
+
*/
|
|
10
|
+
items?: BreadcrumbItem[]
|
|
11
|
+
/**
|
|
12
|
+
* The icon separating the breadcrumbs.
|
|
13
|
+
*/
|
|
14
|
+
separatorIcon?: string
|
|
15
|
+
/**
|
|
16
|
+
* UI style slot overrides.
|
|
17
|
+
*/
|
|
18
|
+
ui?: any
|
|
19
|
+
/**
|
|
20
|
+
* Root CSS class override.
|
|
21
|
+
*/
|
|
22
|
+
class?: any
|
|
23
|
+
[key: string]: unknown
|
|
24
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface CardProps {
|
|
2
|
+
/**
|
|
3
|
+
* Card heading title.
|
|
4
|
+
*/
|
|
5
|
+
title?: string
|
|
6
|
+
/**
|
|
7
|
+
* Subtitle description text.
|
|
8
|
+
*/
|
|
9
|
+
description?: string
|
|
10
|
+
/**
|
|
11
|
+
* Media source (e.g. image url) displayed at top.
|
|
12
|
+
*/
|
|
13
|
+
mediaSrc?: string
|
|
14
|
+
/**
|
|
15
|
+
* Link reference makes the entire card interactive.
|
|
16
|
+
*/
|
|
17
|
+
href?: string
|
|
18
|
+
/**
|
|
19
|
+
* Glassmorphism or overlay style.
|
|
20
|
+
*/
|
|
21
|
+
overlay?: boolean
|
|
22
|
+
/**
|
|
23
|
+
* UI mapping override.
|
|
24
|
+
*/
|
|
25
|
+
ui?: any
|
|
26
|
+
/**
|
|
27
|
+
* Root CSS class override.
|
|
28
|
+
*/
|
|
29
|
+
class?: any
|
|
30
|
+
[key: string]: unknown
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface CarouselSlide {
|
|
2
|
+
imageSrc?: string
|
|
3
|
+
title?: string
|
|
4
|
+
description?: string
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface CarouselProps {
|
|
8
|
+
/**
|
|
9
|
+
* The list of slide items to render.
|
|
10
|
+
*/
|
|
11
|
+
slides?: CarouselSlide[]
|
|
12
|
+
/**
|
|
13
|
+
* Controlled autoplay.
|
|
14
|
+
*/
|
|
15
|
+
autoplay?: boolean
|
|
16
|
+
/**
|
|
17
|
+
* UI class override map.
|
|
18
|
+
*/
|
|
19
|
+
ui?: any
|
|
20
|
+
/**
|
|
21
|
+
* Root CSS class override.
|
|
22
|
+
*/
|
|
23
|
+
class?: any
|
|
24
|
+
[key: string]: unknown
|
|
25
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface ChartDataPoint {
|
|
2
|
+
label: string
|
|
3
|
+
value: number
|
|
4
|
+
color?: string
|
|
5
|
+
[key: string]: any
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Type of chart.
|
|
11
|
+
*/
|
|
12
|
+
type?: "bar" | "line" | "pie" | "area" | "donut"
|
|
13
|
+
/**
|
|
14
|
+
* Data points array.
|
|
15
|
+
*/
|
|
16
|
+
data?: ChartDataPoint[]
|
|
17
|
+
/**
|
|
18
|
+
* Title of the chart.
|
|
19
|
+
*/
|
|
20
|
+
title?: string
|
|
21
|
+
/**
|
|
22
|
+
* Height of the chart in pixels.
|
|
23
|
+
*/
|
|
24
|
+
height?: number
|
|
25
|
+
/**
|
|
26
|
+
* Color theme.
|
|
27
|
+
*/
|
|
28
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
29
|
+
/**
|
|
30
|
+
* UI class override map.
|
|
31
|
+
*/
|
|
32
|
+
ui?: any
|
|
33
|
+
/**
|
|
34
|
+
* Root CSS class override.
|
|
35
|
+
*/
|
|
36
|
+
class?: any
|
|
37
|
+
[key: string]: unknown
|
|
38
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface CheckboxProps {
|
|
2
|
+
/**
|
|
3
|
+
* Controlled checked state.
|
|
4
|
+
*/
|
|
5
|
+
checked?: boolean
|
|
6
|
+
/**
|
|
7
|
+
* Disabled input interaction state.
|
|
8
|
+
*/
|
|
9
|
+
disabled?: boolean
|
|
10
|
+
/**
|
|
11
|
+
* Input name for forms.
|
|
12
|
+
*/
|
|
13
|
+
name?: string
|
|
14
|
+
/**
|
|
15
|
+
* Form label.
|
|
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 CollapsibleProps {
|
|
2
|
+
/**
|
|
3
|
+
* Controlled open state.
|
|
4
|
+
*/
|
|
5
|
+
open?: boolean
|
|
6
|
+
/**
|
|
7
|
+
* The trigger button label (or use 'trigger' slot)
|
|
8
|
+
*/
|
|
9
|
+
label?: string
|
|
10
|
+
/**
|
|
11
|
+
* An optional leading icon for the trigger button
|
|
12
|
+
*/
|
|
13
|
+
icon?: string
|
|
14
|
+
/**
|
|
15
|
+
* Size scale of the trigger.
|
|
16
|
+
*/
|
|
17
|
+
size?: "sm" | "md" | "lg"
|
|
18
|
+
/**
|
|
19
|
+
* Color theme of the trigger.
|
|
20
|
+
*/
|
|
21
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
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 ComboboxProps {
|
|
2
|
+
/**
|
|
3
|
+
* The list of items in the combobox.
|
|
4
|
+
*/
|
|
5
|
+
items?: Array<{ label: string; value: string; [key: string]: any } | string>
|
|
6
|
+
/**
|
|
7
|
+
* Selected value(s).
|
|
8
|
+
*/
|
|
9
|
+
value?: string | string[]
|
|
10
|
+
/**
|
|
11
|
+
* Placeholder text.
|
|
12
|
+
*/
|
|
13
|
+
placeholder?: string
|
|
14
|
+
/**
|
|
15
|
+
* Disabled state.
|
|
16
|
+
*/
|
|
17
|
+
disabled?: boolean
|
|
18
|
+
/**
|
|
19
|
+
* Form control name.
|
|
20
|
+
*/
|
|
21
|
+
name?: string
|
|
22
|
+
/**
|
|
23
|
+
* Form label.
|
|
24
|
+
*/
|
|
25
|
+
label?: string
|
|
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,39 @@
|
|
|
1
|
+
export interface DialogProps {
|
|
2
|
+
/**
|
|
3
|
+
* Controlled open state.
|
|
4
|
+
*/
|
|
5
|
+
open?: boolean
|
|
6
|
+
/**
|
|
7
|
+
* The trigger label to render a default button.
|
|
8
|
+
*/
|
|
9
|
+
triggerLabel?: string
|
|
10
|
+
/**
|
|
11
|
+
* Whether to close the dialog when clicking the backdrop.
|
|
12
|
+
*/
|
|
13
|
+
closeOnClickOutside?: boolean
|
|
14
|
+
/**
|
|
15
|
+
* Whether to close on pressing the Escape key.
|
|
16
|
+
*/
|
|
17
|
+
closeOnEscape?: boolean
|
|
18
|
+
/**
|
|
19
|
+
* Prevents body scrolling when open.
|
|
20
|
+
*/
|
|
21
|
+
lockScroll?: boolean
|
|
22
|
+
/**
|
|
23
|
+
* Main heading of the dialog.
|
|
24
|
+
*/
|
|
25
|
+
title?: string
|
|
26
|
+
/**
|
|
27
|
+
* Description of the dialog purpose.
|
|
28
|
+
*/
|
|
29
|
+
description?: string
|
|
30
|
+
/**
|
|
31
|
+
* Slot-specific CSS class overrides.
|
|
32
|
+
*/
|
|
33
|
+
ui?: any
|
|
34
|
+
/**
|
|
35
|
+
* Additional CSS classes to apply to the root component.
|
|
36
|
+
*/
|
|
37
|
+
class?: any
|
|
38
|
+
[key: string]: unknown
|
|
39
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface DrawerProps {
|
|
2
|
+
/**
|
|
3
|
+
* Controlled open state.
|
|
4
|
+
*/
|
|
5
|
+
open?: boolean
|
|
6
|
+
/**
|
|
7
|
+
* The orientation/side where the drawer anchors.
|
|
8
|
+
*/
|
|
9
|
+
direction?: "bottom" | "top" | "left" | "right"
|
|
10
|
+
/**
|
|
11
|
+
* Main text title.
|
|
12
|
+
*/
|
|
13
|
+
title?: string
|
|
14
|
+
/**
|
|
15
|
+
* Explanation subtitle.
|
|
16
|
+
*/
|
|
17
|
+
description?: string
|
|
18
|
+
/**
|
|
19
|
+
* Trigger button content.
|
|
20
|
+
*/
|
|
21
|
+
triggerLabel?: string
|
|
22
|
+
/**
|
|
23
|
+
* UI mapping override.
|
|
24
|
+
*/
|
|
25
|
+
ui?: any
|
|
26
|
+
/**
|
|
27
|
+
* Root CSS class override.
|
|
28
|
+
*/
|
|
29
|
+
class?: any
|
|
30
|
+
[key: string]: unknown
|
|
31
|
+
}
|