4.1.83 • Published 1 day ago

lean-gallery v4.1.83

Weekly downloads
35
License
-
Repository
github
Last release
1 day ago

Blazing fast & beautiful galleries built with React. Try it out now.

  • Responsive
  • Lazy loading
  • Infinite Scroll
  • Fully Customizable
  • Supports images, videos, and HTML

NPM Version Build Status

Gettings Started

The best way to get started is by using the Playground. Use the sidebar to configure the gallery layout you need. When you're done, click the Generate Gallery Code button to get the copy-paste-ready code. All you need to do after that is specify the images array for the gallery to process - and your gallery is ready!

Installation

Install with npm

npm i -S pro-gallery

or yarn

yarn add pro-gallery

Basic Code

import { ProGallery } from 'pro-gallery';
import 'pro-gallery/dist/statics/main.css';

<ProGallery
  domId={domId}
  items={items}
  options={options}
  container={container}
  scrollingElement={() => document.getElementById('gallery') || window}
  eventsListener={(eName, eData) => console.log({eName, eData})}
  resizeMediaUrl={(item, url, resizeMethod, width, height) => `https://...`}
/>

To see more options and a real usage example, use the playground source code as reference.

Options

The gallery has A LOT of options, so to make it all easier, we created the Playground. Each option is expandable in the sidebar, and has all the info you need about using it. Notice that you can click on Generate Gallery Code anytime to get the code for the gallery layout you created.

Items

For the code you generated to work you need to do just one more thing - provide it with a list of objects, each containing at least an id, dto, and metadata:

const items = [
  { // Image item:
    itemId: 'sample-id',
    mediaUrl: 'sample-image-url',
    metaData: {
      type: 'image',
      height: 200,
      width: 100,
      title: 'sample-title',
      description: 'sample-description',
      focalPoint: [0, 0],
      link: {
        url: 'http://example.com',
        target: '_blank'
      },
    }
  },
  { // Video item:
    itemId: 'sample-id',
    mediaUrl: 'sample-video-url',
    metaData: {
      type: 'video',
      height: 200,
      width: 100,
  		poster: 'sample-image-url',
      title: 'sample-title',
      description: 'sample-description',
      focalPoint: [0, 0],
      link: {
        url: 'http://example.com',
        target: '_blank'
      },
    }
  },
  { // HTML item:
    itemId: 'sample-id',
    html: "<div style='width: 300px; height: 200px; background:pink;'>I am a text block</div>",
    metadata: {
      type: "text",
      height: 200,
      width: 300,
      title: 'sample-title',
      description: 'sample-description',
      backgroundColor: 'pink'
    },

  },
  {...},
  {...}
]

Container

An object containing the width and height (in pixels) of the gallery. These values should change when the container resizes, to allow the gallery to be responsive.

const container = {
  width: 1000,
  height: 500,
}

The width and height values represent the size of the gallery. Thus, the gallery will size inner items to fit exactly into that size. Notice that when infiniteScroll is enabled, vertical galleries will ignore the height parameter and horizontal galleries will ignore the width parameter.

domId

A unique Id for the gallery. Use this if you plan to display multiple galleries on the same page, or when using SSR - to make sure the gallery does not "flicker" in the hydrate phase.

Scrolling Element

The DOM element inside which the gallery is scrolled (defaults to window). If the gallery is scrolled inside a different element, pass its dom reference in this property. You can also pass a function that returns that dom element. notice: this is relevant to vertical galleries only. Horizontal galleries (e.g. slideshow) are handling the scroll themselves.

Events Listener

A callback function that gets called whenever something happens in the gallery. This allows you to react to specific events. The most important events are:

Event NameDescription
GALLERY_CHANGEFired whenever the gallery finished rendering, usually after the props were changed. This event contains the structure data of the gallery.
ITEM_ACTION_TRIGGEREDFired whenever one of the items is clicked or tapped and the gallery cannot handle the action itself (e.g. open an expanded view).
NEED_MORE_ITEMSFired whenever the gallery is scrolled near its last item. If you are using a pagination server, this is the event that should trigger the next page and re-render the gallery with new items.

The full list of the gallery events is here.

Media URL Resizer

If you want to use a server-side resizing service (e.g. cloudinary), you can pass a resizing function. This function receives the item and required dimensions and should return the resize url. Notice that this function will be called several times for each item so it should be fast. An example can be found here

Custom Renderers

