@aotearoan/neon
Version:
Neon is a lightweight design library of Vue 3 components with minimal dependencies.
664 lines (663 loc) • 23.6 kB
TypeScript
import type { NeonCarouselImage } from '@/model/presentation/image-carousel/NeonCarouselImage';
/**
* <p>
* The <strong>NeonImageCarousel</strong> is used to display a carousel of images for the user to swipe
* through. NOTE: It is recommended to explicitly set the width & height of the carousel via CSS, this will
* ensure it will not be impacted by images with different aspect ratios. Images are automatically resized to fit the
* carousel dimensions.
* </p>
*/
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
/**
* The expanded state of the image carousel.
*/
expanded: {
type: BooleanConstructor;
default: boolean;
};
/**
* The images to be displayed in the carousel.
*/
images: {
type: () => Array<NeonCarouselImage>;
required: true;
};
/**
* Provide an alternative image count label. This can be useful for translations. The default is e.g.
* <em>2 images</em>.
*/
imageCountLabel: {
type: StringConstructor;
default: undefined;
};
/**
* Hide the label under the dot navigation.
*/
hideLabel: {
type: BooleanConstructor;
default: boolean;
};
/**
* Provide an alternative label for the Previous button.
*/
closeLabel: {
type: StringConstructor;
default: string;
};
/**
* Provide an alternative label for the Previous button.
*/
previousLabel: {
type: StringConstructor;
default: string;
};
/**
* Provide an alternative label for the Next button.
*/
nextLabel: {
type: StringConstructor;
default: string;
};
}>, {
emit: (event: "current-image" | "update:expanded", ...args: any[]) => void;
currentImage: import("vue").Ref<number, number>;
carouselItem: import("vue").Ref<HTMLLIElement[], HTMLLIElement[]>;
carouselItems: import("vue").Ref<HTMLUListElement | null, HTMLUListElement | null>;
initialised: import("vue").Ref<boolean, boolean>;
isExpanded: import("vue").Ref<boolean, boolean>;
next: () => void;
previous: () => void;
scrollTo: (index: number) => void;
toggleExpanded: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-image" | "update:expanded")[], "current-image" | "update:expanded", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
/**
* The expanded state of the image carousel.
*/
expanded: {
type: BooleanConstructor;
default: boolean;
};
/**
* The images to be displayed in the carousel.
*/
images: {
type: () => Array<NeonCarouselImage>;
required: true;
};
/**
* Provide an alternative image count label. This can be useful for translations. The default is e.g.
* <em>2 images</em>.
*/
imageCountLabel: {
type: StringConstructor;
default: undefined;
};
/**
* Hide the label under the dot navigation.
*/
hideLabel: {
type: BooleanConstructor;
default: boolean;
};
/**
* Provide an alternative label for the Previous button.
*/
closeLabel: {
type: StringConstructor;
default: string;
};
/**
* Provide an alternative label for the Previous button.
*/
previousLabel: {
type: StringConstructor;
default: string;
};
/**
* Provide an alternative label for the Next button.
*/
nextLabel: {
type: StringConstructor;
default: string;
};
}>> & Readonly<{
"onCurrent-image"?: ((...args: any[]) => any) | undefined;
"onUpdate:expanded"?: ((...args: any[]) => any) | undefined;
}>, {
expanded: boolean;
closeLabel: string;
imageCountLabel: string;
hideLabel: boolean;
previousLabel: string;
nextLabel: string;
}, {}, {
NeonButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
label: {
type: StringConstructor;
default: null;
};
size: {
type: () => import("../../../neon").NeonButtonSize;
default: import("../../../neon").NeonButtonSize;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: import("../../../neon").NeonFunctionalColor;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
alternateColor: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
icon: {
type: StringConstructor;
default: null;
};
iconAriaLabel: {
type: StringConstructor;
};
iconPosition: {
type: () => import("../../../neon").NeonHorizontalPosition;
default: import("../../../neon").NeonHorizontalPosition;
};
buttonStyle: {
type: () => import("../../../neon").NeonButtonStyle;
default: import("../../../neon").NeonButtonStyle;
};
buttonType: {
type: () => import("../../../neon").NeonButtonType;
default: import("../../../neon").NeonButtonType;
};
state: {
type: () => import("../../../neon").NeonState;
default: import("../../../neon").NeonState;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
transparent: {
type: BooleanConstructor;
default: boolean;
};
outline: {
type: BooleanConstructor;
default: boolean;
};
circular: {
type: BooleanConstructor;
default: null;
};
fullWidth: {
type: BooleanConstructor;
default: null;
};
indicator: {
type: BooleanConstructor;
default: boolean;
};
indicatorExpanded: {
type: BooleanConstructor;
default: null;
};
}>, {
iconName: import("vue").ComputedRef<string>;
classes: import("vue").ComputedRef<(string | false | {
[x: string]: boolean | "" | import("../../../neon").NeonFunctionalColor;
'neon-button--text-transparent': boolean;
'neon-button--disabled': boolean;
'neon-button--inverse': boolean;
'neon-button--circular': boolean;
'neon-button--no-outline': boolean;
'neon-button--full-width': boolean;
'neon-button--with-icon neon-button--icon-only': boolean | "";
'neon-button--with-icon neon-button--icon-left': boolean | "";
'neon-button--with-icon neon-button--icon-right': boolean | "";
})[]>;
button: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
attrs: {
[x: string]: unknown;
};
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
clickLink: () => void | undefined;
clickButton: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
label: {
type: StringConstructor;
default: null;
};
size: {
type: () => import("../../../neon").NeonButtonSize;
default: import("../../../neon").NeonButtonSize;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: import("../../../neon").NeonFunctionalColor;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
alternateColor: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
icon: {
type: StringConstructor;
default: null;
};
iconAriaLabel: {
type: StringConstructor;
};
iconPosition: {
type: () => import("../../../neon").NeonHorizontalPosition;
default: import("../../../neon").NeonHorizontalPosition;
};
buttonStyle: {
type: () => import("../../../neon").NeonButtonStyle;
default: import("../../../neon").NeonButtonStyle;
};
buttonType: {
type: () => import("../../../neon").NeonButtonType;
default: import("../../../neon").NeonButtonType;
};
state: {
type: () => import("../../../neon").NeonState;
default: import("../../../neon").NeonState;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
transparent: {
type: BooleanConstructor;
default: boolean;
};
outline: {
type: BooleanConstructor;
default: boolean;
};
circular: {
type: BooleanConstructor;
default: null;
};
fullWidth: {
type: BooleanConstructor;
default: null;
};
indicator: {
type: BooleanConstructor;
default: boolean;
};
indicatorExpanded: {
type: BooleanConstructor;
default: null;
};
}>> & Readonly<{
onClick?: ((...args: any[]) => any) | undefined;
}>, {
color: import("../../../neon").NeonFunctionalColor;
icon: string;
label: string;
inverse: boolean;
disabled: boolean;
href: string;
size: import("../../../neon").NeonButtonSize;
alternateColor: import("../../../neon").NeonFunctionalColor;
outline: boolean;
iconPosition: import("../../../neon").NeonHorizontalPosition;
buttonStyle: import("../../../neon").NeonButtonStyle;
buttonType: import("../../../neon").NeonButtonType;
state: import("../../../neon").NeonState;
transparent: boolean;
circular: boolean;
fullWidth: boolean;
indicator: boolean;
indicatorExpanded: boolean;
}, {}, {
NeonExpansionIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
expanded: {
type: BooleanConstructor;
default: boolean;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
expanded: {
type: BooleanConstructor;
default: boolean;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
}>> & Readonly<{}>, {
color: import("../../../neon").NeonFunctionalColor;
inverse: boolean;
disabled: boolean;
expanded: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>, {
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
icon: import("vue").ComputedRef<string | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
color: import("../../../neon").NeonFunctionalColor;
id: string;
inverse: boolean;
disabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
NeonLink: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
noStyle: {
type: BooleanConstructor;
default: boolean;
};
outlineStyle: {
type: () => import("../../../neon").NeonOutlineStyle;
default: import("../../../neon").NeonOutlineStyle;
};
externalIndicator: {
type: BooleanConstructor;
default: boolean;
};
}>, {
neonLink: import("vue").Ref<HTMLAnchorElement | null, HTMLAnchorElement | null>;
routerUrl: import("vue").ComputedRef<string | undefined>;
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
activeRoute: import("vue").ComputedRef<boolean | "" | undefined>;
exactRoute: import("vue").ComputedRef<boolean | "" | undefined>;
onClick: () => void;
onSpace: () => Promise<void>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
noStyle: {
type: BooleanConstructor;
default: boolean;
};
outlineStyle: {
type: () => import("../../../neon").NeonOutlineStyle;
default: import("../../../neon").NeonOutlineStyle;
};
externalIndicator: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
onClick?: ((...args: any[]) => any) | undefined;
}>, {
href: string;
noStyle: boolean;
outlineStyle: import("../../../neon").NeonOutlineStyle;
externalIndicator: boolean;
}, {}, {
NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>, {
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
icon: import("vue").ComputedRef<string | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
color: import("../../../neon").NeonFunctionalColor;
id: string;
inverse: boolean;
disabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
NeonLink: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
noStyle: {
type: BooleanConstructor;
default: boolean;
};
outlineStyle: {
type: () => import("../../../neon").NeonOutlineStyle;
default: import("../../../neon").NeonOutlineStyle;
};
externalIndicator: {
type: BooleanConstructor;
default: boolean;
};
}>, {
neonLink: import("vue").Ref<HTMLAnchorElement | null, HTMLAnchorElement | null>;
routerUrl: import("vue").ComputedRef<string | undefined>;
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
activeRoute: import("vue").ComputedRef<boolean | "" | undefined>;
exactRoute: import("vue").ComputedRef<boolean | "" | undefined>;
onClick: () => void;
onSpace: () => Promise<void>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
href: {
type: StringConstructor;
default: null;
};
noStyle: {
type: BooleanConstructor;
default: boolean;
};
outlineStyle: {
type: () => import("../../../neon").NeonOutlineStyle;
default: import("../../../neon").NeonOutlineStyle;
};
externalIndicator: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
onClick?: ((...args: any[]) => any) | undefined;
}>, {
href: string;
noStyle: boolean;
outlineStyle: import("../../../neon").NeonOutlineStyle;
externalIndicator: boolean;
}, {}, {
NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>, {
sanitizedAttributes: import("vue").ComputedRef<{
[x: string]: unknown;
}>;
icon: import("vue").ComputedRef<string | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
name: {
type: StringConstructor;
required: true;
};
id: {
type: StringConstructor; /**
* Provide an alternative label for the Next button.
*/
default: null;
};
color: {
type: () => import("../../../neon").NeonFunctionalColor;
default: null;
};
inverse: {
type: BooleanConstructor;
default: boolean;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{}>, {
color: import("../../../neon").NeonFunctionalColor;
id: string;
inverse: boolean;
disabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
NeonStack: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
gap: {
type: () => import("../../../neon").NeonLayoutSize;
default: () => import("../../../neon").NeonLayoutSize;
};
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
gap: {
type: () => import("../../../neon").NeonLayoutSize;
default: () => import("../../../neon").NeonLayoutSize;
};
}>> & Readonly<{}>, {
gap: import("../../../neon").NeonLayoutSize;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;