react-motion-gallery 1.0.0 → 2.0.0

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/package.json CHANGED
@@ -1,63 +1,63 @@
1
1
  {
2
2
  "name": "react-motion-gallery",
3
- "version": "1.0.0",
4
- "description": "A high-performance media slider + fullscreen viewer for React/Next apps.",
5
- "license": "MIT",
6
- "author": "David Medero",
3
+ "version": "2.0.0",
4
+ "description": "React Motion Gallery - smooth, customizable media gallery components",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "author": "React Motion Gallery",
7
+ "homepage": "https://react-motion-gallery.com",
7
8
  "repository": {
8
9
  "type": "git",
9
- "url": "git+https://github.com/davidmedero/react-motion-gallery.git"
10
+ "url": "git+https://github.com/davidmedero/react-motion-gallery.git",
11
+ "directory": "packages/react-motion-gallery"
10
12
  },
11
13
  "bugs": {
12
14
  "url": "https://github.com/davidmedero/react-motion-gallery/issues"
13
15
  },
14
- "homepage": "https://github.com/davidmedero/react-motion-gallery#readme",
15
- "type": "module",
16
- "main": "./dist/index.cjs",
17
- "module": "./dist/index.mjs",
18
- "types": "./dist/index.d.ts",
16
+ "funding": {
17
+ "type": "url",
18
+ "url": "https://react-motion-gallery.com/pricing"
19
+ },
20
+ "commercialLicense": {
21
+ "requiredForRevenueUse": true,
22
+ "url": "https://react-motion-gallery.com/license"
23
+ },
24
+ "main": "dist/index.cjs",
25
+ "module": "dist/index.mjs",
26
+ "types": "dist/index.d.ts",
19
27
  "exports": {
20
28
  ".": {
21
29
  "types": "./dist/index.d.ts",
22
30
  "import": "./dist/index.mjs",
23
31
  "require": "./dist/index.cjs"
24
- },
25
- "./styles.css": "./dist/styles/index.css",
26
- "./package.json": "./package.json"
32
+ }
27
33
  },
28
34
  "files": [
29
- "dist",
30
- "README.md",
31
- "LICENSE"
35
+ "dist"
32
36
  ],
33
37
  "sideEffects": [
34
38
  "*.css",
35
39
  "**/*.css"
36
40
  ],
37
- "scripts": {
38
- "build": "tsup",
39
- "prepublishOnly": "npm run build",
40
- "test": "echo \"No tests yet\" && exit 0"
41
- },
42
- "keywords": [
43
- "react",
44
- "carousel",
45
- "gallery",
46
- "lightbox",
47
- "fullscreen",
48
- "slider",
49
- "video",
50
- "plyr"
51
- ],
52
41
  "peerDependencies": {
53
- "plyr-react": ">=5",
42
+ "plyr": "^3.8.4",
43
+ "plyr-react": "^6.0.0",
54
44
  "react": ">=18",
55
45
  "react-dom": ">=18"
56
46
  },
47
+ "peerDependenciesMeta": {
48
+ "plyr-react": {
49
+ "optional": true
50
+ },
51
+ "plyr": {
52
+ "optional": true
53
+ }
54
+ },
55
+ "scripts": {
56
+ "dev": "tsup --watch",
57
+ "build": "tsup"
58
+ },
57
59
  "devDependencies": {
58
- "@types/react": "^19.2.2",
59
- "@types/react-dom": "^19.2.2",
60
- "tsup": "^8.5.0",
61
- "typescript": "^5.9.3"
60
+ "plyr": "^3.8.4",
61
+ "plyr-react": "^6.0.0"
62
62
  }
63
63
  }