The Gallery supports custom renderers both for the Hover Element (appears when hovering over an item) and the Info Element (appears below / above an item). To replace the default rendering of these elements, pass a function that will receive the props of an item and that in turn should return a JSX element. For example:

<ProGallery
  {...otherProps}
  customHoverRenderer={itemProps => <div>Hover #{itemProps.idx}</div>}
  customInfoRenderer={itemProps => <div>Info #{itemProps.idx}</div>}
  customLoadMoreRenderer={galleryProps => <button>Load More</button>}
/>
4.1.133

1 day ago

4.1.132

4 days ago

4.1.130

12 days ago

4.1.131

11 days ago

4.1.128

13 days ago

4.1.129

13 days ago

4.1.127

13 days ago

4.1.125

18 days ago

4.1.126

18 days ago

4.1.124

22 days ago

4.1.123

26 days ago

4.1.122

1 month ago

4.1.121

2 months ago

4.1.120

2 months ago

4.1.119

2 months ago

4.1.118

2 months ago

4.1.117

2 months ago

4.1.116

3 months ago

4.1.115

3 months ago

4.1.114

3 months ago

4.1.113

3 months ago

4.1.112

4 months ago

4.1.110

7 months ago

4.1.111

7 months ago

4.1.109

9 months ago

4.1.106

10 months ago

4.1.107

10 months ago

4.1.108

9 months ago

4.1.104

12 months ago

4.1.105

12 months ago

4.1.103

1 year ago

4.1.102

1 year ago

4.1.100

1 year ago

4.1.101

1 year ago

4.1.90

1 year ago

4.1.91

1 year ago

4.1.96

1 year ago

4.1.97

1 year ago

4.1.98

1 year ago

4.1.99

1 year ago

4.1.92

1 year ago

4.1.93

1 year ago

4.1.94

1 year ago

4.1.95

1 year ago

4.1.89

1 year ago

4.1.52

2 years ago

4.1.53

2 years ago

4.1.54

2 years ago

4.1.55

2 years ago

4.1.50

2 years ago

4.1.51

2 years ago

4.1.56

2 years ago

4.1.57

2 years ago

4.1.58

2 years ago

4.1.59

2 years ago

4.1.74

1 year ago

4.1.75

1 year ago

4.1.76

1 year ago

4.1.70

2 years ago

4.1.71

2 years ago

4.1.72

2 years ago

4.1.73

1 year ago

4.1.78

1 year ago

4.1.79

1 year ago

4.1.63

2 years ago

4.1.64

2 years ago

4.1.65

2 years ago

4.1.66

2 years ago

4.1.60

2 years ago

4.1.61

2 years ago

4.1.62

2 years ago

4.1.67

2 years ago

4.1.68

2 years ago

4.1.69

2 years ago

4.1.80

1 year ago

4.1.85

1 year ago

4.1.86

1 year ago

4.1.87

1 year ago

4.1.88

1 year ago

4.1.81

1 year ago

4.1.82

1 year ago

4.1.83

1 year ago

4.1.84

1 year ago

4.1.39

2 years ago

4.1.41

2 years ago

4.1.42

2 years ago

4.1.43

2 years ago

4.1.44

2 years ago

4.1.40

2 years ago

4.1.49

2 years ago

4.1.45

2 years ago

4.1.46

2 years ago

4.1.47

2 years ago

4.1.48

2 years ago

4.1.8

2 years ago

4.1.7

2 years ago

4.1.9

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.6

2 years ago

4.1.5

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.0.15-beta.299

2 years ago

4.0.15-beta.298

2 years ago

4.0.15-beta.295

2 years ago

4.0.15-beta.294

2 years ago

4.0.15-beta.297

2 years ago

4.0.15-beta.296

2 years ago

4.0.15-beta.291

2 years ago

4.0.15-beta.293

2 years ago

4.0.15-beta.292

2 years ago

4.0.15-beta.303

2 years ago

4.0.15-beta.302

2 years ago

4.0.15-beta.304

2 years ago

4.0.15-beta.301

2 years ago

4.0.15-beta.300

2 years ago

4.1.30

2 years ago

4.1.31

2 years ago

4.1.32

2 years ago

4.1.33

2 years ago

4.1.38

2 years ago

4.1.34

2 years ago

4.1.35

2 years ago

4.1.36

2 years ago

4.1.37

2 years ago

4.1.20

2 years ago

4.1.21

2 years ago

4.1.22

2 years ago

4.1.27

2 years ago

4.1.28

2 years ago

4.1.29

2 years ago

4.1.23

2 years ago

4.1.24

2 years ago

4.1.25

2 years ago

4.1.26

2 years ago

4.1.10

2 years ago

4.1.11

2 years ago

4.1.16

2 years ago

4.1.17

2 years ago

4.1.18

2 years ago

4.1.19

2 years ago

4.1.12

2 years ago

4.1.13

2 years ago

4.1.14

2 years ago

4.1.15

2 years ago

4.0.15-beta.282

2 years ago

4.0.15-beta.288

2 years ago

4.0.15-beta.287

2 years ago

4.0.15-beta.289

2 years ago

4.0.15-beta.284

2 years ago

4.0.15-beta.283

2 years ago

4.0.15-beta.286

2 years ago

4.0.15-beta.285

2 years ago

4.0.15-beta.290

2 years ago

4.0.15-beta.259

2 years ago

4.0.15-beta.258

2 years ago

4.0.15-beta.255

2 years ago

4.0.15-beta.254

2 years ago

4.0.15-beta.257

2 years ago

4.0.15-beta.256

2 years ago

4.0.15-beta.251

2 years ago

4.0.15-beta.250

2 years ago

4.0.15-beta.253

2 years ago

4.0.15-beta.252

2 years ago

4.0.15-beta.260

2 years ago

4.0.15-beta.248

2 years ago

4.0.15-beta.247

2 years ago

4.0.15-beta.249

2 years ago

4.0.15-beta.244

2 years ago

4.0.15-beta.243

2 years ago

4.0.15-beta.246

2 years ago

4.0.15-beta.245

2 years ago

4.0.15-beta.242

2 years ago

4.0.15-beta.277

2 years ago

4.0.15-beta.276

2 years ago

4.0.15-beta.279

2 years ago

4.0.15-beta.278

2 years ago

4.0.15-beta.273

2 years ago

4.0.15-beta.272

2 years ago

4.0.15-beta.275

2 years ago

4.0.15-beta.274

2 years ago

4.0.15-beta.280

2 years ago

4.0.15-beta.281

2 years ago

4.0.15-beta.269

2 years ago

4.0.15-beta.266

2 years ago

4.0.15-beta.265

2 years ago

4.0.15-beta.268

2 years ago

4.0.15-beta.267

2 years ago

4.0.15-beta.262

2 years ago

4.0.15-beta.261

2 years ago

4.0.15-beta.264

2 years ago

4.0.15-beta.263

2 years ago

4.0.15-beta.271

2 years ago

4.0.15-beta.270

2 years ago

4.0.15-beta.237

2 years ago

4.0.15-beta.236

2 years ago

4.0.15-beta.239

2 years ago

4.0.15-beta.238

2 years ago

4.0.15-beta.240

2 years ago

4.0.15-beta.241

2 years ago

4.0.15-beta.233

2 years ago

4.0.15-beta.232

2 years ago

4.0.15-beta.235

2 years ago

4.0.15-beta.234

2 years ago

4.0.15-beta.231

2 years ago

4.0.15-beta.230

2 years ago

4.0.15-beta.229

2 years ago

4.0.15-beta.226

2 years ago

4.0.15-beta.225

2 years ago

4.0.15-beta.228

2 years ago

4.0.15-beta.227

2 years ago

4.0.15-beta.222

2 years ago

4.0.15-beta.221

2 years ago

4.0.15-beta.224

2 years ago

4.0.15-beta.223

2 years ago

4.0.15-beta.220

2 years ago

4.0.15-beta.219

2 years ago

4.0.15-beta.218

2 years ago

4.0.15-beta.215

2 years ago

4.0.15-beta.214

2 years ago

4.0.15-beta.217

2 years ago

4.0.15-beta.216

2 years ago

4.0.15-beta.211

2 years ago

4.0.15-beta.210

2 years ago

4.0.15-beta.213

2 years ago

4.0.15-beta.212

2 years ago

4.0.15-beta.208

2 years ago

4.0.15-beta.207

2 years ago

4.0.15-beta.209

2 years ago

4.0.15-beta.204

2 years ago

4.0.15-beta.203

2 years ago

4.0.15-beta.206

2 years ago

4.0.15-beta.205

2 years ago

4.0.15-beta.200

2 years ago

4.0.15-beta.202

2 years ago

4.0.15-beta.201

2 years ago

4.0.15-beta.199

2 years ago

4.0.15-beta.196

2 years ago

4.0.15-beta.195

2 years ago

4.0.15-beta.198

2 years ago

4.0.15-beta.197

2 years ago

4.0.15-beta.189

2 years ago

4.0.15-beta.188

2 years ago

4.0.15-beta.185

2 years ago

4.0.15-beta.184

2 years ago

4.0.15-beta.187

2 years ago

4.0.15-beta.186

2 years ago

4.0.15-beta.192

2 years ago

4.0.15-beta.191

2 years ago

4.0.15-beta.194

2 years ago

4.0.15-beta.193

2 years ago

4.0.15-beta.190

2 years ago

4.0.15-beta.178

2 years ago

4.0.15-beta.177

2 years ago

4.0.15-beta.179

2 years ago

4.0.15-beta.174

2 years ago

4.0.15-beta.173

2 years ago

4.0.15-beta.176

2 years ago

4.0.15-beta.175

2 years ago

4.0.15-beta.181

2 years ago

4.0.15-beta.180

2 years ago

4.0.15-beta.183

2 years ago

4.0.15-beta.182

2 years ago

4.0.15-beta.172

2 years ago

4.0.15-beta.167

2 years ago

4.0.15-beta.166

2 years ago

4.0.15-beta.169

2 years ago

4.0.15-beta.168

2 years ago

4.0.15-beta.165

3 years ago

4.0.15-beta.164

3 years ago

4.0.15-beta.170

2 years ago

4.0.15-beta.171

2 years ago

4.0.15-beta.161

3 years ago

4.0.15-beta.160

3 years ago

4.0.15-beta.163

3 years ago

4.0.15-beta.162

3 years ago

4.0.15-beta.159

3 years ago

4.0.15-beta.156

3 years ago

4.0.15-beta.155

3 years ago

4.0.15-beta.158

3 years ago

4.0.15-beta.157

3 years ago

4.0.15-beta.152

3 years ago

4.0.15-beta.151

3 years ago

4.0.15-beta.154

3 years ago

4.0.15-beta.153

3 years ago

4.0.15-beta.149

3 years ago

4.0.15-beta.148

3 years ago

4.0.15-beta.145

3 years ago

4.0.15-beta.147

3 years ago

4.0.15-beta.146

3 years ago

4.0.15-beta.150

3 years ago

4.0.15-beta.144

3 years ago

4.0.15-beta.143

3 years ago

4.0.15-beta.141

3 years ago

4.0.15-beta.142

3 years ago

4.0.15-beta.139

3 years ago

4.0.15-beta.140

3 years ago

4.0.15-beta.138

3 years ago

4.0.15-beta.137

3 years ago

4.0.15-beta.134

3 years ago

4.0.15-beta.133

3 years ago

4.0.15-beta.136

3 years ago

4.0.15-beta.135

3 years ago

4.0.15-beta.132

3 years ago

4.0.15-beta.131

3 years ago

4.0.15-beta.130

3 years ago

4.0.15-beta.129

3 years ago

4.0.15-beta.128

3 years ago

4.0.15-beta.127

3 years ago

4.0.15-beta.126

3 years ago

4.0.15-beta.125

3 years ago

4.0.15-beta.124

3 years ago

4.0.15-beta.123

3 years ago

4.0.15-beta.122

3 years ago

4.0.15-beta.121

3 years ago

4.0.15-beta.119

3 years ago

4.0.15-beta.116

3 years ago

4.0.15-beta.115

3 years ago

4.0.15-beta.118

3 years ago

4.0.15-beta.117

3 years ago

4.0.15-beta.114

3 years ago

4.0.15-beta.120

3 years ago

4.0.15-beta.113

3 years ago

4.0.15-beta.112

3 years ago

4.0.15-beta.111

3 years ago

4.0.15-beta.110

3 years ago

4.0.15-beta.109

3 years ago

4.0.15-beta.108

3 years ago

4.0.15-beta.105

3 years ago

4.0.15-beta.104

3 years ago

4.0.15-beta.107

3 years ago

4.0.15-beta.106

3 years ago

4.0.15-beta.101

3 years ago

4.0.15-beta.103

3 years ago

4.0.15-beta.102

3 years ago

4.0.15-beta.100

3 years ago

4.0.15-beta.92

3 years ago

4.0.15-beta.93

3 years ago

4.0.15-beta.98

3 years ago

4.0.15-beta.99

3 years ago

4.0.15-beta.96

3 years ago

4.0.15-beta.97

3 years ago

4.0.15-beta.94

3 years ago

4.0.15-beta.95

3 years ago

4.0.15-beta.90

3 years ago

4.0.15-beta.91

3 years ago

4.0.15-beta.89

3 years ago

4.0.15-beta.87

3 years ago

4.0.15-beta.88

3 years ago

4.0.15-beta.85

3 years ago

4.0.15-beta.86

3 years ago

4.0.15-beta.83

3 years ago

4.0.15-beta.84

3 years ago

4.0.15-beta.81

3 years ago

4.0.15-beta.82

3 years ago

4.0.15-beta.80

3 years ago

4.0.15-beta.79

3 years ago

4.0.15-beta.78

3 years ago

4.0.15-beta.76

3 years ago

4.0.15-beta.77

3 years ago

4.0.15-beta.74

3 years ago

4.0.15-beta.75

3 years ago

4.0.15-beta.70

3 years ago

4.0.15-beta.71

3 years ago

4.0.15-beta.72

3 years ago

4.0.15-beta.73

3 years ago

4.0.15-beta.69

3 years ago

4.0.15-beta.67

3 years ago

4.0.15-beta.68

3 years ago

4.0.15-beta.65

3 years ago

4.0.15-beta.66

3 years ago

4.0.15-beta.64

3 years ago

4.0.15-beta.56

3 years ago

4.0.15-beta.57

3 years ago

4.0.15-beta.54

3 years ago

4.0.15-beta.55

3 years ago

4.0.15-beta.52

3 years ago

4.0.15-beta.53

3 years ago

4.0.15-beta.51

3 years ago

4.0.15-beta.58

3 years ago

4.0.15-beta.59

3 years ago

4.0.15-beta.60

3 years ago

4.0.15-beta.63

3 years ago

4.0.15-beta.61

3 years ago

4.0.15-beta.62

3 years ago

4.0.15-beta.50

3 years ago

4.0.15-beta.45

3 years ago

4.0.15-beta.46

3 years ago

4.0.15-beta.49

3 years ago

4.0.15-beta.47

3 years ago

4.0.15-beta.48

3 years ago

4.0.15-beta.38

3 years ago

4.0.15-beta.39

3 years ago

4.0.15-beta.43

3 years ago

4.0.15-beta.44

3 years ago

4.0.15-beta.41

3 years ago

4.0.15-beta.42

3 years ago

4.0.15-beta.40

3 years ago

4.0.15-beta.34

3 years ago

4.0.15-beta.35

3 years ago

4.0.15-beta.32

3 years ago

4.0.15-beta.33

3 years ago

4.0.15-beta.31

3 years ago

4.0.15-beta.36

3 years ago

4.0.15-beta.37

3 years ago

4.0.15-beta.30

3 years ago

4.0.15-beta.29

3 years ago

4.0.15-beta.27

3 years ago

4.0.15-beta.28

3 years ago

4.0.15-beta.26

3 years ago

4.0.15-beta.23

3 years ago

4.0.15-beta.24

3 years ago

4.0.15-beta.25

3 years ago

4.0.15-beta.21

3 years ago

4.0.15-beta.22

3 years ago

4.0.15-beta.20

3 years ago

4.0.15-beta.18

3 years ago

4.0.15-beta.19

3 years ago

4.0.15-beta.17

3 years ago

4.0.15-beta.16

3 years ago

4.0.15-beta.15

3 years ago

4.0.15-beta.12

3 years ago

4.0.15-beta.13

3 years ago

4.0.15-beta.10

3 years ago

4.0.15-beta.11

3 years ago

4.0.15-beta.14

3 years ago

4.0.15-beta.3

3 years ago

4.0.15-beta.4

3 years ago

4.0.15-beta.7

3 years ago

4.0.15-beta.8

3 years ago

4.0.15-beta.5

3 years ago

4.0.15-beta.6

3 years ago

4.0.15-beta.9

3 years ago

4.0.15-beta.1

3 years ago

4.0.14-beta.1

3 years ago

4.0.15-beta.2

3 years ago

4.0.6-beta.0

3 years ago

3.1.37

3 years ago

4.0.5-beta.0

3 years ago

3.1.31

3 years ago

3.1.30

3 years ago

4.0.4

3 years ago

4.0.3

3 years ago

4.0.0-beta.0

3 years ago

3.1.14

3 years ago

3.1.13

3 years ago

3.1.15

3 years ago

3.1.17

3 years ago

3.0.9

3 years ago

3.0.0

3 years ago

2.4.8

3 years ago

2.3.11

3 years ago

2.3.8

3 years ago

2.3.5

3 years ago

2.3.4

3 years ago