diff --git a/ui/vuetifyx/vuetifyxjs/src/lib/TiltedImages/VXTiltedImages.vue b/ui/vuetifyx/vuetifyxjs/src/lib/TiltedImages/VXTiltedImages.vue new file mode 100644 index 00000000..d4edca6e --- /dev/null +++ b/ui/vuetifyx/vuetifyxjs/src/lib/TiltedImages/VXTiltedImages.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/ui/vuetifyx/vuetifyxjs/src/lib/Timeline/VXTimeline.vue b/ui/vuetifyx/vuetifyxjs/src/lib/Timeline/VXTimeline.vue new file mode 100644 index 00000000..27da6eba --- /dev/null +++ b/ui/vuetifyx/vuetifyxjs/src/lib/Timeline/VXTimeline.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/ui/vuetifyx/vuetifyxjs/src/lib/VXImageGallery.vue b/ui/vuetifyx/vuetifyxjs/src/lib/VXImageGallery.vue new file mode 100644 index 00000000..44173ff5 --- /dev/null +++ b/ui/vuetifyx/vuetifyxjs/src/lib/VXImageGallery.vue @@ -0,0 +1,43 @@ + + + diff --git a/ui/vuetifyx/vuetifyxjs/src/lib/VXVideo.vue b/ui/vuetifyx/vuetifyxjs/src/lib/VXVideo.vue new file mode 100644 index 00000000..ab99edaa --- /dev/null +++ b/ui/vuetifyx/vuetifyxjs/src/lib/VXVideo.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/ui/vuetifyx/vuetifyxjs/src/lib/plugins/index.ts b/ui/vuetifyx/vuetifyxjs/src/lib/plugins/index.ts index 20f2c053..b9419a81 100644 --- a/ui/vuetifyx/vuetifyxjs/src/lib/plugins/index.ts +++ b/ui/vuetifyx/vuetifyxjs/src/lib/plugins/index.ts @@ -44,6 +44,10 @@ import LinkageSelectRemote from '@/lib/LinkageSelectRemote/index.vue' import VXSegmentForm from '@/lib/Form/VXSegmentForm/index.vue' import VXModelProxy from '@/lib/VXModelProxy.vue' import VXChart from '@/lib/Chart/VXChart.vue' +import VXTimeline from '@/lib/Timeline/VXTimeline.vue' +import VXTiltedImages from '@/lib/TiltedImages/VXTiltedImages.vue' +import VXImageGallery from '@/lib/VXImageGallery.vue' +import VXVideo from '@/lib/VXVideo.vue' declare const window: any @@ -85,6 +89,10 @@ const vuetifyx = { app.component('vx-segment-form', VXSegmentForm) app.component('vx-iframe-emitter', VXIframeEmitter) app.component('vx-model-proxy', VXModelProxy) + app.component('vx-timeline', VXTimeline) + app.component('vx-tilted-images', VXTiltedImages) + app.component('vx-image-gallery', VXImageGallery) + app.component('vx-video', VXVideo) } } diff --git a/ui/vuetifyx/vx-image-gallery.go b/ui/vuetifyx/vx-image-gallery.go new file mode 100644 index 00000000..42b9b907 --- /dev/null +++ b/ui/vuetifyx/vx-image-gallery.go @@ -0,0 +1,47 @@ +package vuetifyx + +import ( + "context" + + h "github.com/theplant/htmlgo" +) + +type VXImageGalleryBuilder struct { + tag *h.HTMLTagBuilder +} + +func VXImageGallery() (r *VXImageGalleryBuilder) { + r = &VXImageGalleryBuilder{ + tag: h.Tag("vx-image-gallery"), + } + return +} + +func (b *VXImageGalleryBuilder) Items(v interface{}) (r *VXImageGalleryBuilder) { + b.tag.Attr(":items", v) + return b +} + +func (b *VXImageGalleryBuilder) Height(v interface{}) (r *VXImageGalleryBuilder) { + b.tag.Attr(":height", v) + return b +} + +func (b *VXImageGalleryBuilder) Width(v interface{}) (r *VXImageGalleryBuilder) { + b.tag.Attr(":width", v) + return b +} + +func (b *VXImageGalleryBuilder) Attr(vs ...interface{}) (r *VXImageGalleryBuilder) { + b.tag.Attr(vs...) + return b +} + +func (b *VXImageGalleryBuilder) Class(names ...string) (r *VXImageGalleryBuilder) { + b.tag.Class(names...) + return b +} + +func (b *VXImageGalleryBuilder) MarshalHTML(ctx context.Context) (r []byte, err error) { + return b.tag.MarshalHTML(ctx) +} diff --git a/ui/vuetifyx/vx-tilted-images.go b/ui/vuetifyx/vx-tilted-images.go new file mode 100644 index 00000000..8df9740f --- /dev/null +++ b/ui/vuetifyx/vx-tilted-images.go @@ -0,0 +1,73 @@ +package vuetifyx + +import ( + "context" + "fmt" + + h "github.com/theplant/htmlgo" +) + +type VXTiltedImagesBuilder struct { + tag *h.HTMLTagBuilder +} + +func VXTiltedImages(children ...h.HTMLComponent) (r *VXTiltedImagesBuilder) { + r = &VXTiltedImagesBuilder{ + tag: h.Tag("vx-tilted-images").Children(children...), + } + return +} + +func (b *VXTiltedImagesBuilder) InitialRotateX(v float64) (r *VXTiltedImagesBuilder) { + b.tag.Attr(":initial-rotate-x", fmt.Sprint(v)) + return b +} + +func (b *VXTiltedImagesBuilder) InitialRotateY(v float64) (r *VXTiltedImagesBuilder) { + b.tag.Attr(":initial-rotate-y", fmt.Sprint(v)) + return b +} + +func (b *VXTiltedImagesBuilder) InitialTranslateX(v float64) (r *VXTiltedImagesBuilder) { + b.tag.Attr(":initial-translate-x", fmt.Sprint(v)) + return b +} + +func (b *VXTiltedImagesBuilder) InitialTranslateY(v float64) (r *VXTiltedImagesBuilder) { + b.tag.Attr(":initial-translate-y", fmt.Sprint(v)) + return b +} + +func (b *VXTiltedImagesBuilder) Attr(vs ...interface{}) (r *VXTiltedImagesBuilder) { + b.tag.Attr(vs...) + return b +} + +func (b *VXTiltedImagesBuilder) Class(names ...string) (r *VXTiltedImagesBuilder) { + b.tag.Class(names...) + return b +} + +func (b *VXTiltedImagesBuilder) Style(v string) (r *VXTiltedImagesBuilder) { + b.tag.Style(v) + return b +} + +func (b *VXTiltedImagesBuilder) Children(children ...h.HTMLComponent) (r *VXTiltedImagesBuilder) { + b.tag.Children(children...) + return b +} + +func (b *VXTiltedImagesBuilder) AppendChildren(children ...h.HTMLComponent) (r *VXTiltedImagesBuilder) { + b.tag.AppendChildren(children...) + return b +} + +func (b *VXTiltedImagesBuilder) PrependChildren(children ...h.HTMLComponent) (r *VXTiltedImagesBuilder) { + b.tag.PrependChildren(children...) + return b +} + +func (b *VXTiltedImagesBuilder) MarshalHTML(ctx context.Context) (r []byte, err error) { + return b.tag.MarshalHTML(ctx) +} diff --git a/ui/vuetifyx/vx-timeline.go b/ui/vuetifyx/vx-timeline.go new file mode 100644 index 00000000..7237285b --- /dev/null +++ b/ui/vuetifyx/vx-timeline.go @@ -0,0 +1,162 @@ +package vuetifyx + +import ( + "context" + "fmt" + + h "github.com/theplant/htmlgo" +) + +type VXTimelineBuilder struct { + tag *h.HTMLTagBuilder +} + +func VXTimeline(children ...h.HTMLComponent) (r *VXTimelineBuilder) { + r = &VXTimelineBuilder{ + tag: h.Tag("vx-timeline").Children(children...), + } + return +} + +func (b *VXTimelineBuilder) Justify(v string) (r *VXTimelineBuilder) { + b.tag.Attr("justify", v) + return b +} + +func (b *VXTimelineBuilder) LineThickness(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":line-thickness", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) LineColor(v string) (r *VXTimelineBuilder) { + b.tag.Attr("line-color", v) + return b +} + +func (b *VXTimelineBuilder) DotColor(v string) (r *VXTimelineBuilder) { + b.tag.Attr("dot-color", v) + return b +} + +func (b *VXTimelineBuilder) FillDot(v bool) (r *VXTimelineBuilder) { + b.tag.Attr(":fill-dot", fmt.Sprint(v)) + return b +} + +func (b *VXTimelineBuilder) HideOpposite(v bool) (r *VXTimelineBuilder) { + b.tag.Attr(":hide-opposite", fmt.Sprint(v)) + return b +} + +func (b *VXTimelineBuilder) AnimateOnScroll(v bool) (r *VXTimelineBuilder) { + b.tag.Attr(":animate-on-scroll", fmt.Sprint(v)) + return b +} + +func (b *VXTimelineBuilder) Parallax(v bool) (r *VXTimelineBuilder) { + b.tag.Attr(":parallax", fmt.Sprint(v)) + return b +} + +func (b *VXTimelineBuilder) IconColor(v string) (r *VXTimelineBuilder) { + b.tag.Attr("icon-color", v) + return b +} + +func (b *VXTimelineBuilder) LineInset(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":line-inset", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) Size(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":size", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) Tag(v string) (r *VXTimelineBuilder) { + b.tag.Attr("tag", v) + return b +} + +func (b *VXTimelineBuilder) Density(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":density", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) Theme(v string) (r *VXTimelineBuilder) { + b.tag.Attr("theme", v) + return b +} + +func (b *VXTimelineBuilder) Align(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":align", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) Direction(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":direction", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) Side(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":side", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) TruncateLine(v interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(":truncate-line", h.JSONString(v)) + return b +} + +func (b *VXTimelineBuilder) SetAttr(k string, v interface{}) { + b.tag.SetAttr(k, v) +} + +func (b *VXTimelineBuilder) Attr(vs ...interface{}) (r *VXTimelineBuilder) { + b.tag.Attr(vs...) + return b +} + +func (b *VXTimelineBuilder) Children(children ...h.HTMLComponent) (r *VXTimelineBuilder) { + b.tag.Children(children...) + return b +} + +func (b *VXTimelineBuilder) AppendChildren(children ...h.HTMLComponent) (r *VXTimelineBuilder) { + b.tag.AppendChildren(children...) + return b +} + +func (b *VXTimelineBuilder) PrependChildren(children ...h.HTMLComponent) (r *VXTimelineBuilder) { + b.tag.PrependChildren(children...) + return b +} + +func (b *VXTimelineBuilder) Class(names ...string) (r *VXTimelineBuilder) { + b.tag.Class(names...) + return b +} + +func (b *VXTimelineBuilder) ClassIf(name string, add bool) (r *VXTimelineBuilder) { + b.tag.ClassIf(name, add) + return b +} + +func (b *VXTimelineBuilder) Sinuous(v bool) (r *VXTimelineBuilder) { + b.tag.Attr(":sinuous", fmt.Sprint(v)) + return b +} + +func (b *VXTimelineBuilder) On(name string, value string) (r *VXTimelineBuilder) { + b.tag.Attr(fmt.Sprintf("v-on:%s", name), value) + return b +} + +func (b *VXTimelineBuilder) Bind(name string, value string) (r *VXTimelineBuilder) { + b.tag.Attr(fmt.Sprintf("v-bind:%s", name), value) + return b +} + +func (b *VXTimelineBuilder) MarshalHTML(ctx context.Context) (r []byte, err error) { + return b.tag.MarshalHTML(ctx) +} diff --git a/ui/vuetifyx/vx-video.go b/ui/vuetifyx/vx-video.go new file mode 100644 index 00000000..8b677810 --- /dev/null +++ b/ui/vuetifyx/vx-video.go @@ -0,0 +1,62 @@ +package vuetifyx + +import ( + "context" + + h "github.com/theplant/htmlgo" +) + +type VXVideoBuilder struct { + tag *h.HTMLTagBuilder +} + +func VXVideo() (r *VXVideoBuilder) { + r = &VXVideoBuilder{ + tag: h.Tag("vx-video"), + } + return +} + +func (b *VXVideoBuilder) Src(v string) (r *VXVideoBuilder) { + b.tag.Attr("src", v) + return b +} + +func (b *VXVideoBuilder) Poster(v string) (r *VXVideoBuilder) { + b.tag.Attr("poster", v) + return b +} + +func (b *VXVideoBuilder) Width(v string) (r *VXVideoBuilder) { + b.tag.Attr("width", v) + return b +} + +func (b *VXVideoBuilder) Height(v string) (r *VXVideoBuilder) { + b.tag.Attr("height", v) + return b +} + +func (b *VXVideoBuilder) Rounded(v string) (r *VXVideoBuilder) { + b.tag.Attr("rounded", v) + return b +} + +func (b *VXVideoBuilder) Class(names ...string) (r *VXVideoBuilder) { + b.tag.Class(names...) + return b +} + +func (b *VXVideoBuilder) ClassIf(name string, add bool) (r *VXVideoBuilder) { + b.tag.ClassIf(name, add) + return b +} + +func (b *VXVideoBuilder) Attr(vs ...interface{}) (r *VXVideoBuilder) { + b.tag.Attr(vs...) + return b +} + +func (b *VXVideoBuilder) MarshalHTML(ctx context.Context) (r []byte, err error) { + return b.tag.MarshalHTML(ctx) +}