@nuxt/ui 4.0.0-alpha.1 → 4.0.0-alpha.2
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/.nuxt/ui/content/content-navigation.ts +2 -1
- package/.nuxt/ui/marquee.ts +1 -1
- package/.nuxt/ui/progress.ts +3 -3
- package/.nuxt/ui/prose/code-tree.ts +1 -1
- package/.nuxt/ui/tree.ts +1 -1
- package/README.md +13 -1
- package/dist/module.d.mts +6 -6
- package/dist/module.json +2 -2
- package/dist/module.mjs +8 -6
- package/dist/runtime/components/Accordion.d.vue.ts +79 -0
- package/dist/runtime/components/Accordion.vue +3 -3
- package/dist/runtime/components/Accordion.vue.d.ts +2 -2
- package/dist/runtime/components/Alert.d.vue.ts +81 -0
- package/dist/runtime/components/App.d.vue.ts +25 -0
- package/dist/runtime/components/AuthForm.d.vue.ts +128 -0
- package/dist/runtime/components/AuthForm.vue.d.ts +39 -1
- package/dist/runtime/components/Avatar.d.vue.ts +41 -0
- package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
- package/dist/runtime/components/Badge.d.vue.ts +43 -0
- package/dist/runtime/components/Banner.d.vue.ts +72 -0
- package/dist/runtime/components/Banner.vue +1 -1
- package/dist/runtime/components/BlogPost.d.vue.ts +60 -0
- package/dist/runtime/components/BlogPosts.d.vue.ts +31 -0
- package/dist/runtime/components/Breadcrumb.d.vue.ts +67 -0
- package/dist/runtime/components/Breadcrumb.vue +1 -1
- package/dist/runtime/components/Breadcrumb.vue.d.ts +2 -2
- package/dist/runtime/components/Button.d.vue.ts +44 -0
- package/dist/runtime/components/Calendar.d.vue.ts +112 -0
- package/dist/runtime/components/Card.d.vue.ts +29 -0
- package/dist/runtime/components/Carousel.d.vue.ts +127 -0
- package/dist/runtime/components/Carousel.vue.d.ts +10 -10
- package/dist/runtime/components/ChangelogVersion.d.vue.ts +59 -0
- package/dist/runtime/components/ChangelogVersions.d.vue.ts +78 -0
- package/dist/runtime/components/ChangelogVersions.vue +2 -2
- package/dist/runtime/components/ChatMessage.d.vue.ts +67 -0
- package/dist/runtime/components/ChatMessages.d.vue.ts +83 -0
- package/dist/runtime/components/ChatMessages.vue +2 -2
- package/dist/runtime/components/ChatPalette.d.vue.ts +24 -0
- package/dist/runtime/components/ChatPrompt.d.vue.ts +61 -0
- package/dist/runtime/components/ChatPrompt.vue +2 -2
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +100 -0
- package/dist/runtime/components/Checkbox.d.vue.ts +74 -0
- package/dist/runtime/components/CheckboxGroup.d.vue.ts +89 -0
- package/dist/runtime/components/CheckboxGroup.vue +8 -8
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +17 -13
- package/dist/runtime/components/Chip.d.vue.ts +57 -0
- package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
- package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
- package/dist/runtime/components/CommandPalette.d.vue.ts +193 -0
- package/dist/runtime/components/CommandPalette.vue +5 -4
- package/dist/runtime/components/CommandPalette.vue.d.ts +2 -1
- package/dist/runtime/components/Container.d.vue.ts +18 -0
- package/dist/runtime/components/ContextMenu.d.vue.ts +110 -0
- package/dist/runtime/components/ContextMenu.vue +2 -2
- package/dist/runtime/components/ContextMenu.vue.d.ts +2 -2
- package/dist/runtime/components/ContextMenuContent.d.vue.ts +50 -0
- package/dist/runtime/components/ContextMenuContent.vue +2 -2
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +2 -2
- package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +52 -0
- package/dist/runtime/components/DashboardPanel.d.vue.ts +30 -0
- package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +18 -0
- package/dist/runtime/components/DashboardSearch.d.vue.ts +91 -0
- package/dist/runtime/components/DashboardSearch.vue +2 -2
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +59 -0
- package/dist/runtime/components/DashboardSearchButton.vue +2 -2
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +75 -0
- package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +19 -0
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +19 -0
- package/dist/runtime/components/DashboardToolbar.d.vue.ts +25 -0
- package/dist/runtime/components/Drawer.d.vue.ts +84 -0
- package/dist/runtime/components/DropdownMenu.d.vue.ts +120 -0
- package/dist/runtime/components/DropdownMenu.vue +2 -2
- package/dist/runtime/components/DropdownMenu.vue.d.ts +2 -2
- package/dist/runtime/components/DropdownMenuContent.d.vue.ts +56 -0
- package/dist/runtime/components/DropdownMenuContent.vue +2 -2
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +2 -2
- package/dist/runtime/components/Error.d.vue.ts +47 -0
- package/dist/runtime/components/FieldGroup.d.vue.ts +34 -0
- package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
- package/dist/runtime/components/FileUpload.vue +1 -0
- package/dist/runtime/components/Footer.d.vue.ts +29 -0
- package/dist/runtime/components/FooterColumns.d.vue.ts +57 -0
- package/dist/runtime/components/Form.d.vue.ts +114 -0
- package/dist/runtime/components/Form.vue +111 -52
- package/dist/runtime/components/Form.vue.d.ts +54 -11
- package/dist/runtime/components/FormField.d.vue.ts +61 -0
- package/dist/runtime/components/Header.d.vue.ts +68 -0
- package/dist/runtime/components/Icon.d.vue.ts +8 -0
- package/dist/runtime/components/Input.d.vue.ts +74 -0
- package/dist/runtime/components/Input.vue.d.ts +4 -3
- package/dist/runtime/components/InputMenu.d.vue.ts +330 -0
- package/dist/runtime/components/InputMenu.vue +1 -1
- package/dist/runtime/components/InputMenu.vue.d.ts +4 -4
- package/dist/runtime/components/InputNumber.d.vue.ts +188 -0
- package/dist/runtime/components/InputNumber.vue +2 -2
- package/dist/runtime/components/InputNumber.vue.d.ts +0 -2
- package/dist/runtime/components/InputTags.d.vue.ts +186 -0
- package/dist/runtime/components/Kbd.d.vue.ts +38 -0
- package/dist/runtime/components/Link.d.vue.ts +91 -0
- package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
- package/dist/runtime/components/Main.d.vue.ts +20 -0
- package/dist/runtime/components/Marquee.d.vue.ts +32 -0
- package/dist/runtime/components/Marquee.vue +1 -1
- package/dist/runtime/components/Modal.d.vue.ts +107 -0
- package/dist/runtime/components/NavigationMenu.d.vue.ts +171 -0
- package/dist/runtime/components/NavigationMenu.vue.d.ts +2 -2
- package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
- package/dist/runtime/components/Page.d.vue.ts +25 -0
- package/dist/runtime/components/PageAnchors.d.vue.ts +47 -0
- package/dist/runtime/components/PageAside.d.vue.ts +27 -0
- package/dist/runtime/components/PageBody.d.vue.ts +18 -0
- package/dist/runtime/components/PageCTA.d.vue.ts +56 -0
- package/dist/runtime/components/PageCard.d.vue.ts +72 -0
- package/dist/runtime/components/PageColumns.d.vue.ts +18 -0
- package/dist/runtime/components/PageFeature.d.vue.ts +44 -0
- package/dist/runtime/components/PageGrid.d.vue.ts +18 -0
- package/dist/runtime/components/PageHeader.d.vue.ts +36 -0
- package/dist/runtime/components/PageHero.d.vue.ts +53 -0
- package/dist/runtime/components/PageLinks.d.vue.ts +49 -0
- package/dist/runtime/components/PageList.d.vue.ts +21 -0
- package/dist/runtime/components/PageLogos.d.vue.ts +33 -0
- package/dist/runtime/components/PageSection.d.vue.ts +68 -0
- package/dist/runtime/components/Pagination.d.vue.ts +118 -0
- package/dist/runtime/components/PinInput.d.vue.ts +60 -0
- package/dist/runtime/components/Popover.d.vue.ts +71 -0
- package/dist/runtime/components/PricingPlan.d.vue.ts +112 -0
- package/dist/runtime/components/PricingPlans.d.vue.ts +44 -0
- package/dist/runtime/components/PricingTable.d.vue.ts +105 -0
- package/dist/runtime/components/Progress.d.vue.ts +66 -0
- package/dist/runtime/components/Progress.vue +2 -3
- package/dist/runtime/components/RadioGroup.d.vue.ts +99 -0
- package/dist/runtime/components/RadioGroup.vue +13 -11
- package/dist/runtime/components/RadioGroup.vue.d.ts +17 -13
- package/dist/runtime/components/Select.d.vue.ts +254 -0
- package/dist/runtime/components/Select.vue +3 -3
- package/dist/runtime/components/Select.vue.d.ts +5 -5
- package/dist/runtime/components/SelectMenu.d.vue.ts +303 -0
- package/dist/runtime/components/SelectMenu.vue.d.ts +4 -4
- package/dist/runtime/components/Separator.d.vue.ts +54 -0
- package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
- package/dist/runtime/components/Slideover.d.vue.ts +108 -0
- package/dist/runtime/components/Slider.d.vue.ts +57 -0
- package/dist/runtime/components/Stepper.d.vue.ts +87 -0
- package/dist/runtime/components/Switch.d.vue.ts +71 -0
- package/dist/runtime/components/Table.d.vue.ts +201 -0
- package/dist/runtime/components/Table.vue.d.ts +26 -26
- package/dist/runtime/components/Tabs.d.vue.ts +99 -0
- package/dist/runtime/components/Tabs.vue +10 -3
- package/dist/runtime/components/Tabs.vue.d.ts +2 -2
- package/dist/runtime/components/Textarea.d.vue.ts +74 -0
- package/dist/runtime/components/Timeline.d.vue.ts +71 -0
- package/dist/runtime/components/Toast.d.vue.ts +165 -0
- package/dist/runtime/components/Toaster.d.vue.ts +44 -0
- package/dist/runtime/components/Tooltip.d.vue.ts +57 -0
- package/dist/runtime/components/Tree.d.vue.ts +116 -0
- package/dist/runtime/components/Tree.vue +68 -40
- package/dist/runtime/components/Tree.vue.d.ts +1 -1
- package/dist/runtime/components/User.d.vue.ts +47 -0
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +7 -0
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +23 -0
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +6 -0
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
- package/dist/runtime/components/content/ContentNavigation.d.vue.ts +102 -0
- package/dist/runtime/components/content/ContentNavigation.vue +5 -4
- package/dist/runtime/components/content/ContentNavigation.vue.d.ts +2 -2
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +114 -0
- package/dist/runtime/components/content/ContentSearch.vue +2 -2
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +59 -0
- package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
- package/dist/runtime/components/content/ContentSurround.d.vue.ts +59 -0
- package/dist/runtime/components/content/ContentToc.d.vue.ts +88 -0
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +15 -0
- package/dist/runtime/components/prose/A.d.vue.ts +15 -0
- package/dist/runtime/components/prose/Accordion.d.vue.ts +16 -0
- package/dist/runtime/components/prose/AccordionItem.d.vue.ts +15 -0
- package/dist/runtime/components/prose/Badge.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Blockquote.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Callout.d.vue.ts +26 -0
- package/dist/runtime/components/prose/Card.d.vue.ts +29 -0
- package/dist/runtime/components/prose/CardGroup.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Code.d.vue.ts +22 -0
- package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +47 -0
- package/dist/runtime/components/prose/CodeGroup.d.vue.ts +37 -0
- package/dist/runtime/components/prose/CodeIcon.d.vue.ts +7 -0
- package/dist/runtime/components/prose/CodePreview.d.vue.ts +19 -0
- package/dist/runtime/components/prose/CodeTree.d.vue.ts +28 -0
- package/dist/runtime/components/prose/CodeTree.vue +38 -31
- package/dist/runtime/components/prose/Collapsible.d.vue.ts +39 -0
- package/dist/runtime/components/prose/Em.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Field.d.vue.ts +39 -0
- package/dist/runtime/components/prose/FieldGroup.d.vue.ts +18 -0
- package/dist/runtime/components/prose/H1.d.vue.ts +19 -0
- package/dist/runtime/components/prose/H2.d.vue.ts +19 -0
- package/dist/runtime/components/prose/H3.d.vue.ts +19 -0
- package/dist/runtime/components/prose/H4.d.vue.ts +19 -0
- package/dist/runtime/components/prose/Hr.d.vue.ts +5 -0
- package/dist/runtime/components/prose/Icon.d.vue.ts +6 -0
- package/dist/runtime/components/prose/Img.d.vue.ts +21 -0
- package/dist/runtime/components/prose/Kbd.d.vue.ts +6 -0
- package/dist/runtime/components/prose/Li.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Ol.d.vue.ts +13 -0
- package/dist/runtime/components/prose/P.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Pre.d.vue.ts +26 -0
- package/dist/runtime/components/prose/Script.d.vue.ts +5 -0
- package/dist/runtime/components/prose/Steps.d.vue.ts +22 -0
- package/dist/runtime/components/prose/Strong.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Table.d.vue.ts +18 -0
- package/dist/runtime/components/prose/Tabs.d.vue.ts +36 -0
- package/dist/runtime/components/prose/TabsItem.d.vue.ts +15 -0
- package/dist/runtime/components/prose/Tbody.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Td.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Th.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Thead.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Tr.d.vue.ts +13 -0
- package/dist/runtime/components/prose/Ul.d.vue.ts +13 -0
- package/dist/runtime/components/prose/callout/Caution.d.vue.ts +14 -0
- package/dist/runtime/components/prose/callout/Note.d.vue.ts +14 -0
- package/dist/runtime/components/prose/callout/Tip.d.vue.ts +14 -0
- package/dist/runtime/components/prose/callout/Warning.d.vue.ts +14 -0
- package/dist/runtime/composables/useFormField.d.ts +1 -0
- package/dist/runtime/composables/useFormField.js +1 -0
- package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
- package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
- package/dist/runtime/locale/de_ch.d.ts +3 -0
- package/dist/runtime/locale/de_ch.js +129 -0
- package/dist/runtime/locale/id.js +1 -1
- package/dist/runtime/locale/index.d.ts +2 -0
- package/dist/runtime/locale/index.js +2 -0
- package/dist/runtime/locale/ka.d.ts +3 -0
- package/dist/runtime/locale/ka.js +132 -0
- package/dist/runtime/types/form.d.ts +9 -8
- package/dist/runtime/types/form.js +1 -3
- package/dist/runtime/types/index.d.ts +1 -0
- package/dist/runtime/types/index.js +1 -0
- package/dist/runtime/types/utils.d.ts +7 -3
- package/dist/runtime/utils/form.d.ts +2 -0
- package/dist/runtime/utils/form.js +28 -0
- package/dist/runtime/utils/fuse.d.ts +2 -1
- package/dist/runtime/utils/index.d.ts +3 -3
- package/dist/runtime/utils/index.js +6 -3
- package/dist/runtime/vue/components/Icon.d.vue.ts +6 -0
- package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +16 -0
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -0
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +5 -0
- package/dist/shared/{ui.BEZXPd3d.mjs → ui.Bs5uUhtm.mjs} +17 -12
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +21 -34
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/avatar-group';
|
|
3
|
+
import type { ComponentConfig } from '../types/tv';
|
|
4
|
+
type AvatarGroup = ComponentConfig<typeof theme, AppConfig, 'avatarGroup'>;
|
|
5
|
+
export interface AvatarGroupProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'div'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
/**
|
|
12
|
+
* @defaultValue 'md'
|
|
13
|
+
*/
|
|
14
|
+
size?: AvatarGroup['variants']['size'];
|
|
15
|
+
/**
|
|
16
|
+
* The maximum number of avatars to display.
|
|
17
|
+
*/
|
|
18
|
+
max?: number | string;
|
|
19
|
+
class?: any;
|
|
20
|
+
ui?: AvatarGroup['slots'];
|
|
21
|
+
}
|
|
22
|
+
export interface AvatarGroupSlots {
|
|
23
|
+
default(props?: {}): any;
|
|
24
|
+
}
|
|
25
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AvatarGroupSlots>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/badge';
|
|
3
|
+
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type Badge = ComponentConfig<typeof theme, AppConfig, 'badge'>;
|
|
6
|
+
export interface BadgeProps extends Omit<UseComponentIconsProps, 'loading' | 'loadingIcon'> {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'span'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
label?: string | number;
|
|
13
|
+
/**
|
|
14
|
+
* @defaultValue 'primary'
|
|
15
|
+
*/
|
|
16
|
+
color?: Badge['variants']['color'];
|
|
17
|
+
/**
|
|
18
|
+
* @defaultValue 'solid'
|
|
19
|
+
*/
|
|
20
|
+
variant?: Badge['variants']['variant'];
|
|
21
|
+
/**
|
|
22
|
+
* @defaultValue 'md'
|
|
23
|
+
*/
|
|
24
|
+
size?: Badge['variants']['size'];
|
|
25
|
+
/** Render the badge with equal padding on all sides. */
|
|
26
|
+
square?: boolean;
|
|
27
|
+
class?: any;
|
|
28
|
+
ui?: Badge['slots'];
|
|
29
|
+
}
|
|
30
|
+
export interface BadgeSlots {
|
|
31
|
+
leading(props?: {}): any;
|
|
32
|
+
default(props?: {}): any;
|
|
33
|
+
trailing(props?: {}): any;
|
|
34
|
+
}
|
|
35
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
|
|
36
|
+
as: any;
|
|
37
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BadgeSlots>;
|
|
38
|
+
export default _default;
|
|
39
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/banner';
|
|
3
|
+
import type { ButtonProps, IconProps, LinkProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type Banner = ComponentConfig<typeof theme, AppConfig, 'banner'>;
|
|
6
|
+
export interface BannerProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
/**
|
|
13
|
+
* A unique id saved to local storage to remember if the banner has been dismissed.
|
|
14
|
+
* Change this value to show the banner again.
|
|
15
|
+
* @defaultValue '1'
|
|
16
|
+
*/
|
|
17
|
+
id?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The icon displayed next to the title.
|
|
20
|
+
* @IconifyIcon
|
|
21
|
+
*/
|
|
22
|
+
icon?: IconProps['name'];
|
|
23
|
+
title?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Display a list of actions next to the title.
|
|
26
|
+
* `{ color: 'neutral', size: 'xs' }`{lang="ts-type"}
|
|
27
|
+
*/
|
|
28
|
+
actions?: ButtonProps[];
|
|
29
|
+
to?: LinkProps['to'];
|
|
30
|
+
target?: LinkProps['target'];
|
|
31
|
+
/**
|
|
32
|
+
* @defaultValue 'primary'
|
|
33
|
+
*/
|
|
34
|
+
color?: Banner['variants']['color'];
|
|
35
|
+
/**
|
|
36
|
+
* Display a close button to dismiss the banner.
|
|
37
|
+
* `{ size: 'md', color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
|
|
38
|
+
* @emits `close`
|
|
39
|
+
* @defaultValue false
|
|
40
|
+
*/
|
|
41
|
+
close?: boolean | Partial<ButtonProps>;
|
|
42
|
+
/**
|
|
43
|
+
* The icon displayed in the close button.
|
|
44
|
+
* @defaultValue appConfig.ui.icons.close
|
|
45
|
+
* @IconifyIcon
|
|
46
|
+
*/
|
|
47
|
+
closeIcon?: IconProps['name'];
|
|
48
|
+
class?: any;
|
|
49
|
+
ui?: Banner['slots'];
|
|
50
|
+
}
|
|
51
|
+
export interface BannerSlots {
|
|
52
|
+
leading(props?: {}): any;
|
|
53
|
+
title(props?: {}): any;
|
|
54
|
+
actions(props?: {}): any;
|
|
55
|
+
close(props: {
|
|
56
|
+
ui: any;
|
|
57
|
+
}): any;
|
|
58
|
+
}
|
|
59
|
+
export interface BannerEmits {
|
|
60
|
+
close: [];
|
|
61
|
+
}
|
|
62
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BannerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
63
|
+
close: () => any;
|
|
64
|
+
}, string, import("vue").PublicProps, Readonly<BannerProps> & Readonly<{
|
|
65
|
+
onClose?: (() => any) | undefined;
|
|
66
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BannerSlots>;
|
|
67
|
+
export default _default;
|
|
68
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
69
|
+
new (): {
|
|
70
|
+
$slots: S;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
@@ -86,7 +86,7 @@ function onClose() {
|
|
|
86
86
|
</slot>
|
|
87
87
|
</div>
|
|
88
88
|
|
|
89
|
-
<div v-if="actions?.length" :class="ui.actions({ class: props.ui?.actions })">
|
|
89
|
+
<div v-if="actions?.length || !!slots.actions" :class="ui.actions({ class: props.ui?.actions })">
|
|
90
90
|
<slot name="actions">
|
|
91
91
|
<UButton v-for="(action, index) in actions" :key="index" color="neutral" size="xs" v-bind="action" />
|
|
92
92
|
</slot>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/blog-post';
|
|
3
|
+
import type { BadgeProps, LinkProps, UserProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type BlogPost = ComponentConfig<typeof theme, AppConfig, 'blogPost'>;
|
|
6
|
+
export interface BlogPostProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'article'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
/** The date of the blog post. Can be a string or a Date object. */
|
|
15
|
+
date?: string | Date;
|
|
16
|
+
/**
|
|
17
|
+
* Display a badge on the blog post.
|
|
18
|
+
* Can be a string or an object.
|
|
19
|
+
* `{ color: 'neutral', variant: 'subtle' }`{lang="ts-type"}
|
|
20
|
+
*/
|
|
21
|
+
badge?: string | BadgeProps;
|
|
22
|
+
/** The authors of the blog post. */
|
|
23
|
+
authors?: UserProps[];
|
|
24
|
+
/** The image of the blog post. Can be a string or an object. */
|
|
25
|
+
image?: string | Partial<HTMLImageElement>;
|
|
26
|
+
/**
|
|
27
|
+
* The orientation of the blog post.
|
|
28
|
+
* @defaultValue 'vertical'
|
|
29
|
+
*/
|
|
30
|
+
orientation?: BlogPost['variants']['orientation'];
|
|
31
|
+
/**
|
|
32
|
+
* @defaultValue 'outline'
|
|
33
|
+
*/
|
|
34
|
+
variant?: BlogPost['variants']['variant'];
|
|
35
|
+
to?: LinkProps['to'];
|
|
36
|
+
target?: LinkProps['target'];
|
|
37
|
+
onClick?: (event: MouseEvent) => void | Promise<void>;
|
|
38
|
+
class?: any;
|
|
39
|
+
ui?: BlogPost['slots'];
|
|
40
|
+
}
|
|
41
|
+
export interface BlogPostSlots {
|
|
42
|
+
date(props?: {}): any;
|
|
43
|
+
badge(props?: {}): any;
|
|
44
|
+
title(props?: {}): any;
|
|
45
|
+
description(props?: {}): any;
|
|
46
|
+
authors(props?: {}): any;
|
|
47
|
+
header(props?: {}): any;
|
|
48
|
+
body(props?: {}): any;
|
|
49
|
+
footer(props?: {}): any;
|
|
50
|
+
}
|
|
51
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BlogPostProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BlogPostProps> & Readonly<{}>, {
|
|
52
|
+
as: any;
|
|
53
|
+
orientation: BlogPost["variants"]["orientation"];
|
|
54
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BlogPostSlots>;
|
|
55
|
+
export default _default;
|
|
56
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
57
|
+
new (): {
|
|
58
|
+
$slots: S;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/blog-posts';
|
|
3
|
+
import type { BlogPostProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type BlogPosts = ComponentConfig<typeof theme, AppConfig, 'blogPosts'>;
|
|
6
|
+
export interface BlogPostsProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
posts?: BlogPostProps[];
|
|
13
|
+
/**
|
|
14
|
+
* The orientation of the blog posts.
|
|
15
|
+
* @defaultValue 'horizontal'
|
|
16
|
+
*/
|
|
17
|
+
orientation?: BlogPosts['variants']['orientation'];
|
|
18
|
+
class?: any;
|
|
19
|
+
}
|
|
20
|
+
export interface BlogPostsSlots {
|
|
21
|
+
default(props?: {}): any;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BlogPostsProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BlogPostsProps> & Readonly<{}>, {
|
|
24
|
+
orientation: BlogPosts["variants"]["orientation"];
|
|
25
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BlogPostsSlots>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/breadcrumb';
|
|
3
|
+
import type { AvatarProps, IconProps, LinkProps } from '../types';
|
|
4
|
+
import type { DynamicSlots, GetItemKeys } from '../types/utils';
|
|
5
|
+
import type { ComponentConfig } from '../types/tv';
|
|
6
|
+
type Breadcrumb = ComponentConfig<typeof theme, AppConfig, 'breadcrumb'>;
|
|
7
|
+
export interface BreadcrumbItem extends Omit<LinkProps, 'raw' | 'custom'> {
|
|
8
|
+
label?: string;
|
|
9
|
+
/**
|
|
10
|
+
* @IconifyIcon
|
|
11
|
+
*/
|
|
12
|
+
icon?: IconProps['name'];
|
|
13
|
+
avatar?: AvatarProps;
|
|
14
|
+
slot?: string;
|
|
15
|
+
class?: any;
|
|
16
|
+
ui?: Pick<Breadcrumb['slots'], 'item' | 'link' | 'linkLeadingIcon' | 'linkLeadingAvatar' | 'linkLabel' | 'separator' | 'separatorIcon'>;
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
export interface BreadcrumbProps<T extends BreadcrumbItem = BreadcrumbItem> {
|
|
20
|
+
/**
|
|
21
|
+
* The element or component this component should render as.
|
|
22
|
+
* @defaultValue 'nav'
|
|
23
|
+
*/
|
|
24
|
+
as?: any;
|
|
25
|
+
items?: T[];
|
|
26
|
+
/**
|
|
27
|
+
* The icon to use as a separator.
|
|
28
|
+
* @defaultValue appConfig.ui.icons.chevronRight
|
|
29
|
+
* @IconifyIcon
|
|
30
|
+
*/
|
|
31
|
+
separatorIcon?: IconProps['name'];
|
|
32
|
+
/**
|
|
33
|
+
* The key used to get the label from the item.
|
|
34
|
+
* @defaultValue 'label'
|
|
35
|
+
*/
|
|
36
|
+
labelKey?: GetItemKeys<T>;
|
|
37
|
+
class?: any;
|
|
38
|
+
ui?: Breadcrumb['slots'];
|
|
39
|
+
}
|
|
40
|
+
type SlotProps<T extends BreadcrumbItem> = (props: {
|
|
41
|
+
item: T;
|
|
42
|
+
index: number;
|
|
43
|
+
active?: boolean;
|
|
44
|
+
}) => any;
|
|
45
|
+
export type BreadcrumbSlots<T extends BreadcrumbItem = BreadcrumbItem> = {
|
|
46
|
+
'item': SlotProps<T>;
|
|
47
|
+
'item-leading': SlotProps<T>;
|
|
48
|
+
'item-label': SlotProps<T>;
|
|
49
|
+
'item-trailing': SlotProps<T>;
|
|
50
|
+
'separator': any;
|
|
51
|
+
} & DynamicSlots<T, 'leading' | 'label' | 'trailing', {
|
|
52
|
+
index: number;
|
|
53
|
+
active?: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
declare const _default: <T extends BreadcrumbItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
56
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & BreadcrumbProps<T> & {}> & import("vue").PublicProps;
|
|
57
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
58
|
+
attrs: any;
|
|
59
|
+
slots: BreadcrumbSlots<T>;
|
|
60
|
+
emit: {};
|
|
61
|
+
}>) => import("vue").VNode & {
|
|
62
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
63
|
+
};
|
|
64
|
+
export default _default;
|
|
65
|
+
type __VLS_PrettifyLocal<T> = {
|
|
66
|
+
[K in keyof T as K]: T[K];
|
|
67
|
+
} & {};
|
|
@@ -18,7 +18,7 @@ const props = defineProps({
|
|
|
18
18
|
as: { type: null, required: false, default: "nav" },
|
|
19
19
|
items: { type: Array, required: false },
|
|
20
20
|
separatorIcon: { type: [String, Object], required: false },
|
|
21
|
-
labelKey: { type:
|
|
21
|
+
labelKey: { type: null, required: false, default: "label" },
|
|
22
22
|
class: { type: null, required: false },
|
|
23
23
|
ui: { type: null, required: false }
|
|
24
24
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AppConfig } from '@nuxt/schema';
|
|
2
2
|
import theme from '#build/ui/breadcrumb';
|
|
3
3
|
import type { AvatarProps, IconProps, LinkProps } from '../types';
|
|
4
|
-
import type { DynamicSlots } from '../types/utils';
|
|
4
|
+
import type { DynamicSlots, GetItemKeys } from '../types/utils';
|
|
5
5
|
import type { ComponentConfig } from '../types/tv';
|
|
6
6
|
type Breadcrumb = ComponentConfig<typeof theme, AppConfig, 'breadcrumb'>;
|
|
7
7
|
export interface BreadcrumbItem extends Omit<LinkProps, 'raw' | 'custom'> {
|
|
@@ -33,7 +33,7 @@ export interface BreadcrumbProps<T extends BreadcrumbItem = BreadcrumbItem> {
|
|
|
33
33
|
* The key used to get the label from the item.
|
|
34
34
|
* @defaultValue 'label'
|
|
35
35
|
*/
|
|
36
|
-
labelKey?:
|
|
36
|
+
labelKey?: GetItemKeys<T>;
|
|
37
37
|
class?: any;
|
|
38
38
|
ui?: Breadcrumb['slots'];
|
|
39
39
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/button';
|
|
3
|
+
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
4
|
+
import type { LinkProps } from '../types';
|
|
5
|
+
import type { ComponentConfig } from '../types/tv';
|
|
6
|
+
type Button = ComponentConfig<typeof theme, AppConfig, 'button'>;
|
|
7
|
+
export interface ButtonProps extends UseComponentIconsProps, Omit<LinkProps, 'raw' | 'custom'> {
|
|
8
|
+
label?: string;
|
|
9
|
+
/**
|
|
10
|
+
* @defaultValue 'primary'
|
|
11
|
+
*/
|
|
12
|
+
color?: Button['variants']['color'];
|
|
13
|
+
activeColor?: Button['variants']['color'];
|
|
14
|
+
/**
|
|
15
|
+
* @defaultValue 'solid'
|
|
16
|
+
*/
|
|
17
|
+
variant?: Button['variants']['variant'];
|
|
18
|
+
activeVariant?: Button['variants']['variant'];
|
|
19
|
+
/**
|
|
20
|
+
* @defaultValue 'md'
|
|
21
|
+
*/
|
|
22
|
+
size?: Button['variants']['size'];
|
|
23
|
+
/** Render the button with equal padding on all sides. */
|
|
24
|
+
square?: boolean;
|
|
25
|
+
/** Render the button full width. */
|
|
26
|
+
block?: boolean;
|
|
27
|
+
/** Set loading state automatically based on the `@click` promise state */
|
|
28
|
+
loadingAuto?: boolean;
|
|
29
|
+
onClick?: ((event: MouseEvent) => void | Promise<void>) | Array<((event: MouseEvent) => void | Promise<void>)>;
|
|
30
|
+
class?: any;
|
|
31
|
+
ui?: Button['slots'];
|
|
32
|
+
}
|
|
33
|
+
export interface ButtonSlots {
|
|
34
|
+
leading(props?: {}): any;
|
|
35
|
+
default(props?: {}): any;
|
|
36
|
+
trailing(props?: {}): any;
|
|
37
|
+
}
|
|
38
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
41
|
+
new (): {
|
|
42
|
+
$slots: S;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { CalendarRootProps, CalendarRootEmits, RangeCalendarRootProps, RangeCalendarRootEmits, DateRange, CalendarCellTriggerProps } from 'reka-ui';
|
|
2
|
+
import type { DateValue } from '@internationalized/date';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/calendar';
|
|
5
|
+
import type { ButtonProps, IconProps } from '../types';
|
|
6
|
+
import type { ComponentConfig } from '../types/tv';
|
|
7
|
+
type Calendar = ComponentConfig<typeof theme, AppConfig, 'calendar'>;
|
|
8
|
+
type CalendarDefaultValue<R extends boolean = false, M extends boolean = false> = R extends true ? DateRange : M extends true ? DateValue[] : DateValue;
|
|
9
|
+
type CalendarModelValue<R extends boolean = false, M extends boolean = false> = R extends true ? (DateRange | null) : M extends true ? (DateValue[] | undefined) : (DateValue | undefined);
|
|
10
|
+
type _CalendarRootProps = Omit<CalendarRootProps, 'as' | 'asChild' | 'modelValue' | 'defaultValue' | 'dir' | 'locale' | 'calendarLabel' | 'multiple'>;
|
|
11
|
+
type _RangeCalendarRootProps = Omit<RangeCalendarRootProps, 'as' | 'asChild' | 'modelValue' | 'defaultValue' | 'dir' | 'locale' | 'calendarLabel' | 'multiple'>;
|
|
12
|
+
export interface CalendarProps<R extends boolean = false, M extends boolean = false> extends _RangeCalendarRootProps, _CalendarRootProps {
|
|
13
|
+
/**
|
|
14
|
+
* The element or component this component should render as.
|
|
15
|
+
* @defaultValue 'div'
|
|
16
|
+
*/
|
|
17
|
+
as?: any;
|
|
18
|
+
/**
|
|
19
|
+
* The icon to use for the next year control.
|
|
20
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleRight
|
|
21
|
+
* @IconifyIcon
|
|
22
|
+
*/
|
|
23
|
+
nextYearIcon?: IconProps['name'];
|
|
24
|
+
/**
|
|
25
|
+
* Configure the next year button.
|
|
26
|
+
* `{ color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
|
|
27
|
+
*/
|
|
28
|
+
nextYear?: ButtonProps;
|
|
29
|
+
/**
|
|
30
|
+
* The icon to use for the next month control.
|
|
31
|
+
* @defaultValue appConfig.ui.icons.chevronRight
|
|
32
|
+
* @IconifyIcon
|
|
33
|
+
*/
|
|
34
|
+
nextMonthIcon?: IconProps['name'];
|
|
35
|
+
/**
|
|
36
|
+
* Configure the next month button.
|
|
37
|
+
* `{ color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
|
|
38
|
+
*/
|
|
39
|
+
nextMonth?: ButtonProps;
|
|
40
|
+
/**
|
|
41
|
+
* The icon to use for the previous year control.
|
|
42
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleLeft
|
|
43
|
+
* @IconifyIcon
|
|
44
|
+
*/
|
|
45
|
+
prevYearIcon?: IconProps['name'];
|
|
46
|
+
/**
|
|
47
|
+
* Configure the prev year button.
|
|
48
|
+
* `{ color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
|
|
49
|
+
*/
|
|
50
|
+
prevYear?: ButtonProps;
|
|
51
|
+
/**
|
|
52
|
+
* The icon to use for the previous month control.
|
|
53
|
+
* @defaultValue appConfig.ui.icons.chevronLeft
|
|
54
|
+
* @IconifyIcon
|
|
55
|
+
*/
|
|
56
|
+
prevMonthIcon?: IconProps['name'];
|
|
57
|
+
/**
|
|
58
|
+
* Configure the prev month button.
|
|
59
|
+
* `{ color: 'neutral', variant: 'ghost' }`{lang="ts-type"}
|
|
60
|
+
*/
|
|
61
|
+
prevMonth?: ButtonProps;
|
|
62
|
+
/**
|
|
63
|
+
* @defaultValue 'primary'
|
|
64
|
+
*/
|
|
65
|
+
color?: Calendar['variants']['color'];
|
|
66
|
+
/**
|
|
67
|
+
* @defaultValue 'md'
|
|
68
|
+
*/
|
|
69
|
+
size?: Calendar['variants']['size'];
|
|
70
|
+
/** Whether or not a range of dates can be selected */
|
|
71
|
+
range?: R & boolean;
|
|
72
|
+
/** Whether or not multiple dates can be selected */
|
|
73
|
+
multiple?: M & boolean;
|
|
74
|
+
/** Show month controls */
|
|
75
|
+
monthControls?: boolean;
|
|
76
|
+
/** Show year controls */
|
|
77
|
+
yearControls?: boolean;
|
|
78
|
+
defaultValue?: CalendarDefaultValue<R, M>;
|
|
79
|
+
modelValue?: CalendarModelValue<R, M>;
|
|
80
|
+
class?: any;
|
|
81
|
+
ui?: Calendar['slots'];
|
|
82
|
+
}
|
|
83
|
+
export interface CalendarEmits<R extends boolean, M extends boolean> extends Omit<CalendarRootEmits & RangeCalendarRootEmits, 'update:modelValue'> {
|
|
84
|
+
'update:modelValue': [date: CalendarModelValue<R, M>];
|
|
85
|
+
}
|
|
86
|
+
export interface CalendarSlots {
|
|
87
|
+
'heading': (props: {
|
|
88
|
+
value: string;
|
|
89
|
+
}) => any;
|
|
90
|
+
'day': (props: Pick<CalendarCellTriggerProps, 'day'>) => any;
|
|
91
|
+
'week-day': (props: {
|
|
92
|
+
day: string;
|
|
93
|
+
}) => any;
|
|
94
|
+
}
|
|
95
|
+
declare const _default: <R extends boolean, M extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
96
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
97
|
+
readonly "onUpdate:modelValue"?: ((date: CalendarModelValue<R, M>) => any) | undefined;
|
|
98
|
+
readonly "onUpdate:placeholder"?: ((...args: unknown[]) => any) | undefined;
|
|
99
|
+
readonly "onUpdate:validModelValue"?: ((date: DateRange) => any) | undefined;
|
|
100
|
+
readonly "onUpdate:startValue"?: ((date: DateValue | undefined) => any) | undefined;
|
|
101
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue" | "onUpdate:placeholder" | "onUpdate:validModelValue" | "onUpdate:startValue"> & CalendarProps<R, M> & {}> & import("vue").PublicProps;
|
|
102
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
103
|
+
attrs: any;
|
|
104
|
+
slots: CalendarSlots;
|
|
105
|
+
emit: ((evt: "update:modelValue", date: CalendarModelValue<R, M>) => void) & ((evt: "update:placeholder", ...args: [date: DateValue] & [date: DateValue]) => void) & ((evt: "update:validModelValue", date: DateRange) => void) & ((evt: "update:startValue", date: DateValue | undefined) => void);
|
|
106
|
+
}>) => import("vue").VNode & {
|
|
107
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
108
|
+
};
|
|
109
|
+
export default _default;
|
|
110
|
+
type __VLS_PrettifyLocal<T> = {
|
|
111
|
+
[K in keyof T as K]: T[K];
|
|
112
|
+
} & {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/card';
|
|
3
|
+
import type { ComponentConfig } from '../types/tv';
|
|
4
|
+
type Card = ComponentConfig<typeof theme, AppConfig, 'card'>;
|
|
5
|
+
export interface CardProps {
|
|
6
|
+
/**
|
|
7
|
+
* The element or component this component should render as.
|
|
8
|
+
* @defaultValue 'div'
|
|
9
|
+
*/
|
|
10
|
+
as?: any;
|
|
11
|
+
/**
|
|
12
|
+
* @defaultValue 'outline'
|
|
13
|
+
*/
|
|
14
|
+
variant?: Card['variants']['variant'];
|
|
15
|
+
class?: any;
|
|
16
|
+
ui?: Card['slots'];
|
|
17
|
+
}
|
|
18
|
+
export interface CardSlots {
|
|
19
|
+
header(props?: {}): any;
|
|
20
|
+
default(props?: {}): any;
|
|
21
|
+
footer(props?: {}): any;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<CardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CardProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, CardSlots>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
26
|
+
new (): {
|
|
27
|
+
$slots: S;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel';
|
|
3
|
+
import type { AutoplayOptionsType } from 'embla-carousel-autoplay';
|
|
4
|
+
import type { AutoScrollOptionsType } from 'embla-carousel-auto-scroll';
|
|
5
|
+
import type { AutoHeightOptionsType } from 'embla-carousel-auto-height';
|
|
6
|
+
import type { ClassNamesOptionsType } from 'embla-carousel-class-names';
|
|
7
|
+
import type { FadeOptionsType } from 'embla-carousel-fade';
|
|
8
|
+
import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
|
|
9
|
+
import theme from '#build/ui/carousel';
|
|
10
|
+
import type { ButtonProps, IconProps } from '../types';
|
|
11
|
+
import type { AcceptableValue } from '../types/utils';
|
|
12
|
+
import type { ComponentConfig } from '../types/tv';
|
|
13
|
+
type Carousel = ComponentConfig<typeof theme, AppConfig, 'carousel'>;
|
|
14
|
+
export type CarouselValue = AcceptableValue;
|
|
15
|
+
export type CarouselItem = CarouselValue | {
|
|
16
|
+
class?: any;
|
|
17
|
+
ui?: Pick<Carousel['slots'], 'item'>;
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Omit<EmblaOptionsType, 'axis' | 'container' | 'slides' | 'direction'> {
|
|
21
|
+
/**
|
|
22
|
+
* The element or component this component should render as.
|
|
23
|
+
* @defaultValue 'div'
|
|
24
|
+
*/
|
|
25
|
+
as?: any;
|
|
26
|
+
/**
|
|
27
|
+
* Configure the prev button when arrows are enabled.
|
|
28
|
+
* @defaultValue { size: 'md', color: 'neutral', variant: 'link' }
|
|
29
|
+
*/
|
|
30
|
+
prev?: ButtonProps;
|
|
31
|
+
/**
|
|
32
|
+
* The icon displayed in the prev button.
|
|
33
|
+
* @defaultValue appConfig.ui.icons.arrowLeft
|
|
34
|
+
* @IconifyIcon
|
|
35
|
+
*/
|
|
36
|
+
prevIcon?: IconProps['name'];
|
|
37
|
+
/**
|
|
38
|
+
* Configure the next button when arrows are enabled.
|
|
39
|
+
* @defaultValue { size: 'md', color: 'neutral', variant: 'link' }
|
|
40
|
+
*/
|
|
41
|
+
next?: ButtonProps;
|
|
42
|
+
/**
|
|
43
|
+
* The icon displayed in the next button.
|
|
44
|
+
* @defaultValue appConfig.ui.icons.arrowRight
|
|
45
|
+
* @IconifyIcon
|
|
46
|
+
*/
|
|
47
|
+
nextIcon?: IconProps['name'];
|
|
48
|
+
/**
|
|
49
|
+
* Display prev and next buttons to scroll the carousel.
|
|
50
|
+
* @defaultValue false
|
|
51
|
+
*/
|
|
52
|
+
arrows?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Display dots to scroll to a specific slide.
|
|
55
|
+
* @defaultValue false
|
|
56
|
+
*/
|
|
57
|
+
dots?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The orientation of the carousel.
|
|
60
|
+
* @defaultValue 'horizontal'
|
|
61
|
+
*/
|
|
62
|
+
orientation?: Carousel['variants']['orientation'];
|
|
63
|
+
items?: T[];
|
|
64
|
+
/**
|
|
65
|
+
* Enable Autoplay plugin
|
|
66
|
+
* @see https://www.embla-carousel.com/plugins/autoplay/
|
|
67
|
+
*/
|
|
68
|
+
autoplay?: boolean | AutoplayOptionsType;
|
|
69
|
+
/**
|
|
70
|
+
* Enable Auto Scroll plugin
|
|
71
|
+
* @see https://www.embla-carousel.com/plugins/auto-scroll/
|
|
72
|
+
*/
|
|
73
|
+
autoScroll?: boolean | AutoScrollOptionsType;
|
|
74
|
+
/**
|
|
75
|
+
* Enable Auto Height plugin
|
|
76
|
+
* @see https://www.embla-carousel.com/plugins/auto-height/
|
|
77
|
+
*/
|
|
78
|
+
autoHeight?: boolean | AutoHeightOptionsType;
|
|
79
|
+
/**
|
|
80
|
+
* Enable Class Names plugin
|
|
81
|
+
* @see https://www.embla-carousel.com/plugins/class-names/
|
|
82
|
+
*/
|
|
83
|
+
classNames?: boolean | ClassNamesOptionsType;
|
|
84
|
+
/**
|
|
85
|
+
* Enable Fade plugin
|
|
86
|
+
* @see https://www.embla-carousel.com/plugins/fade/
|
|
87
|
+
*/
|
|
88
|
+
fade?: boolean | FadeOptionsType;
|
|
89
|
+
/**
|
|
90
|
+
* Enable Wheel Gestures plugin
|
|
91
|
+
* @see https://www.embla-carousel.com/plugins/wheel-gestures/
|
|
92
|
+
*/
|
|
93
|
+
wheelGestures?: boolean | WheelGesturesPluginOptions;
|
|
94
|
+
class?: any;
|
|
95
|
+
ui?: Carousel['slots'];
|
|
96
|
+
}
|
|
97
|
+
export type CarouselSlots<T extends CarouselItem = CarouselItem> = {
|
|
98
|
+
default(props: {
|
|
99
|
+
item: T;
|
|
100
|
+
index: number;
|
|
101
|
+
}): any;
|
|
102
|
+
};
|
|
103
|
+
export interface CarouselEmits {
|
|
104
|
+
/**
|
|
105
|
+
* Emitted when the selected slide changes
|
|
106
|
+
* @param selectedIndex The index of the selected slide
|
|
107
|
+
*/
|
|
108
|
+
select: [selectedIndex: number];
|
|
109
|
+
}
|
|
110
|
+
declare const _default: <T extends CarouselItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
111
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
112
|
+
readonly onSelect?: ((selectedIndex: number) => any) | undefined;
|
|
113
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSelect"> & CarouselProps<T> & {}> & import("vue").PublicProps;
|
|
114
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
115
|
+
emblaRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
116
|
+
emblaApi: import("vue").Ref<EmblaCarouselType | undefined, EmblaCarouselType | undefined>;
|
|
117
|
+
}>): void;
|
|
118
|
+
attrs: any;
|
|
119
|
+
slots: CarouselSlots<T>;
|
|
120
|
+
emit: (evt: "select", selectedIndex: number) => void;
|
|
121
|
+
}>) => import("vue").VNode & {
|
|
122
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
123
|
+
};
|
|
124
|
+
export default _default;
|
|
125
|
+
type __VLS_PrettifyLocal<T> = {
|
|
126
|
+
[K in keyof T as K]: T[K];
|
|
127
|
+
} & {};
|