@leavepulse/ui 0.15.3 → 0.15.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/index.ts CHANGED
@@ -45,6 +45,9 @@ export { default as LpIcon } from "./components/LpIcon.vue"
45
45
  export { default as LpInfraNode } from "./components/LpInfraNode.vue"
46
46
  export type { InfraNodeData } from "./components/LpInfraNode.vue"
47
47
  export { default as LpInput } from "./components/LpInput.vue"
48
+ export { default as LpLightbox } from "./components/LpLightbox.vue"
49
+ export type { LightboxItem } from "./components/lightbox"
50
+ export { fileNameOf } from "./components/lightbox"
48
51
  export { default as LpLink } from "./components/LpLink.vue"
49
52
  export { default as LpLogViewer } from "./components/LpLogViewer.vue"
50
53
  export type { LogLevel, LogLine } from "./components/LpLogViewer.vue"
@@ -155,6 +158,8 @@ export { useInputFilter } from "./composables/useInputFilter"
155
158
  export type { UseInputFilterOptions } from "./composables/useInputFilter"
156
159
  export { useTilt } from "./composables/useTilt"
157
160
  export type { UseTilt, UseTiltOptions } from "./composables/useTilt"
161
+ export { useZoomPan } from "./composables/useZoomPan"
162
+ export type { UseZoomPan, UseZoomPanOptions } from "./composables/useZoomPan"
158
163
  export { useToast } from "./composables/useToast"
159
164
  export type {
160
165
  ToastAction,
@@ -311,6 +311,42 @@
311
311
  }
312
312
  }
313
313
 
314
+ /*
315
+ * Lightbox. The image grows in from slightly under full size so opening reads as
316
+ * the picture coming toward you rather than a panel appearing; the exit is
317
+ * shorter and on an accelerating curve, since a dismissal shouldn't be savoured.
318
+ */
319
+ @keyframes lightbox-in {
320
+ from {
321
+ opacity: 0;
322
+ transform: scale(0.92);
323
+ }
324
+ }
325
+ @keyframes lightbox-out {
326
+ to {
327
+ opacity: 0;
328
+ transform: scale(0.96);
329
+ }
330
+ }
331
+ /*
332
+ * Frame change. Paging slides the incoming picture in from the side it came
333
+ * from, so the direction of travel matches the arrow that was pressed. The
334
+ * component sets --frame-from per navigation.
335
+ */
336
+ @keyframes lightbox-frame-in {
337
+ from {
338
+ opacity: 0;
339
+ transform: translateX(var(--frame-from, 24px));
340
+ }
341
+ }
342
+ /* Chrome (toolbar, caption, filmstrip) drifts in after the image lands. */
343
+ @keyframes lightbox-chrome-in {
344
+ from {
345
+ opacity: 0;
346
+ transform: translateY(var(--chrome-from, 8px));
347
+ }
348
+ }
349
+
314
350
  /*
315
351
  * Skin painter. A raised panel opts in with .lp-skin-panel and gets the active
316
352
  * skin (flat → glass) purely from the surface tokens: border width, an overlay