@juxtui/ui 0.1.0 → 0.3.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 (58) hide show
  1. package/README.md +1 -1
  2. package/dist/components/accordion/JAccordion.vue.d.ts +34 -0
  3. package/dist/components/accordion/JAccordionItem.vue.d.ts +19 -0
  4. package/dist/components/accordion/context.d.ts +7 -0
  5. package/dist/components/alert/JAlert.vue.d.ts +30 -0
  6. package/dist/components/aspect-ratio/JAspectRatio.vue.d.ts +18 -0
  7. package/dist/components/avatar/JAvatar.vue.d.ts +1 -1
  8. package/dist/components/avatar-group/JAvatarGroup.vue.d.ts +19 -0
  9. package/dist/components/badge/JBadge.vue.d.ts +1 -1
  10. package/dist/components/banner/JBanner.vue.d.ts +30 -0
  11. package/dist/components/breadcrumb/JBreadcrumb.vue.d.ts +29 -0
  12. package/dist/components/button/JButton.vue.d.ts +1 -1
  13. package/dist/components/card/JCard.vue.d.ts +1 -1
  14. package/dist/components/collapsible/JCollapsible.vue.d.ts +28 -0
  15. package/dist/components/command-palette/JCommandPalette.vue.d.ts +1 -1
  16. package/dist/components/dropdown-menu/JDropdownMenu.vue.d.ts +1 -1
  17. package/dist/components/empty-state/JEmptyState.vue.d.ts +23 -0
  18. package/dist/components/field/JFieldShell.vue.d.ts +1 -1
  19. package/dist/components/input/JInput.vue.d.ts +2 -2
  20. package/dist/components/kbd/JKbd.vue.d.ts +22 -0
  21. package/dist/components/pagination/JPagination.vue.d.ts +25 -0
  22. package/dist/components/popover/JPopover.vue.d.ts +43 -0
  23. package/dist/components/primitives/JSlot.d.ts +1 -1
  24. package/dist/components/progress/JProgress.vue.d.ts +20 -0
  25. package/dist/components/radio/JRadio.vue.d.ts +20 -0
  26. package/dist/components/radio/JRadioGroup.vue.d.ts +38 -0
  27. package/dist/components/radio/context.d.ts +11 -0
  28. package/dist/components/rating/JRating.vue.d.ts +27 -0
  29. package/dist/components/select/JSelect.vue.d.ts +1 -1
  30. package/dist/components/separator/JSeparator.vue.d.ts +25 -0
  31. package/dist/components/sheet/JSheet.vue.d.ts +53 -0
  32. package/dist/components/skeleton/JSkeleton.vue.d.ts +15 -0
  33. package/dist/components/slider/JSlider.vue.d.ts +31 -0
  34. package/dist/components/spinner/JSpinner.vue.d.ts +11 -0
  35. package/dist/components/stat/JStat.vue.d.ts +22 -0
  36. package/dist/components/switch/JSwitch.vue.d.ts +1 -1
  37. package/dist/components/tabs/JTabs.vue.d.ts +1 -1
  38. package/dist/components/tag/JTag.vue.d.ts +28 -0
  39. package/dist/components/timeline/JTimeline.vue.d.ts +12 -0
  40. package/dist/components/timeline/JTimelineItem.vue.d.ts +24 -0
  41. package/dist/components/toast/JToaster.vue.d.ts +1 -1
  42. package/dist/components/toggle-group/JToggleGroup.vue.d.ts +33 -0
  43. package/dist/components/toggle-group/JToggleGroupItem.vue.d.ts +19 -0
  44. package/dist/components/toggle-group/context.d.ts +9 -0
  45. package/dist/components/tooltip/JTooltip.vue.d.ts +1 -1
  46. package/dist/components/visually-hidden/JVisuallyHidden.vue.d.ts +19 -0
  47. package/dist/components.d.ts +28 -0
  48. package/dist/composables/useModal.d.ts +20 -0
  49. package/dist/composables/useToast.d.ts +1 -1
  50. package/dist/icons.d.ts +4 -0
  51. package/dist/index.d.ts +29 -0
  52. package/dist/index.js +3914 -2165
  53. package/dist/index.js.map +1 -1
  54. package/dist/nuxt.js +29 -1
  55. package/dist/nuxt.js.map +1 -1
  56. package/dist/style.css +1874 -139
  57. package/dist/tokens.css +5 -5
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Juxt is a small component library that cares about the details you feel but rarely notice: how far a menu travels when it opens, where focus goes when a dialog closes, whether a loading button changes width, what happens when you press Escape with a select open inside a dialog.
6
6
 