@@ -1,177 +0,0 @@
1
- .slider_container {
2
- cursor: grab;
3
- }
4
-
5
- .slider_container:active {
6
- cursor: grabbing;
7
- }
8
-
9
- /* .slider_container :global(img),
10
- .slider_container :global(video) {
11
- max-width: none !important;
12
- } */
13
-
14
- @media (max-width: 600px) {
15
- .slider_container,
16
- .fade_container {
17
- height: 50vw !important;
18
- }
19
- }
20
-
21
- .fadeInStart {
22
- opacity: 0;
23
- transform: translateY(8px);
24
- }
25
- .fadeInActive {
26
- opacity: 1;
27
- transform: translateY(0);
28
- transition: opacity 420ms cubic-bezier(.2,.7,.2,1), transform 420ms cubic-bezier(.2,.7,.2,1);
29
- }
30
-
31
- .shimmerOverlay {
32
- position: absolute;
33
- inset: 0;
34
- border-radius: 8px;
35
- overflow: hidden;
36
- background: linear-gradient(90deg, #f0f2f5 25%, #e6e9ef 37%, #f0f2f5 63%);
37
- background-size: 400% 100%;
38
- animation: rmgShimmer 1.2s infinite linear;
39
- }
40
-
41
- @keyframes rmgShimmer {
42
- 0% { background-position: 200% 0; }
43
- 100% { background-position: -200% 0; }
44
- }
45
-
46
- @media (prefers-reduced-motion: reduce) {
47
- .fadeInActive {
48
- transition: none;
49
- }
50
- .shimmerOverlay {
51
- animation: none;
52
- }
53
- }
54
-
55
- .pagination_dot {
56
- width: 14px;
57
- height: 14px;
58
- overflow: hidden;
59
- border-radius: 50%;
60
- margin: 5px 5px 5px 5px;
61
- cursor: pointer;
62
- transition:
63
- transform 0.2s ease,
64
- background-color 0.3s ease,
65
- box-shadow 0.3s ease;
66
- }
67
-
68
- .pagination_dot:hover {
69
- transform: scale(1.2);
70
- }
71
-
72
- .pagination_dot.active {
73
- background-color: rgb(80, 163, 255);
74
- box-shadow: 0 0 8px rgba(80, 163, 255, 0.6);
75
- }
76
-
77
- .pagination_dot.inactive {
78
- background-color: lightgray;
79
- }
80
-
81
- .ripple {
82
- position: absolute;
83
- border-radius: 50%;
84
- transform: scale(0);
85
- animation: ripple 600ms linear;
86
- background-color: rgba(0, 0, 0, 0.3);
87
- pointer-events: none;
88
- }
89
-
90
- @keyframes ripple {
91
- to {
92
- transform: scale(4);
93
- opacity: 0;
94
- }
95
- }
96
-
97
- .fullscreenOverlay {
98
- position: fixed;
99
- top: 0;
100
- left: 0;
101
- width: 100%;
102
- height: 100%;
103
- opacity: 0;
104
- will-change: opacity;
105
- pointer-events: none;
106
- background-color: transparent;
107
- transition: opacity 0.3s, background-color 0.3s;
108
- z-index: 8999;
109
- }
110
- .open {
111
- opacity: 1;
112
- pointer-events: auto;
113
- }
114
-
115
- .duplicateImg {
116
- position: fixed;
117
- display: none;
118
- transform-origin: top left;
119
- transition: transform 0.3s cubic-bezier(.4,0,.22,1);
120
- z-index: 9998;
121
- will-change: transform;
122
- }
123
-
124
- .closeBtn,
125
- .leftChevron,
126
- .rightChevron,
127
- .counter {
128
- position: fixed;
129
- display: none;
130
- opacity: 0;
131
- transition: opacity 0.3s cubic-bezier(.4,0,.22,1);
132
- z-index: 9999;
133
- }
134
- .closeBtn.open,
135
- .leftChevron.open,
136
- .rightChevron.open,
137
- .counter.open {
138
- display: block;
139
- opacity: 1;
140
- }
141
-
142
- .closeBtn {
143
- top: 12px;
144
- right: 12px;
145
- background: transparent;
146
- border: none;
147
- padding: 0;
148
- width: 35px;
149
- height: 35px;
150
- cursor: pointer;
151
- }
152
-
153
- .leftChevron,
154
- .rightChevron {
155
- top: 45.5%;
156
- width: 50px;
157
- height: 50px;
158
- cursor: pointer;
159
- }
160
- .leftChevron { left: 0; transform: rotate(180deg); }
161
- .rightChevron { right: 0; }
162
-
163
- .counter {
164
- top: 15px;
165
- left: 16px;
166
- color: #fff;
167
- font-size: 14px;
168
- line-height: 32px;
169
- user-select: none;
170
- text-shadow: 1px 1px 3px #4f4f4f;
171
- }
172
-
173
- .dragging,
174
- .dragging * {
175
- cursor: grabbing !important;
176
- cursor: -webkit-grabbing !important;
177
- }
@@ -1,32 +0,0 @@
1
- .thumb {
2
- position: relative;
3
- border: 1px solid rgba(0,0,0,.12);
4
- border-radius: 6px;
5
- overflow: hidden;
6
- box-sizing: border-box;
7
- }
8
-
9
- .thumb::after {
10
- content: "";
11
- position: absolute;
12
- inset: 0;
13
- border-radius: inherit;
14
- pointer-events: none;
15
- box-shadow: 0 0 0 2px #111 inset;
16
- opacity: 0;
17
- transition: opacity 120ms ease;
18
- z-index: 1;
19
- }
20
-
21
- .thumb[data-active="true"]::after {
22
- opacity: 1;
23
- }
24
-
25
- .thumb :global(img) {
26
- display: block;
27
- width: 100%;
28
- height: 100%;
29
- object-fit: cover;
30
- position: relative;
31
- z-index: 0;
32
- }