@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,53 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/page-hero';
|
|
3
|
+
import type { ButtonProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PageHero = ComponentConfig<typeof theme, AppConfig, 'pageHero'>;
|
|
6
|
+
export interface PageHeroProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
headline?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Display a list of Button under the description.
|
|
17
|
+
* `{ size: 'xl' }`{lang="ts-type"}
|
|
18
|
+
*/
|
|
19
|
+
links?: ButtonProps[];
|
|
20
|
+
/**
|
|
21
|
+
* The orientation of the page hero.
|
|
22
|
+
* @defaultValue 'vertical'
|
|
23
|
+
*/
|
|
24
|
+
orientation?: PageHero['variants']['orientation'];
|
|
25
|
+
/**
|
|
26
|
+
* Reverse the order of the default slot.
|
|
27
|
+
* @defaultValue false
|
|
28
|
+
*/
|
|
29
|
+
reverse?: boolean;
|
|
30
|
+
class?: any;
|
|
31
|
+
ui?: PageHero['slots'];
|
|
32
|
+
}
|
|
33
|
+
export interface PageHeroSlots {
|
|
34
|
+
top(props?: {}): any;
|
|
35
|
+
header(props?: {}): any;
|
|
36
|
+
headline(props?: {}): any;
|
|
37
|
+
title(props?: {}): any;
|
|
38
|
+
description(props?: {}): any;
|
|
39
|
+
body(props?: {}): any;
|
|
40
|
+
footer(props?: {}): any;
|
|
41
|
+
links(props?: {}): any;
|
|
42
|
+
default(props?: {}): any;
|
|
43
|
+
bottom(props?: {}): any;
|
|
44
|
+
}
|
|
45
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PageHeroProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageHeroProps> & Readonly<{}>, {
|
|
46
|
+
orientation: PageHero["variants"]["orientation"];
|
|
47
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageHeroSlots>;
|
|
48
|
+
export default _default;
|
|
49
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
50
|
+
new (): {
|
|
51
|
+
$slots: S;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/page-links';
|
|
3
|
+
import type { IconProps, LinkProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PageLinks = ComponentConfig<typeof theme, AppConfig, 'pageLinks'>;
|
|
6
|
+
export interface PageLink extends Omit<LinkProps, 'custom'> {
|
|
7
|
+
label: string;
|
|
8
|
+
/**
|
|
9
|
+
* @IconifyIcon
|
|
10
|
+
*/
|
|
11
|
+
icon?: IconProps['name'];
|
|
12
|
+
class?: any;
|
|
13
|
+
ui?: Pick<PageLinks['slots'], 'item' | 'link' | 'linkLabel' | 'linkLabelExternalIcon' | 'linkLeadingIcon'>;
|
|
14
|
+
}
|
|
15
|
+
export interface PageLinksProps<T extends PageLink = PageLink> {
|
|
16
|
+
/**
|
|
17
|
+
* The element or component this component should render as.
|
|
18
|
+
* @defaultValue 'nav'
|
|
19
|
+
*/
|
|
20
|
+
as?: any;
|
|
21
|
+
title?: string;
|
|
22
|
+
links?: T[];
|
|
23
|
+
class?: any;
|
|
24
|
+
ui?: PageLinks['slots'];
|
|
25
|
+
}
|
|
26
|
+
type SlotProps<T> = (props: {
|
|
27
|
+
link: T;
|
|
28
|
+
active: boolean;
|
|
29
|
+
}) => any;
|
|
30
|
+
export interface PageLinksSlots<T extends PageLink = PageLink> {
|
|
31
|
+
'title'(props?: {}): any;
|
|
32
|
+
'link': SlotProps<T>;
|
|
33
|
+
'link-leading': SlotProps<T>;
|
|
34
|
+
'link-label': SlotProps<T>;
|
|
35
|
+
'link-trailing': SlotProps<T>;
|
|
36
|
+
}
|
|
37
|
+
declare const _default: <T extends PageLink>(__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<{
|
|
38
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & PageLinksProps<T> & {}> & import("vue").PublicProps;
|
|
39
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
40
|
+
attrs: any;
|
|
41
|
+
slots: PageLinksSlots<T>;
|
|
42
|
+
emit: {};
|
|
43
|
+
}>) => import("vue").VNode & {
|
|
44
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
45
|
+
};
|
|
46
|
+
export default _default;
|
|
47
|
+
type __VLS_PrettifyLocal<T> = {
|
|
48
|
+
[K in keyof T as K]: T[K];
|
|
49
|
+
} & {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface PageListProps {
|
|
2
|
+
/**
|
|
3
|
+
* The element or component this component should render as.
|
|
4
|
+
* @defaultValue 'div'
|
|
5
|
+
*/
|
|
6
|
+
as?: any;
|
|
7
|
+
divide?: boolean;
|
|
8
|
+
class?: any;
|
|
9
|
+
}
|
|
10
|
+
export interface PageListSlots {
|
|
11
|
+
default(props?: {}): any;
|
|
12
|
+
}
|
|
13
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PageListProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageListProps> & Readonly<{}>, {
|
|
14
|
+
divide: boolean;
|
|
15
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageListSlots>;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/page-logos';
|
|
3
|
+
import type { MarqueeProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PageLogos = ComponentConfig<typeof theme, AppConfig, 'pageLogos'>;
|
|
6
|
+
type PageLogosItem = {
|
|
7
|
+
src: string;
|
|
8
|
+
alt: string;
|
|
9
|
+
} | string;
|
|
10
|
+
export interface PageLogosProps {
|
|
11
|
+
/**
|
|
12
|
+
* The element or component this component should render as.
|
|
13
|
+
* @defaultValue 'div'
|
|
14
|
+
*/
|
|
15
|
+
as?: any;
|
|
16
|
+
title?: string;
|
|
17
|
+
items?: PageLogosItem[];
|
|
18
|
+
marquee?: boolean | MarqueeProps;
|
|
19
|
+
class?: any;
|
|
20
|
+
ui?: PageLogos['slots'];
|
|
21
|
+
}
|
|
22
|
+
export interface PageLogosSlots {
|
|
23
|
+
default(props?: {}): any;
|
|
24
|
+
}
|
|
25
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PageLogosProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageLogosProps> & Readonly<{}>, {
|
|
26
|
+
marquee: boolean | MarqueeProps;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageLogosSlots>;
|
|
28
|
+
export default _default;
|
|
29
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/page-section';
|
|
3
|
+
import type { ButtonProps, IconProps, PageFeatureProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PageSection = ComponentConfig<typeof theme, AppConfig, 'pageSection'>;
|
|
6
|
+
export interface PageSectionProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'section'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
/**
|
|
13
|
+
* The headline displayed above the title.
|
|
14
|
+
*/
|
|
15
|
+
headline?: string;
|
|
16
|
+
/**
|
|
17
|
+
* The icon displayed above the title.
|
|
18
|
+
* @IconifyIcon
|
|
19
|
+
*/
|
|
20
|
+
icon?: IconProps['name'];
|
|
21
|
+
title?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Display a list of Button under the description.
|
|
25
|
+
* `{ size: 'lg' }`{lang="ts-type"}
|
|
26
|
+
*/
|
|
27
|
+
links?: ButtonProps[];
|
|
28
|
+
/**
|
|
29
|
+
* Display a list of PageFeature under the description.
|
|
30
|
+
*/
|
|
31
|
+
features?: PageFeatureProps[];
|
|
32
|
+
/**
|
|
33
|
+
* The orientation of the section.
|
|
34
|
+
* @defaultValue 'vertical'
|
|
35
|
+
*/
|
|
36
|
+
orientation?: PageSection['variants']['orientation'];
|
|
37
|
+
/**
|
|
38
|
+
* Reverse the order of the default slot.
|
|
39
|
+
* @defaultValue false
|
|
40
|
+
*/
|
|
41
|
+
reverse?: boolean;
|
|
42
|
+
class?: any;
|
|
43
|
+
ui?: PageSection['slots'];
|
|
44
|
+
}
|
|
45
|
+
export interface PageSectionSlots {
|
|
46
|
+
top(props?: {}): any;
|
|
47
|
+
header(props?: {}): any;
|
|
48
|
+
leading(props?: {}): any;
|
|
49
|
+
headline(props?: {}): any;
|
|
50
|
+
title(props?: {}): any;
|
|
51
|
+
description(props?: {}): any;
|
|
52
|
+
body(props?: {}): any;
|
|
53
|
+
features(props?: {}): any;
|
|
54
|
+
footer(props?: {}): any;
|
|
55
|
+
links(props?: {}): any;
|
|
56
|
+
default(props?: {}): any;
|
|
57
|
+
bottom(props?: {}): any;
|
|
58
|
+
}
|
|
59
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PageSectionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PageSectionProps> & Readonly<{}>, {
|
|
60
|
+
as: any;
|
|
61
|
+
orientation: PageSection["variants"]["orientation"];
|
|
62
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PageSectionSlots>;
|
|
63
|
+
export default _default;
|
|
64
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
65
|
+
new (): {
|
|
66
|
+
$slots: S;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { PaginationRootProps, PaginationRootEmits } from 'reka-ui';
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
3
|
+
import theme from '#build/ui/pagination';
|
|
4
|
+
import type { ButtonProps, IconProps } from '../types';
|
|
5
|
+
import type { ComponentConfig } from '../types/tv';
|
|
6
|
+
type Pagination = ComponentConfig<typeof theme, AppConfig, 'pagination'>;
|
|
7
|
+
export interface PaginationProps extends Partial<Pick<PaginationRootProps, 'defaultPage' | 'disabled' | 'itemsPerPage' | 'page' | 'showEdges' | 'siblingCount' | 'total'>> {
|
|
8
|
+
/**
|
|
9
|
+
* The element or component this component should render as.
|
|
10
|
+
* @defaultValue 'div'
|
|
11
|
+
*/
|
|
12
|
+
as?: any;
|
|
13
|
+
/**
|
|
14
|
+
* The icon to use for the first page control.
|
|
15
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleLeft
|
|
16
|
+
* @IconifyIcon
|
|
17
|
+
*/
|
|
18
|
+
firstIcon?: IconProps['name'];
|
|
19
|
+
/**
|
|
20
|
+
* The icon to use for the previous page control.
|
|
21
|
+
* @defaultValue appConfig.ui.icons.chevronLeft
|
|
22
|
+
* @IconifyIcon
|
|
23
|
+
*/
|
|
24
|
+
prevIcon?: IconProps['name'];
|
|
25
|
+
/**
|
|
26
|
+
* The icon to use for the next page control.
|
|
27
|
+
* @defaultValue appConfig.ui.icons.chevronRight
|
|
28
|
+
* @IconifyIcon
|
|
29
|
+
*/
|
|
30
|
+
nextIcon?: IconProps['name'];
|
|
31
|
+
/**
|
|
32
|
+
* The icon to use for the last page control.
|
|
33
|
+
* @defaultValue appConfig.ui.icons.chevronDoubleRight
|
|
34
|
+
* @IconifyIcon
|
|
35
|
+
*/
|
|
36
|
+
lastIcon?: IconProps['name'];
|
|
37
|
+
/**
|
|
38
|
+
* The icon to use for the ellipsis control.
|
|
39
|
+
* @defaultValue appConfig.ui.icons.ellipsis
|
|
40
|
+
* @IconifyIcon
|
|
41
|
+
*/
|
|
42
|
+
ellipsisIcon?: IconProps['name'];
|
|
43
|
+
/**
|
|
44
|
+
* The color of the pagination controls.
|
|
45
|
+
* @defaultValue 'neutral'
|
|
46
|
+
* @IconifyIcon
|
|
47
|
+
*/
|
|
48
|
+
color?: ButtonProps['color'];
|
|
49
|
+
/**
|
|
50
|
+
* The variant of the pagination controls.
|
|
51
|
+
* @defaultValue 'outline'
|
|
52
|
+
*/
|
|
53
|
+
variant?: ButtonProps['variant'];
|
|
54
|
+
/**
|
|
55
|
+
* The color of the active pagination control.
|
|
56
|
+
* @defaultValue 'primary'
|
|
57
|
+
*/
|
|
58
|
+
activeColor?: ButtonProps['color'];
|
|
59
|
+
/**
|
|
60
|
+
* The variant of the active pagination control.
|
|
61
|
+
* @defaultValue 'solid'
|
|
62
|
+
*/
|
|
63
|
+
activeVariant?: ButtonProps['variant'];
|
|
64
|
+
/**
|
|
65
|
+
* Whether to show the first, previous, next, and last controls.
|
|
66
|
+
* @defaultValue true
|
|
67
|
+
*/
|
|
68
|
+
showControls?: boolean;
|
|
69
|
+
size?: ButtonProps['size'];
|
|
70
|
+
/**
|
|
71
|
+
* A function to render page controls as links.
|
|
72
|
+
* @param page The page number to navigate to.
|
|
73
|
+
*/
|
|
74
|
+
to?: (page: number) => ButtonProps['to'];
|
|
75
|
+
class?: any;
|
|
76
|
+
ui?: Pagination['slots'];
|
|
77
|
+
}
|
|
78
|
+
export interface PaginationEmits extends PaginationRootEmits {
|
|
79
|
+
}
|
|
80
|
+
export interface PaginationSlots {
|
|
81
|
+
first(props?: {}): any;
|
|
82
|
+
prev(props?: {}): any;
|
|
83
|
+
next(props?: {}): any;
|
|
84
|
+
last(props?: {}): any;
|
|
85
|
+
ellipsis(props?: {}): any;
|
|
86
|
+
item(props: {
|
|
87
|
+
page: number;
|
|
88
|
+
pageCount: number;
|
|
89
|
+
item: {
|
|
90
|
+
type: 'ellipsis';
|
|
91
|
+
} | {
|
|
92
|
+
type: 'page';
|
|
93
|
+
value: number;
|
|
94
|
+
};
|
|
95
|
+
index: number;
|
|
96
|
+
}): any;
|
|
97
|
+
}
|
|
98
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaginationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
99
|
+
"update:page": (value: number) => any;
|
|
100
|
+
}, string, import("vue").PublicProps, Readonly<PaginationProps> & Readonly<{
|
|
101
|
+
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
102
|
+
}>, {
|
|
103
|
+
color: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
|
|
104
|
+
activeColor: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral";
|
|
105
|
+
variant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
|
|
106
|
+
activeVariant: "link" | "solid" | "outline" | "soft" | "subtle" | "ghost";
|
|
107
|
+
itemsPerPage: number;
|
|
108
|
+
showEdges: boolean;
|
|
109
|
+
siblingCount: number;
|
|
110
|
+
total: number;
|
|
111
|
+
showControls: boolean;
|
|
112
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PaginationSlots>;
|
|
113
|
+
export default _default;
|
|
114
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
115
|
+
new (): {
|
|
116
|
+
$slots: S;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
2
|
+
import type { PinInputRootEmits, PinInputRootProps } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/pin-input';
|
|
5
|
+
import type { ComponentConfig } from '../types/tv';
|
|
6
|
+
type PinInput = ComponentConfig<typeof theme, AppConfig, 'pinInput'>;
|
|
7
|
+
type PinInputType = 'text' | 'number';
|
|
8
|
+
export interface PinInputProps<T extends PinInputType = 'text'> extends Pick<PinInputRootProps<T>, 'defaultValue' | 'disabled' | 'id' | 'mask' | 'modelValue' | 'name' | 'otp' | 'placeholder' | 'required' | 'type'> {
|
|
9
|
+
/**
|
|
10
|
+
* The element or component this component should render as.
|
|
11
|
+
* @defaultValue 'div'
|
|
12
|
+
*/
|
|
13
|
+
as?: any;
|
|
14
|
+
/**
|
|
15
|
+
* @defaultValue 'primary'
|
|
16
|
+
*/
|
|
17
|
+
color?: PinInput['variants']['color'];
|
|
18
|
+
/**
|
|
19
|
+
* @defaultValue 'outline'
|
|
20
|
+
*/
|
|
21
|
+
variant?: PinInput['variants']['variant'];
|
|
22
|
+
/**
|
|
23
|
+
* @defaultValue 'md'
|
|
24
|
+
*/
|
|
25
|
+
size?: PinInput['variants']['size'];
|
|
26
|
+
/**
|
|
27
|
+
* The number of input fields.
|
|
28
|
+
* @defaultValue 5
|
|
29
|
+
*/
|
|
30
|
+
length?: number | string;
|
|
31
|
+
autofocus?: boolean;
|
|
32
|
+
autofocusDelay?: number;
|
|
33
|
+
highlight?: boolean;
|
|
34
|
+
class?: any;
|
|
35
|
+
ui?: PinInput['slots'];
|
|
36
|
+
}
|
|
37
|
+
export type PinInputEmits<T extends PinInputType = 'text'> = PinInputRootEmits<T> & {
|
|
38
|
+
change: [event: Event];
|
|
39
|
+
blur: [event: Event];
|
|
40
|
+
};
|
|
41
|
+
declare const _default: <T extends PinInputType>(__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<{
|
|
42
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
43
|
+
readonly onBlur?: ((event: Event) => any) | undefined;
|
|
44
|
+
readonly onChange?: ((event: Event) => any) | undefined;
|
|
45
|
+
readonly "onUpdate:modelValue"?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
|
|
46
|
+
readonly onComplete?: ((value: [T] extends ["number"] ? number[] : string[]) => any) | undefined;
|
|
47
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onBlur" | "onChange" | "onUpdate:modelValue" | "onComplete"> & PinInputProps<T> & {}> & import("vue").PublicProps;
|
|
48
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
49
|
+
inputsRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
|
|
50
|
+
}>): void;
|
|
51
|
+
attrs: any;
|
|
52
|
+
slots: {};
|
|
53
|
+
emit: ((evt: "blur", event: Event) => void) & ((evt: "change", event: Event) => void) & ((evt: "update:modelValue", value: [T] extends ["number"] ? number[] : string[]) => void) & ((evt: "complete", value: [T] extends ["number"] ? number[] : string[]) => void);
|
|
54
|
+
}>) => import("vue").VNode & {
|
|
55
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
56
|
+
};
|
|
57
|
+
export default _default;
|
|
58
|
+
type __VLS_PrettifyLocal<T> = {
|
|
59
|
+
[K in keyof T as K]: T[K];
|
|
60
|
+
} & {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Popover } from 'reka-ui/namespaced';
|
|
2
|
+
import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverContentEmits, PopoverArrowProps, HoverCardTriggerProps } from 'reka-ui';
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
4
|
+
import theme from '#build/ui/popover';
|
|
5
|
+
import type { EmitsToProps } from '../types/utils';
|
|
6
|
+
import type { ComponentConfig } from '../types/tv';
|
|
7
|
+
type Popover = ComponentConfig<typeof theme, AppConfig, 'popover'>;
|
|
8
|
+
export interface PopoverProps extends PopoverRootProps, Pick<HoverCardRootProps, 'openDelay' | 'closeDelay'> {
|
|
9
|
+
/**
|
|
10
|
+
* The display mode of the popover.
|
|
11
|
+
* @defaultValue 'click'
|
|
12
|
+
*/
|
|
13
|
+
mode?: 'click' | 'hover';
|
|
14
|
+
/**
|
|
15
|
+
* The content of the popover.
|
|
16
|
+
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
|
|
17
|
+
*/
|
|
18
|
+
content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<PopoverContentEmits>>;
|
|
19
|
+
/**
|
|
20
|
+
* Display an arrow alongside the popover.
|
|
21
|
+
* @defaultValue false
|
|
22
|
+
*/
|
|
23
|
+
arrow?: boolean | Omit<PopoverArrowProps, 'as' | 'asChild'>;
|
|
24
|
+
/**
|
|
25
|
+
* Render the popover in a portal.
|
|
26
|
+
* @defaultValue true
|
|
27
|
+
*/
|
|
28
|
+
portal?: boolean | string | HTMLElement;
|
|
29
|
+
/**
|
|
30
|
+
* The reference (or anchor) element that is being referred to for positioning.
|
|
31
|
+
*
|
|
32
|
+
* If not provided will use the current component as anchor.
|
|
33
|
+
*/
|
|
34
|
+
reference?: HoverCardTriggerProps['reference'];
|
|
35
|
+
/**
|
|
36
|
+
* When `false`, the popover will not close when clicking outside or pressing escape.
|
|
37
|
+
* @defaultValue true
|
|
38
|
+
*/
|
|
39
|
+
dismissible?: boolean;
|
|
40
|
+
class?: any;
|
|
41
|
+
ui?: Popover['slots'];
|
|
42
|
+
}
|
|
43
|
+
export interface PopoverEmits extends PopoverRootEmits {
|
|
44
|
+
'close:prevent': [];
|
|
45
|
+
}
|
|
46
|
+
export interface PopoverSlots {
|
|
47
|
+
default(props: {
|
|
48
|
+
open: boolean;
|
|
49
|
+
}): any;
|
|
50
|
+
content(props?: {}): any;
|
|
51
|
+
anchor(props?: {}): any;
|
|
52
|
+
}
|
|
53
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
54
|
+
"update:open": (value: boolean) => any;
|
|
55
|
+
"close:prevent": () => any;
|
|
56
|
+
}, string, import("vue").PublicProps, Readonly<PopoverProps> & Readonly<{
|
|
57
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
58
|
+
"onClose:prevent"?: (() => any) | undefined;
|
|
59
|
+
}>, {
|
|
60
|
+
mode: "click" | "hover";
|
|
61
|
+
portal: boolean | string | HTMLElement;
|
|
62
|
+
dismissible: boolean;
|
|
63
|
+
openDelay: number;
|
|
64
|
+
closeDelay: number;
|
|
65
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PopoverSlots>;
|
|
66
|
+
export default _default;
|
|
67
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
68
|
+
new (): {
|
|
69
|
+
$slots: S;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/pricing-plan';
|
|
3
|
+
import type { BadgeProps, ButtonProps, IconProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PricingPlan = ComponentConfig<typeof theme, AppConfig, 'pricingPlan'>;
|
|
6
|
+
type PricingPlanFeature = {
|
|
7
|
+
title: string;
|
|
8
|
+
/**
|
|
9
|
+
* @defaultValue appConfig.ui.icons.success
|
|
10
|
+
* @IconifyIcon
|
|
11
|
+
*/
|
|
12
|
+
icon?: IconProps['name'];
|
|
13
|
+
};
|
|
14
|
+
export interface PricingPlanProps {
|
|
15
|
+
/**
|
|
16
|
+
* The element or component this component should render as.
|
|
17
|
+
* @defaultValue 'div'
|
|
18
|
+
*/
|
|
19
|
+
as?: any;
|
|
20
|
+
title?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Display a badge next to the title.
|
|
24
|
+
* Can be a string or an object.
|
|
25
|
+
* `{ color: 'primary', variant: 'subtle' }`{lang="ts-type"}
|
|
26
|
+
*/
|
|
27
|
+
badge?: string | BadgeProps;
|
|
28
|
+
/**
|
|
29
|
+
* The unit price period that appears next to the price.
|
|
30
|
+
* Typically used to show the recurring interval.
|
|
31
|
+
* @example "/month", "/year", "/seat/month"
|
|
32
|
+
*/
|
|
33
|
+
billingCycle?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Additional billing context that appears above the billing cycle.
|
|
36
|
+
* Typically used to show the actual billing frequency.
|
|
37
|
+
* @example "billed annually", "billed monthly", "per user, billed annually"
|
|
38
|
+
*/
|
|
39
|
+
billingPeriod?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The current price of the plan.
|
|
42
|
+
* When used with `discount`, this becomes the original price.
|
|
43
|
+
* @example "$99", "€99", "Free"
|
|
44
|
+
*/
|
|
45
|
+
price?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The discounted price of the plan.
|
|
48
|
+
* When provided, the `price` prop will be displayed as strikethrough.
|
|
49
|
+
* @example "$79", "€79"
|
|
50
|
+
*/
|
|
51
|
+
discount?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Display a list of features under the price.
|
|
54
|
+
* Can be an array of strings or an array of objects.
|
|
55
|
+
*/
|
|
56
|
+
features?: string[] | PricingPlanFeature[];
|
|
57
|
+
/**
|
|
58
|
+
* Display a buy button at the bottom.
|
|
59
|
+
* `{ size: 'lg', block: true }`{lang="ts-type"}
|
|
60
|
+
* Use the `onClick` field to add a click handler.
|
|
61
|
+
*/
|
|
62
|
+
button?: ButtonProps;
|
|
63
|
+
/**
|
|
64
|
+
* Display a tagline highlighting the pricing value proposition.
|
|
65
|
+
* @example 'Pay once, own it forever'
|
|
66
|
+
*/
|
|
67
|
+
tagline?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Display terms at the bottom.
|
|
70
|
+
* @example '14-day free trial'
|
|
71
|
+
*/
|
|
72
|
+
terms?: string;
|
|
73
|
+
/**
|
|
74
|
+
* The orientation of the pricing plan.
|
|
75
|
+
* @defaultValue 'vertical'
|
|
76
|
+
*/
|
|
77
|
+
orientation?: PricingPlan['variants']['orientation'];
|
|
78
|
+
/**
|
|
79
|
+
* @defaultValue 'outline'
|
|
80
|
+
*/
|
|
81
|
+
variant?: PricingPlan['variants']['variant'];
|
|
82
|
+
/** Display a ring around the pricing plan to highlight it. */
|
|
83
|
+
highlight?: boolean;
|
|
84
|
+
/** Enlarge the plan to make it more prominent. */
|
|
85
|
+
scale?: boolean;
|
|
86
|
+
class?: any;
|
|
87
|
+
ui?: PricingPlan['slots'];
|
|
88
|
+
}
|
|
89
|
+
export interface PricingPlanSlots {
|
|
90
|
+
badge(props?: {}): any;
|
|
91
|
+
title(props?: {}): any;
|
|
92
|
+
description(props?: {}): any;
|
|
93
|
+
price(props?: {}): any;
|
|
94
|
+
discount(props?: {}): any;
|
|
95
|
+
billing(props?: {}): any;
|
|
96
|
+
features(props?: {}): any;
|
|
97
|
+
button(props?: {}): any;
|
|
98
|
+
header(props?: {}): any;
|
|
99
|
+
body(props?: {}): any;
|
|
100
|
+
footer(props?: {}): any;
|
|
101
|
+
tagline(props?: {}): any;
|
|
102
|
+
terms(props?: {}): any;
|
|
103
|
+
}
|
|
104
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PricingPlanProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PricingPlanProps> & Readonly<{}>, {
|
|
105
|
+
orientation: PricingPlan["variants"]["orientation"];
|
|
106
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PricingPlanSlots>;
|
|
107
|
+
export default _default;
|
|
108
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
109
|
+
new (): {
|
|
110
|
+
$slots: S;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/pricing-plans';
|
|
3
|
+
import type { PricingPlanProps } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/tv';
|
|
5
|
+
type PricingPlans = ComponentConfig<typeof theme, AppConfig, 'pricingPlans'>;
|
|
6
|
+
export interface PricingPlansProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
plans?: PricingPlanProps[];
|
|
13
|
+
/**
|
|
14
|
+
* The orientation of the pricing plans.
|
|
15
|
+
* @defaultValue 'horizontal'
|
|
16
|
+
*/
|
|
17
|
+
orientation?: PricingPlans['variants']['orientation'];
|
|
18
|
+
/**
|
|
19
|
+
* When `true`, the plans will be displayed without gap.
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
compact?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* When `true`, the plans will be displayed with a larger gap.
|
|
25
|
+
* Useful when one plan is scaled. Doesn't work with `compact`.
|
|
26
|
+
* @defaultValue false
|
|
27
|
+
*/
|
|
28
|
+
scale?: boolean;
|
|
29
|
+
class?: any;
|
|
30
|
+
}
|
|
31
|
+
export interface PricingPlansSlots {
|
|
32
|
+
default(props?: {}): any;
|
|
33
|
+
}
|
|
34
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PricingPlansProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PricingPlansProps> & Readonly<{}>, {
|
|
35
|
+
orientation: PricingPlans["variants"]["orientation"];
|
|
36
|
+
scale: boolean;
|
|
37
|
+
compact: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, PricingPlansSlots>;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
41
|
+
new (): {
|
|
42
|
+
$slots: S;
|
|
43
|
+
};
|
|
44
|
+
};
|