7
- It is fifteen components, one token system and one motion language. It's mostly grayscale, and the green `#079D6B` is kept for state.
7
+ It is Multiple components, one token system and one motion language. It's mostly grayscale, and the green `#079D6B` is kept for state.
8
8
 
9
9
  ```vue
10
10
  <JButton>
@@ -0,0 +1,34 @@
1
+ export interface AccordionProps {
2
+ /** `single` keeps at most one item open; `multiple` lets any number stay open. */
3
+ type?: 'single' | 'multiple';
4
+ /** In `single` mode, allow closing the open item so none are open. */
5
+ collapsible?: boolean;
6
+ /** Heading level wrapping each trigger, for a correct document outline. */
7
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
8
+ }
9
+ type __VLS_Props = AccordionProps;
10
+ type __VLS_Slots = {
11
+ default?: () => unknown;
12
+ };
13
+ type __VLS_ModelProps = {
14
+ /** Open item(s): a value in `single` mode, an array in `multiple` mode. */
15
+ modelValue?: string | string[] | null;
16
+ };
17
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
18
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update:modelValue": (value: string | string[] | null) => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ "onUpdate:modelValue"?: ((value: string | string[] | null) => any) | undefined;
22
+ }>, {
23
+ type: "single" | "multiple";
24
+ collapsible: boolean;
25
+ headingLevel: 2 | 3 | 4 | 5 | 6;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,19 @@
1
+ export interface AccordionItemProps {
2
+ /** Identifies the item in the accordion's `v-model`. */
3
+ value: string;
4
+ title?: string;
5
+ disabled?: boolean;
6
+ }
7
+ type __VLS_Slots = {
8
+ default?: () => unknown;
9
+ title?: () => unknown;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<AccordionItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AccordionItemProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,7 @@
1
+ import type { InjectionKey } from 'vue';
2
+ export interface AccordionContext {
3
+ isOpen: (value: string) => boolean;
4
+ toggle: (value: string) => void;
5
+ headingLevel: () => number;
6
+ }
7
+ export declare const ACCORDION: InjectionKey<AccordionContext>;
@@ -0,0 +1,30 @@
1
+ export type AlertVariant = 'neutral' | 'info' | 'success' | 'warning' | 'destructive';
2
+ export interface AlertProps {
3
+ variant?: AlertVariant;
4
+ title?: string;
5
+ description?: string;
6
+ /** Show a close button; emits `dismiss`. */
7
+ dismissible?: boolean;
8
+ /** Hide the leading icon. */
9
+ hideIcon?: boolean;
10
+ }
11
+ type __VLS_Slots = {
12
+ default?: () => unknown;
13
+ icon?: () => unknown;
14
+ actions?: () => unknown;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ dismiss: () => any;
18
+ }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
19
+ onDismiss?: (() => any) | undefined;
20
+ }>, {
21
+ variant: AlertVariant;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,18 @@
1
+ export interface AspectRatioProps {
2
+ /** Width/height ratio, e.g. `16 / 9` or `1`. */
3
+ ratio?: number;
4
+ }
5
+ type __VLS_Slots = {
6
+ default?: () => unknown;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<AspectRatioProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AspectRatioProps> & Readonly<{}>, {
9
+ ratio: number;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -3,7 +3,7 @@ export interface AvatarProps {
3
3
  src?: string;
4
4
  /** Image alt text. Defaults to `name`. */
5
5
  alt?: string;
6
- /** Full name — used for initials and as the accessible name. */
6
+ /** Full name | used for initials and as the accessible name. */
7
7
  name?: string;
8
8
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
9
9
  shape?: 'circle' | 'square';
@@ -0,0 +1,19 @@
1
+ export interface AvatarGroupItem {
2
+ src?: string;
3
+ name?: string;
4
+ }
5
+ export interface AvatarGroupProps {
6
+ items: AvatarGroupItem[];
7
+ /** Avatars shown before the rest collapse into a "+N" indicator. */
8
+ max?: number;
9
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
10
+ shape?: 'circle' | 'square';
11
+ /** Accessible name for the group. Defaults to a plain count, not an assumption about who's in it. */
12
+ label?: string;
13
+ }
14
+ declare const __VLS_export: import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {
15
+ size: "xs" | "sm" | "md" | "lg" | "xl";
16
+ shape: "circle" | "square";
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
@@ -13,8 +13,8 @@ type __VLS_Slots = {
13
13
  leading?: () => unknown;
14
14
  };
15
15
  declare const __VLS_base: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
16
- size: "sm" | "md";
17
16
  variant: BadgeVariant;
17
+ size: "sm" | "md";
18
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,30 @@
1
+ export type BannerVariant = 'neutral' | 'info' | 'success' | 'warning' | 'destructive';
2
+ export interface BannerProps {
3
+ variant?: BannerVariant;
4
+ title?: string;
5
+ description?: string;
6
+ /** Show a close button; emits `dismiss`. */
7
+ dismissible?: boolean;
8
+ /** Hide the leading icon. */
9
+ hideIcon?: boolean;
10
+ }
11
+ type __VLS_Slots = {
12
+ default?: () => unknown;
13
+ icon?: () => unknown;
14
+ actions?: () => unknown;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<BannerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ dismiss: () => any;
18
+ }, string, import("vue").PublicProps, Readonly<BannerProps> & Readonly<{
19
+ onDismiss?: (() => any) | undefined;
20
+ }>, {
21
+ variant: BannerVariant;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,29 @@
1
+ export interface BreadcrumbItem {
2
+ label: string;
3
+ href?: string;
4
+ }
5
+ export interface BreadcrumbProps {
6
+ /** Trail of items, first to last. The last item renders as the current page. */
7
+ items?: BreadcrumbItem[];
8
+ /** Accessible name for the nav landmark. Defaults to "Breadcrumb". */
9
+ label?: string;
10
+ /** Collapse middle items behind an ellipsis once the trail is longer than this. */
11
+ maxItems?: number;
12
+ }
13
+ /**
14
+ * Provide `items` for the common case, or omit it and pass your own `<li>`
15
+ * elements (with class `j-breadcrumb__item`) into the default slot for full
16
+ * control over each crumb.
17
+ */
18
+ type __VLS_Slots = {
19
+ default?: () => unknown;
20
+ };
21
+ declare const __VLS_base: import("vue").DefineComponent<BreadcrumbProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BreadcrumbProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -22,9 +22,9 @@ type __VLS_Slots = {
22
22
  trailing?: () => unknown;
23
23
  };
24
24
  declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
25
- size: ButtonSize;
26
25
  type: "button" | "submit" | "reset";
27
26
  variant: ButtonVariant;
27
+ size: ButtonSize;
28
28
  as: string | Component;
29
29
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
30
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -10,7 +10,7 @@ export interface CardProps {
10
10
  type __VLS_Slots = {
11
11
  default?: () => unknown;
12
12
  header?: () => unknown;
13
- /** Sits to the right of the title — a button, badge or menu. */
13
+ /** Sits to the right of the title | a button, badge or menu. */
14
14
  actions?: () => unknown;
15
15
  footer?: () => unknown;
16
16
  };
@@ -0,0 +1,28 @@
1
+ export interface CollapsibleProps {
2
+ /** Visible summary text; use the `trigger` slot for custom content instead. */
3
+ label?: string;
4
+ disabled?: boolean;
5
+ }
6
+ type __VLS_Props = CollapsibleProps;
7
+ type __VLS_Slots = {
8
+ default?: () => unknown;
9
+ trigger?: () => unknown;
10
+ };
11
+ type __VLS_ModelProps = {
12
+ /** A single disclosure primitive | for a group of them, use `JAccordion`. */
13
+ modelValue?: boolean;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: boolean) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -23,7 +23,7 @@ export interface CommandPaletteProps {
23
23
  /** Shown as a "Recent" group while the search is empty. */
24
24
  recent?: CommandItem[];
25
25
  placeholder?: string;
26
- /** Show a loading indicator — for async results. */
26
+ /** Show a loading indicator | for async results. */
27
27
  loading?: boolean;
28
28
  /**
29
29
  * Built-in ranking and filtering. Set to `false` when you filter yourself
@@ -7,7 +7,7 @@ export interface DropdownMenuProps {
7
7
  }
8
8
  type __VLS_Props = DropdownMenuProps;
9
9
  type __VLS_Slots = {
10
- /** The element that opens the menu — usually a `JButton`. */
10
+ /** The element that opens the menu | usually a `JButton`. */
11
11
  trigger?: (props: {
12
12
  open: boolean;
13
13
  }) => unknown;
@@ -0,0 +1,23 @@
1
+ export interface EmptyStateProps {
2
+ title?: string;
3
+ description?: string;
4
+ size?: 'sm' | 'md' | 'lg';
5
+ }
6
+ type __VLS_Slots = {
7
+ /** Icon or illustration shown above the title. */
8
+ icon?: () => unknown;
9
+ default?: () => unknown;
10
+ /** Call to action, typically a `JButton`. */
11
+ actions?: () => unknown;
12
+ };
13
+ declare const __VLS_base: import("vue").DefineComponent<EmptyStateProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<EmptyStateProps> & Readonly<{}>, {
14
+ size: "sm" | "md" | "lg";
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Internal: lays out label, control, description and error for form fields.
3
- * Not exported — every field component composes it.
3
+ * Not exported | every field component composes it.
4
4
  */
5
5
  type __VLS_Props = {
6
6
  id: string;
@@ -28,9 +28,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
28
28
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
29
  "onUpdate:modelValue"?: ((value: string | number | null) => any) | undefined;
30
30
  }>, {
31
- size: InputSize;
32
- error: string | boolean;
33
31
  type: string;
32
+ error: string | boolean;
33
+ size: InputSize;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
36
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,22 @@
1
+ export interface KbdProps {
2
+ /**
3
+ * A shortcut in hotkey syntax, e.g. `mod+k` or `shift+enter`. `mod` renders
4
+ * as ⌘ on Apple platforms and Ctrl elsewhere. Use the slot for literal keys.
5
+ */
6
+ keys?: string;
7
+ size?: 'sm' | 'md';
8
+ }
9
+ type __VLS_Slots = {
10
+ default?: () => unknown;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<KbdProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<KbdProps> & Readonly<{}>, {
13
+ size: "sm" | "md";
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
18
+ type __VLS_WithSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,25 @@
1
+ export interface PaginationProps {
2
+ /** Total number of pages. */
3
+ total: number;
4
+ /** Pages shown on each side of the current page before collapsing to an ellipsis. */
5
+ siblingCount?: number;
6
+ /** Accessible name for the nav landmark. */
7
+ label?: string;
8
+ size?: 'sm' | 'md';
9
+ disabled?: boolean;
10
+ }
11
+ type __VLS_Props = PaginationProps;
12
+ type __VLS_ModelProps = {
13
+ modelValue?: number;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: number) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
20
+ }>, {
21
+ size: "sm" | "md";
22
+ siblingCount: number;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import type { Placement } from '../../composables/useFloating';
2
+ export interface PopoverProps {
3
+ placement?: Placement;
4
+ /** Distance from the trigger in px. */
5
+ offset?: number;
6
+ /** Accessible name of the popover content. */
7
+ ariaLabel?: string;
8
+ /** Close when focus or a click leaves the popover. Defaults to true. */
9
+ closeOnOutside?: boolean;
10
+ disabled?: boolean;
11
+ }
12
+ type __VLS_Props = PopoverProps;
13
+ type __VLS_Slots = {
14
+ trigger?: (props: {
15
+ open: boolean;
16
+ }) => unknown;
17
+ default?: (props: {
18
+ close: () => void;
19
+ }) => unknown;
20
+ };
21
+ type __VLS_ModelProps = {
22
+ 'open'?: boolean;
23
+ };
24
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
25
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
26
+ close: () => void;
27
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ "update:open": (value: boolean) => any;
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
31
+ }>, {
32
+ placement: Placement;
33
+ offset: number;
34
+ closeOnOutside: boolean;
35
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
+ declare const _default: typeof __VLS_export;
38
+ export default _default;
39
+ type __VLS_WithSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -1,7 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  /**
3
3
  * Internal: renders its first child element and merges its own attributes
4
- * (ARIA, listeners, ids) onto it — no wrapper element.
4
+ * (ARIA, listeners, ids) onto it | no wrapper element.
5
5
  */
6
6
  export declare const JSlot: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
7
7
  [key: string]: any;
@@ -0,0 +1,20 @@
1
+ export interface ProgressProps {
2
+ /** Current value. `null` shows an indeterminate bar. */
3
+ value?: number | null;
4
+ max?: number;
5
+ size?: 'sm' | 'md';
6
+ /** Visible label above the bar; also its accessible name. */
7
+ label?: string;
8
+ /** Show the percentage next to the label. */
9
+ showValue?: boolean;
10
+ /** `accent` for progress toward a goal, `neutral` for plain measurement. */
11
+ variant?: 'accent' | 'neutral';
12
+ }
13
+ declare const __VLS_export: import("vue").DefineComponent<ProgressProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ProgressProps> & Readonly<{}>, {
14
+ value: number | null;
15
+ variant: "accent" | "neutral";
16
+ size: "sm" | "md";
17
+ max: number;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import type { RadioValue } from './context';
2
+ export interface RadioProps {
3
+ value: RadioValue;
4
+ label?: string;
5
+ description?: string;
6
+ disabled?: boolean;
7
+ }
8
+ type __VLS_Slots = {
9
+ default?: () => unknown;
10
+ description?: () => unknown;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<RadioProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<RadioProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,38 @@
1
+ import type { RadioValue } from './context';
2
+ export interface RadioGroupProps {
3
+ /** Group label, rendered as the fieldset legend. */
4
+ label?: string;
5
+ description?: string;
6
+ /** An error message, or `true` to mark the group invalid without one. */
7
+ error?: string | boolean;
8
+ orientation?: 'vertical' | 'horizontal';
9
+ disabled?: boolean;
10
+ required?: boolean;
11
+ /** Form field name. Generated when omitted. */
12
+ name?: string;
13
+ }
14
+ type __VLS_Props = RadioGroupProps;
15
+ type __VLS_Slots = {
16
+ default?: () => unknown;
17
+ label?: () => unknown;
18
+ };
19
+ type __VLS_ModelProps = {
20
+ modelValue?: RadioValue | null;
21
+ };
22
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
23
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
+ "update:modelValue": (value: RadioValue | null) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
26
+ "onUpdate:modelValue"?: ((value: RadioValue | null) => any) | undefined;
27
+ }>, {
28
+ error: string | boolean;
29
+ orientation: "vertical" | "horizontal";
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,11 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ export type RadioValue = string | number;
3
+ export interface RadioGroupContext {
4
+ name: ComputedRef<string>;
5
+ value: ComputedRef<RadioValue | null | undefined>;
6
+ disabled: ComputedRef<boolean>;
7
+ required: ComputedRef<boolean>;
8
+ invalid: ComputedRef<boolean>;
9
+ select: (value: RadioValue) => void;
10
+ }
11
+ export declare const RADIO_GROUP: InjectionKey<RadioGroupContext>;
@@ -0,0 +1,27 @@
1
+ export interface RatingProps {
2
+ /** Number of stars. */
3
+ max?: number;
4
+ /** Static display mode | no interaction, ideal for showing an average. */
5
+ readonly?: boolean;
6
+ disabled?: boolean;
7
+ size?: 'sm' | 'md' | 'lg';
8
+ /** Accessible name for the group, e.g. "Rate this product". */
9
+ label?: string;
10
+ /** Allow half-star precision. Only applies in `readonly` mode. */
11
+ allowHalf?: boolean;
12
+ }
13
+ type __VLS_Props = RatingProps;
14
+ type __VLS_ModelProps = {
15
+ modelValue?: number;
16
+ };
17
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
18
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update:modelValue": (value: number) => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
22
+ }>, {
23
+ size: "sm" | "md" | "lg";
24
+ max: number;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
@@ -17,8 +17,8 @@ declare const __VLS_export: <T extends string | number = string>(__VLS_props: No
17
17
  props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectProps<T> & {
18
18
  modelValue?: T | null;
19
19
  }) & {
20
- onClose?: (() => any) | undefined;
21
20
  "onUpdate:modelValue"?: ((value: T | null) => any) | undefined;
21
+ onClose?: (() => any) | undefined;
22
22
  onOpen?: (() => any) | undefined;
23
23
  }> & (typeof globalThis extends {
24
24
  __VLS_PROPS_FALLBACK: infer P;
@@ -0,0 +1,25 @@
1
+ export interface SeparatorProps {
2
+ orientation?: 'horizontal' | 'vertical';
3
+ /** Text in the middle of a horizontal separator, e.g. "or". */
4
+ label?: string;
5
+ /**
6
+ * Purely visual (the default). Set to false when the separator divides
7
+ * meaningful groups and should be announced.
8
+ */
9
+ decorative?: boolean;
10
+ }
11
+ type __VLS_Slots = {
12
+ default?: () => unknown;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<SeparatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SeparatorProps> & Readonly<{}>, {
15
+ orientation: "horizontal" | "vertical";
16
+ decorative: boolean;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };