yet-another-react-lightbox 3.8.3 → 3.9.1
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/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { LightboxExternalProps, LightboxProps, Labels, Slide, SlideImage, LengthOrPercentage, ContainerRect, ToolbarSettings, Component, Module, Node, Plugin, Augmentation, EventTypes, ComponentProps, LightboxStateSwipeAction, LightboxStateUpdateAction, LightboxState, Render, ImageFit, ControllerRef, Callback, RenderFunction } from './types.js';
|
|
3
|
-
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callbacks, CarouselSettings, ClickCallbackProps, ControllerSettings,
|
|
3
|
+
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callbacks, CarouselSettings, ClickCallbackProps, ControllerSettings, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageSource, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, NavigationAction, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, PluginProps, PortalSettings, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus } from './types.js';
|
|
4
4
|
|
|
5
5
|
/** Lightbox component */
|
|
6
6
|
declare function Lightbox({ carousel, animation, render, toolbar, controller, on, plugins, slides, index, ...restProps }: LightboxExternalProps): React.JSX.Element | null;
|
|
@@ -2,12 +2,17 @@ import * as React from 'react';
|
|
|
2
2
|
import { PluginProps } from '../../types.js';
|
|
3
3
|
|
|
4
4
|
/** Counter plugin */
|
|
5
|
-
declare function Counter({ addChild }: PluginProps): void;
|
|
5
|
+
declare function Counter({ augment, addChild }: PluginProps): void;
|
|
6
6
|
|
|
7
7
|
declare module "../../types.js" {
|
|
8
8
|
interface LightboxProps {
|
|
9
|
-
/**
|
|
10
|
-
counter?: React.HTMLAttributes<HTMLDivElement
|
|
9
|
+
/** Counter plugin settings */
|
|
10
|
+
counter?: React.HTMLAttributes<HTMLDivElement> & {
|
|
11
|
+
/** custom separator */
|
|
12
|
+
separator?: string;
|
|
13
|
+
/** counter container HTML attributes */
|
|
14
|
+
container?: React.HTMLAttributes<HTMLDivElement>;
|
|
15
|
+
};
|
|
11
16
|
}
|
|
12
17
|
}
|
|
13
18
|
|
|
@@ -2,16 +2,32 @@ import * as React from 'react';
|
|
|
2
2
|
import { useLightboxState, clsx, cssClass, createModule } from '../../index.js';
|
|
3
3
|
import { MODULE_CONTROLLER, PLUGIN_COUNTER } from '../../types.js';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const defaultCounterProps = {
|
|
6
|
+
separator: "/",
|
|
7
|
+
container: {},
|
|
8
|
+
};
|
|
9
|
+
const resolveCounterProps = (counter) => ({
|
|
10
|
+
...defaultCounterProps,
|
|
11
|
+
...counter,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function CounterComponent({ counter }) {
|
|
6
15
|
const { slides, currentIndex } = useLightboxState();
|
|
16
|
+
const { separator, container: { className, ...rest }, className: legacyClassName, ...legacyRest } = resolveCounterProps(counter);
|
|
7
17
|
if (slides.length === 0)
|
|
8
18
|
return null;
|
|
9
|
-
return (React.createElement("div", { className: clsx(cssClass("counter"), className), ...rest },
|
|
19
|
+
return (React.createElement("div", { className: clsx(cssClass("counter"), className || legacyClassName), ...legacyRest, ...rest },
|
|
10
20
|
currentIndex + 1,
|
|
11
|
-
"
|
|
21
|
+
" ",
|
|
22
|
+
separator,
|
|
23
|
+
" ",
|
|
12
24
|
slides.length));
|
|
13
25
|
}
|
|
14
|
-
function Counter({ addChild }) {
|
|
26
|
+
function Counter({ augment, addChild }) {
|
|
27
|
+
augment(({ counter, ...restProps }) => ({
|
|
28
|
+
counter: resolveCounterProps(counter),
|
|
29
|
+
...restProps,
|
|
30
|
+
}));
|
|
15
31
|
addChild(MODULE_CONTROLLER, createModule(PLUGIN_COUNTER, CounterComponent));
|
|
16
32
|
}
|
|
17
33
|
|
package/dist/types.d.ts
CHANGED
|
@@ -277,9 +277,9 @@ interface LightboxState {
|
|
|
277
277
|
/** Render function */
|
|
278
278
|
type RenderFunction<T = void> = [T] extends [void] ? () => React.ReactNode : (props: T) => React.ReactNode;
|
|
279
279
|
/** `render.slide` render function props */
|
|
280
|
-
interface RenderSlideProps {
|
|
280
|
+
interface RenderSlideProps<S extends Slide = Slide> {
|
|
281
281
|
/** slide */
|
|
282
|
-
slide:
|
|
282
|
+
slide: S;
|
|
283
283
|
/** slide offset (`0` - current slide, `1` - next slide, `-1` - previous slide, etc.) */
|
|
284
284
|
offset: number;
|
|
285
285
|
/** container rect */
|
|
@@ -401,9 +401,5 @@ type DeepPartial<T extends {}, K extends keyof T> = Omit<Partial<T>, K> & {
|
|
|
401
401
|
type DeepPartialValue<T> = T extends any[] ? T : T extends (...props: any[]) => any ? T : T extends {} ? {
|
|
402
402
|
[P in keyof T]?: P extends "ref" ? T[P] : DeepPartialValue<T[P]>;
|
|
403
403
|
} : T;
|
|
404
|
-
/** Deep non-nullable utility type */
|
|
405
|
-
type DeepNonNullable<T> = T extends {} ? {
|
|
406
|
-
[K in keyof T]-?: NonNullable<T[K]>;
|
|
407
|
-
} : never;
|
|
408
404
|
|
|
409
|
-
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, Augmentation, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callback, Callbacks, CarouselSettings, ClickCallbackProps, Component, ComponentProps, ContainerRect, ControllerRef, ControllerSettings,
|
|
405
|
+
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, Augmentation, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callback, Callbacks, CarouselSettings, ClickCallbackProps, Component, ComponentProps, ContainerRect, ControllerRef, ControllerSettings, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, EventTypes, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageFit, ImageSource, Labels, LengthOrPercentage, LightboxExternalProps, LightboxProps, LightboxState, LightboxStateSwipeAction, LightboxStateUpdateAction, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, Module, NavigationAction, Node, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, Plugin, PluginProps, PortalSettings, Render, RenderFunction, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, Slide, SlideImage, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, ToolbarSettings, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus };
|