0.9.9 • Published 2 years ago
gallery-with-magnifier v0.9.9
Gallery Lib with App Router
Get Started
Requires NextJS 13
npm install react-image-gallery
Import the package, If the project doesnt have tailwindCSS installed import the styles as well
import { Modal } from "gallery-with-magnifier";
import "gallery-with-magnifier/styles.css" // Optional
Example Usage
"use client"
import { useState } from "react"
import { Modal } from "gallery-with-magnifier"
import data from "./mock,ts"
export default function Page() {
const [openModal, setOpenModal] = useState(false);
const [currentSlide, setCurrentSlide] = useState(0);
return (
<div className="flex flex-row w-full h-[540px] gap-3 relative">
<div className="flex flex-col w-full h-full">
<span onClick={() => {
setCurrentSlide(4);
setOpenModal(true);
}}>Open Modal</span>
</div>
{openModal && (
<Modal
currentImage={currentSlide}
images={data}
onClose={() => {setOpenModal(false)}}
zoomIn={false}
/>
)}
</div>
);
}
Update the next.config.js of your project with
/** @type {import('next').NextConfig} */
const nextConfig = {
...
transpilePackages: ["gallery-with-magnifier"]
}
module.exports = nextConfig
Add these media queries and reference the library path in tailwind.config.js
content: [
...
'./node_modules/gallery-with-magnifier/**/*.{html,js,ts,tsx}'
],
...
extend: {
screens: {
'2xl': '1400px',
narrow: { raw: '(max-aspect-ratio: 3 / 2)' },
wide: { raw: '(min-aspect-ratio: 3 / 2)' },
'taller-than-854': { raw: '(min-height: 854px)' },
short: { raw: '(max-height: 800px)' },
medium: { raw: '(max-height: 1000px)' },
},
},
Toggle Switch Component
- toggleHandler: (required) Void
<ToggleSwitchMagnify toggleHandler={handleMag} />
...
const [showMag, setShowMag] = useState(false);
const handleMag = () => {
setShowMag(!showMag);
console.log("now set to", showMag) // testing
}
Props
images
: (required) Array of objects- Available Properties:
id
: *numberstatus
: (optional) Objectstatus: { msg: "fair" (the badges render the color based on the text of this value), type: optional (string) },
- if the value of message is different than the type, then there are 4 type badges that can be added instead
type: [default, warning, success, error]
- if the value of message is different than the type, then there are 4 type badges that can be added instead
image
: *string
- Available Properties:
onClose
: (required) Void, A void for handling CloseEventszoomIn
: (optional) Boolean, To toggle Magnifying GlassdefaultValue
: false
currentImage
: Number, Id of an image from the Images Array
0.9.9
2 years ago
0.9.8
2 years ago
0.9.7
2 years ago
0.9.6
2 years ago
0.9.5
2 years ago
0.9.4
2 years ago
0.9.3
2 years ago
0.9.2
2 years ago
0.9.1
2 years ago
0.9.0
2 years ago
0.8.9
2 years ago
0.8.8
2 years ago
0.8.7
2 years ago
0.8.6
2 years ago
0.8.5
2 years ago
0.8.4
2 years ago
0.8.3
2 years ago
0.8.2
2 years ago
0.8.1
2 years ago
0.8.0
2 years ago
0.7.9
2 years ago
0.7.8
2 years ago
0.7.7
2 years ago
0.7.6
2 years ago
0.7.5
2 years ago
0.7.4
2 years ago
0.7.3
2 years ago
0.7.2
2 years ago
0.7.1
2 years ago
0.7.0
2 years ago
0.6.0
2 years ago
0.5.0
2 years ago
0.4.0
2 years ago
0.3.0
2 years ago
0.2.0
2 years ago
0.1.0
2 years ago