hlc-layer-ui
Version:
HLC Layer Components for Vue - Including Button and Hero Slider components with Prismic CMS integration
82 lines (73 loc) • 1.57 kB
text/typescript
interface ImageDimensions {
width: number
height: number
}
interface ImageEdit {
x: number
y: number
zoom: number
background: string
}
interface PrismicImage {
dimensions: ImageDimensions
alt: string | null
copyright: string | null
url: string
id: string
edit: ImageEdit
}
interface PrismicLink {
id?: string
type?: string
tags?: string[]
lang?: string
slug?: string
uid?: string
url?: string
link_type: string
key?: string
isBroken?: boolean
}
interface ContentSpan {
start: number
end: number
type: string
}
interface ContentBlock {
type: string
text: string
spans: ContentSpan[]
direction: string
}
interface SliderItem {
hero_image_desktop: PrismicImage
hero_image_mobile: PrismicImage
enable_slide: boolean
schedule_to: string
hero_helper_text: string
hero_helper_text_color: string
hero_title: string
hero_content: ContentBlock[]
hero_primary_cta_text: string
hero_primary_cta_link: PrismicLink
hero_secondary_cta_text: string | null
hero_secondary_cta_link: PrismicLink
hero_secondary_cta_anchor_id: string | null
hero_slider_theme: boolean
hero_video_mobile: string | null
hero_video_desktop: string | null
hero_content_mobile_background_color: string
}
interface SliderPrimary {
enable_auto_rotation: boolean
slider_full_width: boolean
hide_content_on_mobile: boolean
}
interface SliderData {
primary: SliderPrimary
items: SliderItem[]
id: string
slice_type: string
slice_label: string | null
}
export type { SliderData, SliderItem, SliderPrimary }