@frybynite/image-cloud 0.9.2 → 0.9.4
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/image-cloud-auto-init.js +361 -311
- package/dist/image-cloud-auto-init.js.map +1 -1
- package/dist/image-cloud.js +692 -642
- package/dist/image-cloud.js.map +1 -1
- package/dist/image-cloud.umd.js +34 -3
- package/dist/image-cloud.umd.js.map +1 -1
- package/dist/index.d.ts +23 -19
- package/dist/react.d.ts +23 -19
- package/dist/react.js +698 -648
- package/dist/react.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/vue.d.ts +23 -19
- package/dist/vue.js +676 -626
- package/dist/vue.js.map +1 -1
- package/dist/web-component.d.ts +23 -19
- package/dist/web-component.js +675 -625
- package/dist/web-component.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -552,7 +552,7 @@ declare interface FocusInteractionConfig {
|
|
|
552
552
|
* Minimal functional CSS required for the library to work.
|
|
553
553
|
* Injected automatically - no external CSS file needed.
|
|
554
554
|
*/
|
|
555
|
-
export declare const FUNCTIONAL_CSS = "\n.fbn-ic-gallery {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n perspective: 1000px;\n}\n\n.fbn-ic-image {\n position: absolute;\n cursor: pointer;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0.6s;\n will-change: transform;\n user-select: none;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n}\n\n.fbn-ic-image.fbn-ic-focused {\n z-index: 1000;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0s;\n will-change: auto;\n}\n\n.fbn-ic-counter {\n position: fixed;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 10001;\n pointer-events: none;\n}\n\n.fbn-ic-hidden {\n display: none !important;\n}\n";
|
|
555
|
+
export declare const FUNCTIONAL_CSS = "\n.fbn-ic-gallery {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n perspective: 1000px;\n}\n\n.fbn-ic-image {\n position: absolute;\n cursor: pointer;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0.6s;\n will-change: transform;\n user-select: none;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n}\n\n.fbn-ic-image.fbn-ic-focused {\n z-index: 1000;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0s;\n will-change: auto;\n}\n\n.fbn-ic-counter {\n position: fixed;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 10001;\n pointer-events: none;\n}\n\n.fbn-ic-gallery:focus,\n.fbn-ic-gallery.fbn-ic-has-focus {\n outline: 2px solid rgba(147, 197, 253, 0.8);\n outline-offset: -4px;\n}\n.fbn-ic-gallery.fbn-ic-suppress-outline:focus {\n outline: none;\n}\n.fbn-ic-gallery.fbn-ic-suppress-outline.fbn-ic-has-focus {\n outline: 2px solid rgba(99, 102, 241, 0.6);\n outline-offset: -4px;\n}\n\n.fbn-ic-nav-btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10001;\n cursor: pointer;\n border: none;\n background: none;\n padding: 0;\n line-height: 1;\n}\n.fbn-ic-nav-btn-prev {\n left: 12px;\n}\n.fbn-ic-nav-btn-next {\n right: 12px;\n}\n\n.fbn-ic-hidden {\n display: none !important;\n}\n";
|
|
556
556
|
|
|
557
557
|
export declare type GalleryConfig = ImageCloudConfig;
|
|
558
558
|
|
|
@@ -805,6 +805,10 @@ declare class ImageCloud {
|
|
|
805
805
|
private errorElAutoCreated;
|
|
806
806
|
private counterEl;
|
|
807
807
|
private counterElAutoCreated;
|
|
808
|
+
private prevButtonEl;
|
|
809
|
+
private nextButtonEl;
|
|
810
|
+
private prevButtonElAutoCreated;
|
|
811
|
+
private nextButtonElAutoCreated;
|
|
808
812
|
constructor(options?: ImageCloudOptions);
|
|
809
813
|
/**
|
|
810
814
|
* Create image filter based on shared loader config
|
|
@@ -828,6 +832,8 @@ declare class ImageCloud {
|
|
|
828
832
|
private createDefaultLoadingElement;
|
|
829
833
|
private createDefaultErrorElement;
|
|
830
834
|
private createDefaultCounterElement;
|
|
835
|
+
private createDefaultPrevButtonElement;
|
|
836
|
+
private createDefaultNextButtonElement;
|
|
831
837
|
private setupEventListeners;
|
|
832
838
|
/**
|
|
833
839
|
* Navigate to the next image (Right arrow)
|
|
@@ -865,6 +871,10 @@ declare class ImageCloud {
|
|
|
865
871
|
private hideError;
|
|
866
872
|
private updateCounter;
|
|
867
873
|
private hideCounter;
|
|
874
|
+
private showFocusIndicator;
|
|
875
|
+
private hideFocusIndicator;
|
|
876
|
+
private showNavButtons;
|
|
877
|
+
private hideNavButtons;
|
|
868
878
|
/**
|
|
869
879
|
* Destroy the gallery and clean up resources
|
|
870
880
|
*/
|
|
@@ -880,7 +890,7 @@ export declare interface ImageCloudConfig {
|
|
|
880
890
|
layout: LayoutConfig;
|
|
881
891
|
animation: AnimationConfig;
|
|
882
892
|
interaction: InteractionConfig;
|
|
883
|
-
|
|
893
|
+
ui: UIConfig;
|
|
884
894
|
styling?: ImageStylingConfig;
|
|
885
895
|
}
|
|
886
896
|
|
|
@@ -893,7 +903,11 @@ export declare interface ImageCloudOptions {
|
|
|
893
903
|
layout?: Partial<LayoutConfig>;
|
|
894
904
|
animation?: Partial<AnimationConfig>;
|
|
895
905
|
interaction?: Partial<InteractionConfig>;
|
|
896
|
-
|
|
906
|
+
ui?: Partial<UIConfig>;
|
|
907
|
+
/** @deprecated Use `ui` instead of `rendering.ui` */
|
|
908
|
+
rendering?: {
|
|
909
|
+
ui?: Partial<UIConfig>;
|
|
910
|
+
};
|
|
897
911
|
styling?: Partial<ImageStylingConfig>;
|
|
898
912
|
}
|
|
899
913
|
|
|
@@ -1253,11 +1267,6 @@ export declare class RandomPlacementLayout implements PlacementLayout {
|
|
|
1253
1267
|
private random;
|
|
1254
1268
|
}
|
|
1255
1269
|
|
|
1256
|
-
declare interface RenderingConfig {
|
|
1257
|
-
responsive: ResponsiveRenderingConfig;
|
|
1258
|
-
ui: UIRenderingConfig;
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
1270
|
/**
|
|
1262
1271
|
* Check if a path type requires JavaScript animation (vs CSS transitions)
|
|
1263
1272
|
*/
|
|
@@ -1281,18 +1290,9 @@ export declare interface ResponsiveHeight {
|
|
|
1281
1290
|
height: number;
|
|
1282
1291
|
}
|
|
1283
1292
|
|
|
1284
|
-
export declare interface ResponsiveRenderingConfig {
|
|
1285
|
-
breakpoints: {
|
|
1286
|
-
mobile: number;
|
|
1287
|
-
tablet?: number;
|
|
1288
|
-
desktop?: number;
|
|
1289
|
-
};
|
|
1290
|
-
mobileDetection: () => boolean;
|
|
1291
|
-
}
|
|
1292
|
-
|
|
1293
1293
|
declare type ShadowPreset = 'none' | 'sm' | 'md' | 'lg' | 'glow';
|
|
1294
1294
|
|
|
1295
|
-
|
|
1295
|
+
declare interface SharedLoaderConfig {
|
|
1296
1296
|
validateUrls?: boolean;
|
|
1297
1297
|
validationTimeout?: number;
|
|
1298
1298
|
validationMethod?: 'head' | 'simple' | 'none';
|
|
@@ -1482,12 +1482,16 @@ export declare interface TransformParams {
|
|
|
1482
1482
|
scale?: number;
|
|
1483
1483
|
}
|
|
1484
1484
|
|
|
1485
|
-
export declare interface
|
|
1485
|
+
export declare interface UIConfig {
|
|
1486
1486
|
showLoadingSpinner: boolean;
|
|
1487
1487
|
showImageCounter?: boolean;
|
|
1488
1488
|
loadingElement?: string | HTMLElement;
|
|
1489
1489
|
errorElement?: string | HTMLElement;
|
|
1490
1490
|
counterElement?: string | HTMLElement;
|
|
1491
|
+
showNavButtons?: boolean;
|
|
1492
|
+
prevButtonElement?: string | HTMLElement;
|
|
1493
|
+
nextButtonElement?: string | HTMLElement;
|
|
1494
|
+
showFocusOutline?: boolean;
|
|
1491
1495
|
}
|
|
1492
1496
|
|
|
1493
1497
|
/**
|
package/dist/react.d.ts
CHANGED
|
@@ -552,7 +552,7 @@ declare interface FocusInteractionConfig {
|
|
|
552
552
|
* Minimal functional CSS required for the library to work.
|
|
553
553
|
* Injected automatically - no external CSS file needed.
|
|
554
554
|
*/
|
|
555
|
-
export declare const FUNCTIONAL_CSS = "\n.fbn-ic-gallery {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n perspective: 1000px;\n}\n\n.fbn-ic-image {\n position: absolute;\n cursor: pointer;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0.6s;\n will-change: transform;\n user-select: none;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n}\n\n.fbn-ic-image.fbn-ic-focused {\n z-index: 1000;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0s;\n will-change: auto;\n}\n\n.fbn-ic-counter {\n position: fixed;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 10001;\n pointer-events: none;\n}\n\n.fbn-ic-hidden {\n display: none !important;\n}\n";
|
|
555
|
+
export declare const FUNCTIONAL_CSS = "\n.fbn-ic-gallery {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n perspective: 1000px;\n}\n\n.fbn-ic-image {\n position: absolute;\n cursor: pointer;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0.6s;\n will-change: transform;\n user-select: none;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n}\n\n.fbn-ic-image.fbn-ic-focused {\n z-index: 1000;\n transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1),\n filter 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n outline 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n z-index 0s 0s;\n will-change: auto;\n}\n\n.fbn-ic-counter {\n position: fixed;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 10001;\n pointer-events: none;\n}\n\n.fbn-ic-gallery:focus,\n.fbn-ic-gallery.fbn-ic-has-focus {\n outline: 2px solid rgba(147, 197, 253, 0.8);\n outline-offset: -4px;\n}\n.fbn-ic-gallery.fbn-ic-suppress-outline:focus {\n outline: none;\n}\n.fbn-ic-gallery.fbn-ic-suppress-outline.fbn-ic-has-focus {\n outline: 2px solid rgba(99, 102, 241, 0.6);\n outline-offset: -4px;\n}\n\n.fbn-ic-nav-btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10001;\n cursor: pointer;\n border: none;\n background: none;\n padding: 0;\n line-height: 1;\n}\n.fbn-ic-nav-btn-prev {\n left: 12px;\n}\n.fbn-ic-nav-btn-next {\n right: 12px;\n}\n\n.fbn-ic-hidden {\n display: none !important;\n}\n";
|
|
556
556
|
|
|
557
557
|
export declare type GalleryConfig = ImageCloudConfig;
|
|
558
558
|
|
|
@@ -805,6 +805,10 @@ declare class ImageCloud {
|
|
|
805
805
|
private errorElAutoCreated;
|
|
806
806
|
private counterEl;
|
|
807
807
|
private counterElAutoCreated;
|
|
808
|
+
private prevButtonEl;
|
|
809
|
+
private nextButtonEl;
|
|
810
|
+
private prevButtonElAutoCreated;
|
|
811
|
+
private nextButtonElAutoCreated;
|
|
808
812
|
constructor(options?: ImageCloudOptions);
|
|
809
813
|
/**
|
|
810
814
|
* Create image filter based on shared loader config
|
|
@@ -828,6 +832,8 @@ declare class ImageCloud {
|
|
|
828
832
|
private createDefaultLoadingElement;
|
|
829
833
|
private createDefaultErrorElement;
|
|
830
834
|
private createDefaultCounterElement;
|
|
835
|
+
private createDefaultPrevButtonElement;
|
|
836
|
+
private createDefaultNextButtonElement;
|
|
831
837
|
private setupEventListeners;
|
|
832
838
|
/**
|
|
833
839
|
* Navigate to the next image (Right arrow)
|
|
@@ -865,6 +871,10 @@ declare class ImageCloud {
|
|
|
865
871
|
private hideError;
|
|
866
872
|
private updateCounter;
|
|
867
873
|
private hideCounter;
|
|
874
|
+
private showFocusIndicator;
|
|
875
|
+
private hideFocusIndicator;
|
|
876
|
+
private showNavButtons;
|
|
877
|
+
private hideNavButtons;
|
|
868
878
|
/**
|
|
869
879
|
* Destroy the gallery and clean up resources
|
|
870
880
|
*/
|
|
@@ -880,7 +890,7 @@ export declare interface ImageCloudConfig {
|
|
|
880
890
|
layout: LayoutConfig;
|
|
881
891
|
animation: AnimationConfig;
|
|
882
892
|
interaction: InteractionConfig;
|
|
883
|
-
|
|
893
|
+
ui: UIConfig;
|
|
884
894
|
styling?: ImageStylingConfig;
|
|
885
895
|
}
|
|
886
896
|
|
|
@@ -893,7 +903,11 @@ export declare interface ImageCloudOptions {
|
|
|
893
903
|
layout?: Partial<LayoutConfig>;
|
|
894
904
|
animation?: Partial<AnimationConfig>;
|
|
895
905
|
interaction?: Partial<InteractionConfig>;
|
|
896
|
-
|
|
906
|
+
ui?: Partial<UIConfig>;
|
|
907
|
+
/** @deprecated Use `ui` instead of `rendering.ui` */
|
|
908
|
+
rendering?: {
|
|
909
|
+
ui?: Partial<UIConfig>;
|
|
910
|
+
};
|
|
897
911
|
styling?: Partial<ImageStylingConfig>;
|
|
898
912
|
}
|
|
899
913
|
|
|
@@ -1253,11 +1267,6 @@ export declare class RandomPlacementLayout implements PlacementLayout {
|
|
|
1253
1267
|
private random;
|
|
1254
1268
|
}
|
|
1255
1269
|
|
|
1256
|
-
declare interface RenderingConfig {
|
|
1257
|
-
responsive: ResponsiveRenderingConfig;
|
|
1258
|
-
ui: UIRenderingConfig;
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
1270
|
/**
|
|
1262
1271
|
* Check if a path type requires JavaScript animation (vs CSS transitions)
|
|
1263
1272
|
*/
|
|
@@ -1281,18 +1290,9 @@ export declare interface ResponsiveHeight {
|
|
|
1281
1290
|
height: number;
|
|
1282
1291
|
}
|
|
1283
1292
|
|
|
1284
|
-
export declare interface ResponsiveRenderingConfig {
|
|
1285
|
-
breakpoints: {
|
|
1286
|
-
mobile: number;
|
|
1287
|
-
tablet?: number;
|
|
1288
|
-
desktop?: number;
|
|
1289
|
-
};
|
|
1290
|
-
mobileDetection: () => boolean;
|
|
1291
|
-
}
|
|
1292
|
-
|
|
1293
1293
|
declare type ShadowPreset = 'none' | 'sm' | 'md' | 'lg' | 'glow';
|
|
1294
1294
|
|
|
1295
|
-
|
|
1295
|
+
declare interface SharedLoaderConfig {
|
|
1296
1296
|
validateUrls?: boolean;
|
|
1297
1297
|
validationTimeout?: number;
|
|
1298
1298
|
validationMethod?: 'head' | 'simple' | 'none';
|
|
@@ -1482,12 +1482,16 @@ export declare interface TransformParams {
|
|
|
1482
1482
|
scale?: number;
|
|
1483
1483
|
}
|
|
1484
1484
|
|
|
1485
|
-
export declare interface
|
|
1485
|
+
export declare interface UIConfig {
|
|
1486
1486
|
showLoadingSpinner: boolean;
|
|
1487
1487
|
showImageCounter?: boolean;
|
|
1488
1488
|
loadingElement?: string | HTMLElement;
|
|
1489
1489
|
errorElement?: string | HTMLElement;
|
|
1490
1490
|
counterElement?: string | HTMLElement;
|
|
1491
|
+
showNavButtons?: boolean;
|
|
1492
|
+
prevButtonElement?: string | HTMLElement;
|
|
1493
|
+
nextButtonElement?: string | HTMLElement;
|
|
1494
|
+
showFocusOutline?: boolean;
|
|
1491
1495
|
}
|
|
1492
1496
|
|
|
1493
1497
|
/**
|