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/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
- * Content container - Groups child elements vertically with alignment control.
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 })