@lumx/vue 4.9.0-next.11 → 4.9.0-next.13

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.
@@ -0,0 +1,20 @@
1
+ import { ImageBlockProps as UIProps, CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS, ImageBlockCaptionPosition } from '@lumx/core/js/components/ImageBlock';
2
+ import { VueToJSXProps } from '../../utils/VueToJSX';
3
+ export type ImageBlockProps = Omit<VueToJSXProps<UIProps, 'Thumbnail' | 'ImageCaption' | 'FlexBox' | 'Text' | 'titleProps' | 'descriptionProps' | 'captionStyle'>, never> & {
4
+ titleProps?: Record<string, any>;
5
+ descriptionProps?: Record<string, any>;
6
+ captionStyle?: Record<string, any>;
7
+ };
8
+ export { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS, ImageBlockCaptionPosition };
9
+ /**
10
+ * ImageBlock component.
11
+ *
12
+ * @param props Component props.
13
+ * @return Vue element.
14
+ */
15
+ declare const ImageBlock: import('vue').DefineSetupFnComponent<ImageBlockProps, {}, {}, Omit<VueToJSXProps<UIProps, "Thumbnail" | "Text" | "FlexBox" | "titleProps" | "descriptionProps" | "captionStyle" | "ImageCaption">, never> & {
16
+ titleProps?: Record<string, any>;
17
+ descriptionProps?: Record<string, any>;
18
+ captionStyle?: Record<string, any>;
19
+ } & {}, import('vue').PublicProps>;
20
+ export default ImageBlock;
@@ -0,0 +1,180 @@
1
+ declare const _default: {
2
+ component: any;
3
+ argTypes: {
4
+ size: {
5
+ control: {
6
+ type: "select" | "inline-radio";
7
+ };
8
+ options: ("xl" | "xxl")[];
9
+ mapping: Record<string, "xl" | "xxl"> | undefined;
10
+ };
11
+ image: {
12
+ control: {
13
+ type: "select" | "inline-radio";
14
+ };
15
+ options: string[];
16
+ mapping: Record<string, string> | undefined;
17
+ };
18
+ captionPosition: {
19
+ control: {
20
+ type: "select" | "inline-radio";
21
+ };
22
+ options: ("over" | "below")[];
23
+ mapping: Record<string, "over" | "below"> | undefined;
24
+ };
25
+ 'thumbnailProps.aspectRatio': {
26
+ control: {
27
+ type: "select" | "inline-radio";
28
+ };
29
+ options: ("vertical" | "horizontal" | "original" | "panoramic" | "wide" | "square" | "free")[];
30
+ mapping: Record<string, "vertical" | "horizontal" | "original" | "panoramic" | "wide" | "square" | "free"> | undefined;
31
+ };
32
+ align: {
33
+ control: {
34
+ type: "select" | "inline-radio";
35
+ };
36
+ options: ("center" | "right" | "left")[];
37
+ mapping: Record<string, "center" | "right" | "left"> | undefined;
38
+ };
39
+ tags: {
40
+ control: boolean;
41
+ };
42
+ actions: {
43
+ control: boolean;
44
+ };
45
+ };
46
+ args: {
47
+ image: string;
48
+ actions?: import('react').ReactNode;
49
+ align?: import('../..').HorizontalAlignment | undefined;
50
+ alt?: string | undefined;
51
+ captionPosition?: import('../..').ImageBlockCaptionPosition | undefined;
52
+ fillHeight?: boolean | undefined;
53
+ size?: import('@lumx/core/js/components/ImageBlock').ImageBlockSize | undefined;
54
+ thumbnailProps?: import('../..').GenericProps | undefined;
55
+ ref?: import('../..').CommonRef;
56
+ Thumbnail?: any;
57
+ ImageCaption?: any;
58
+ className?: string | undefined;
59
+ theme?: import('../..').Theme | undefined;
60
+ title?: string | undefined;
61
+ titleProps?: import('../..').GenericProps | undefined;
62
+ description?: import('react').ReactNode | {
63
+ __html: string;
64
+ };
65
+ descriptionProps?: import('../..').GenericProps | undefined;
66
+ tags?: import('react').ReactNode;
67
+ captionStyle?: import('../..').GenericProps | undefined;
68
+ FlexBox?: any;
69
+ Text?: any;
70
+ };
71
+ decorators: ((story: any, context: any) => any)[];
72
+ title: string;
73
+ };
74
+ export default _default;
75
+ export declare const WithCaptionBelow: {
76
+ args: {
77
+ captionPosition: "below";
78
+ size: "xxl";
79
+ title: string;
80
+ description: string;
81
+ };
82
+ };
83
+ export declare const WithCaptionOver: {
84
+ args: {
85
+ captionPosition: "over";
86
+ size: "xxl";
87
+ title: string;
88
+ description: string;
89
+ };
90
+ };
91
+ export declare const WithAlign: {
92
+ args: {
93
+ image: string;
94
+ size: undefined;
95
+ align: "center";
96
+ captionPosition: "below";
97
+ title: string;
98
+ description: string;
99
+ };
100
+ };
101
+ export declare const WithTags: {
102
+ render: ({ tags, ...args }: any) => import("vue/jsx-runtime").JSX.Element;
103
+ args: {
104
+ size: "xxl";
105
+ };
106
+ };
107
+ export declare const WithActions: {
108
+ render: ({ actions, ...args }: any) => import("vue/jsx-runtime").JSX.Element;
109
+ args: {
110
+ size: "xxl";
111
+ };
112
+ };
113
+ export declare const WithFocusPointHorizontal: {
114
+ args: {
115
+ size: "xxl";
116
+ 'thumbnailProps.aspectRatio': "vertical";
117
+ 'thumbnailProps.focusPoint.x': number;
118
+ 'thumbnailProps.focusPoint.y': number;
119
+ };
120
+ argTypes: {
121
+ 'thumbnailProps.focusPoint.x': {
122
+ control: {
123
+ type: string;
124
+ min: number;
125
+ max: number;
126
+ step: number;
127
+ };
128
+ };
129
+ 'thumbnailProps.focusPoint.y': {
130
+ control: {
131
+ type: string;
132
+ min: number;
133
+ max: number;
134
+ step: number;
135
+ };
136
+ };
137
+ };
138
+ };
139
+ export declare const WithFocusPointVertical: {
140
+ args: {
141
+ size: "xxl";
142
+ image: string;
143
+ 'thumbnailProps.aspectRatio': "horizontal";
144
+ 'thumbnailProps.focusPoint.x': number;
145
+ 'thumbnailProps.focusPoint.y': number;
146
+ };
147
+ argTypes: {
148
+ 'thumbnailProps.focusPoint.x': {
149
+ control: {
150
+ type: string;
151
+ min: number;
152
+ max: number;
153
+ step: number;
154
+ };
155
+ };
156
+ 'thumbnailProps.focusPoint.y': {
157
+ control: {
158
+ type: string;
159
+ min: number;
160
+ max: number;
161
+ step: number;
162
+ };
163
+ };
164
+ };
165
+ };
166
+ export declare const FullFeatured: {
167
+ render: ({ tags, actions, ...args }: any) => import("vue/jsx-runtime").JSX.Element;
168
+ args: {
169
+ image: string;
170
+ size: undefined;
171
+ align: "center";
172
+ captionPosition: "below";
173
+ title: string;
174
+ description: string;
175
+ 'thumbnailProps.aspectRatio': "horizontal";
176
+ 'thumbnailProps.focusPoint.x': number;
177
+ 'thumbnailProps.focusPoint.y': number;
178
+ };
179
+ decorators: ((story: any, context: any) => any)[];
180
+ };
@@ -0,0 +1,18 @@
1
+ import { HorizontalAlignment, Theme } from '@lumx/core/js/constants';
2
+ type ImageCaptionProps = {
3
+ as?: 'div' | 'figcaption';
4
+ align?: HorizontalAlignment;
5
+ baseClassName?: string;
6
+ captionStyle?: Record<string, any>;
7
+ class?: string;
8
+ description?: any;
9
+ descriptionProps?: Record<string, any>;
10
+ tags?: any;
11
+ theme?: Theme;
12
+ title?: string;
13
+ titleProps?: Record<string, any>;
14
+ truncate?: boolean;
15
+ };
16
+ /** Internal component used to render image captions */
17
+ declare const ImageCaption: import('vue').DefineSetupFnComponent<ImageCaptionProps, {}, {}, ImageCaptionProps & {}, import('vue').PublicProps>;
18
+ export default ImageCaption;
@@ -0,0 +1 @@
1
+ export { default as ImageBlock, type ImageBlockProps, ImageBlockCaptionPosition } from './ImageBlock';
package/index.d.ts CHANGED
@@ -28,6 +28,7 @@ export * from './components/switch';
28
28
  export * from './components/text-field';
29
29
  export * from './components/uploader';
30
30
  export * from './components/generic-block';
31
+ export * from './components/image-block';
31
32
  export * from './components/inline-list';
32
33
  export * from './components/table';
33
34
  export * from './components/tabs';