lumina-slides 9.0.3 → 9.0.5
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/dist/lumina-slides.js +11178 -10991
- package/dist/lumina-slides.umd.cjs +204 -204
- package/dist/style.css +1 -1
- package/package.json +3 -1
- package/src/components/layouts/LayoutFeatures.vue +7 -5
- package/src/components/layouts/LayoutFlex.vue +47 -7
- package/src/components/layouts/LayoutSteps.vue +7 -5
- package/src/components/parts/FlexHtml.vue +65 -0
- package/src/components/parts/FlexImage.vue +29 -2
- package/src/components/site/SiteDocs.vue +196 -40
- package/src/composables/useFlexLayout.ts +9 -3
- package/src/core/elementResolver.ts +33 -7
- package/src/core/schema.ts +40 -15
- package/src/core/types.ts +33 -3
package/src/core/types.ts
CHANGED
|
@@ -160,7 +160,9 @@ export interface FlexElementImage {
|
|
|
160
160
|
/** Fill entire container edge-to-edge. Default: true */
|
|
161
161
|
fill?: boolean;
|
|
162
162
|
/** Object-fit mode when fill is true. Default: 'cover' */
|
|
163
|
-
fit?: 'cover' | 'contain';
|
|
163
|
+
fit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
|
|
164
|
+
/** Object-position for image placement. Default: 'center' */
|
|
165
|
+
position?: string;
|
|
164
166
|
/** Border radius. Default: 'none' when fill, 'lg' otherwise */
|
|
165
167
|
rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
166
168
|
/** Link URL when image is clicked. */
|
|
@@ -169,6 +171,8 @@ export interface FlexElementImage {
|
|
|
169
171
|
target?: '_blank' | '_self';
|
|
170
172
|
/** Custom CSS class */
|
|
171
173
|
class?: string;
|
|
174
|
+
/** Custom CSS style object */
|
|
175
|
+
style?: Record<string, string>;
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
/**
|
|
@@ -248,13 +252,30 @@ export interface FlexElementSpacer {
|
|
|
248
252
|
}
|
|
249
253
|
|
|
250
254
|
/**
|
|
251
|
-
*
|
|
255
|
+
* HTML element - Raw HTML content.
|
|
256
|
+
*/
|
|
257
|
+
export interface FlexElementHtml {
|
|
258
|
+
type: 'html';
|
|
259
|
+
/** Optional id for element control (engine.element(id)). */
|
|
260
|
+
id?: string;
|
|
261
|
+
/** Raw HTML string to render */
|
|
262
|
+
html: string;
|
|
263
|
+
/** Custom CSS class */
|
|
264
|
+
class?: string;
|
|
265
|
+
/** Custom CSS style object */
|
|
266
|
+
style?: Record<string, string>;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Content container - Groups child elements with alignment control.
|
|
252
271
|
*/
|
|
253
272
|
export interface FlexElementContent {
|
|
254
273
|
type: 'content';
|
|
255
274
|
/** Optional id for element control (engine.element(id)). */
|
|
256
275
|
id?: string;
|
|
257
276
|
elements: FlexChildElement[];
|
|
277
|
+
/** Layout direction. Default: 'vertical' */
|
|
278
|
+
direction?: 'horizontal' | 'vertical';
|
|
258
279
|
/** Vertical alignment of content. Default: 'center' */
|
|
259
280
|
valign?: VAlign;
|
|
260
281
|
/** Horizontal alignment of content. Default: 'left' */
|
|
@@ -263,10 +284,15 @@ export interface FlexElementContent {
|
|
|
263
284
|
gap?: SpacingToken;
|
|
264
285
|
/** Internal padding. Default: 'lg' */
|
|
265
286
|
padding?: SpacingToken;
|
|
287
|
+
/** Custom CSS class */
|
|
288
|
+
class?: string;
|
|
289
|
+
/** Custom CSS style object */
|
|
290
|
+
style?: Record<string, string>;
|
|
266
291
|
}
|
|
267
292
|
|
|
268
293
|
/**
|
|
269
294
|
* Child elements that can appear inside a content container.
|
|
295
|
+
* Supports nested content containers for complex layouts.
|
|
270
296
|
*/
|
|
271
297
|
export type FlexChildElement =
|
|
272
298
|
| FlexElementTitle
|
|
@@ -276,7 +302,10 @@ export type FlexChildElement =
|
|
|
276
302
|
| FlexElementButton
|
|
277
303
|
| FlexElementTimeline
|
|
278
304
|
| FlexElementStepper
|
|
279
|
-
| FlexElementSpacer
|
|
305
|
+
| FlexElementSpacer
|
|
306
|
+
| FlexElementHtml
|
|
307
|
+
| FlexElementImage
|
|
308
|
+
| FlexElementContent;
|
|
280
309
|
|
|
281
310
|
/**
|
|
282
311
|
* Top-level flex elements that can have size.
|
|
@@ -285,6 +314,7 @@ export type FlexElement =
|
|
|
285
314
|
| (FlexElementImage & { size?: FlexSize })
|
|
286
315
|
| (FlexElementVideo & { size?: FlexSize })
|
|
287
316
|
| (FlexElementContent & { size?: FlexSize })
|
|
317
|
+
| (FlexElementHtml & { size?: FlexSize })
|
|
288
318
|
| (FlexElementTitle & { size?: FlexSize })
|
|
289
319
|
| (FlexElementText & { size?: FlexSize })
|
|
290
320
|
| (FlexElementBullets & { size?: FlexSize })
|