next-cloudinary 0.0.7 → 0.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"next-cloudinary.module.js","sources":["../src/lib/cloudinary.js","../src/plugins/cropping.js","../src/constants/qualifiers.js","../src/plugins/overlays.js","../src/plugins/remove-background.js","../src/plugins/tint.js","../src/plugins/underlays.js","../src/loaders/cloudinary-loader.js","../src/constants/options.js","../src/components/CldImage/CldImage.js"],"sourcesContent":["import { Cloudinary } from '@cloudinary/url-gen';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\n/**\n * createPlaceholderUrl\n */\n\nexport function createPlaceholderUrl({ src, placeholder }) {\n const cldImage = cld.image(src)\n .resize('c_limit,w_100')\n .delivery('q_1')\n .format('auto');\n\n if ( placeholder === 'grayscale' ) {\n cldImage.effect('e_grayscale');\n }\n\n if ( placeholder.includes('color:') ) {\n const color = placeholder.split(':').splice(1).join(':')\n cldImage.effect('e_grayscale');\n cldImage.effect(`e_colorize:60,co_${color}`);\n }\n\n return cldImage.toURL();\n}","const cropsGravityAuto = [ 'crop', 'fill', 'lfill', 'fill_pad', 'thumb' ];\n\nexport function croppingPlugin({ cldImage, options, cldOptions } = {}) {\n const { width, height } = options;\n const { crop = 'limit', gravity } = cldOptions;\n\n let transformationString = `c_${crop},w_${width}`;\n\n if ( !gravity && cropsGravityAuto.includes(crop) ) {\n gravity = 'auto';\n }\n\n if ( !['limit'].includes(crop) ) {\n transformationString = `${transformationString},h_${height}`;\n }\n\n if ( gravity ) {\n if ( gravity === 'auto' && !cropsGravityAuto.includes(crop) ) {\n console.warn('Auto gravity can only be used with crop, fill, lfill, fill_pad or thumb. Not applying gravity.');\n } else {\n transformationString = `${transformationString},g_${gravity}`;\n }\n }\n\n cldImage.resize(transformationString);\n}","// aspectRatio\n\nexport const primary = {\n aspectRatio: {\n qualifier: 'ar'\n },\n crop: {\n qualifier: 'c'\n },\n gravity: {\n qualifier: 'g'\n },\n height: {\n qualifier: 'h'\n },\n width: {\n qualifier: 'w'\n },\n};\n\nexport const position = {\n angle: {\n qualifier: 'a'\n },\n gravity: {\n qualifier: 'g'\n },\n x: {\n qualifier: 'x'\n },\n y: {\n qualifier: 'y'\n },\n}\n\nexport const text = {\n color: {\n qualifier: 'co',\n location: 'primary'\n },\n fontFamily: {\n qualifier: false\n },\n fontSize: {\n qualifier: false\n },\n fontWeight: {\n qualifier: false\n },\n letterSpacing: {\n qualifier: 'letter_spacing'\n },\n textDecoration: {\n qualifier: false\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport function overlaysPlugin({ cldImage, options, cldOptions } = {}) {\n const { overlays = [] } = cldOptions;\n\n const type = 'overlay';\n const typeQualifier = 'l';\n\n overlays.forEach(({ publicId, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasText = typeof text === 'object';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId && !hasText ) {\n console.warn(`An ${type} is missing Public ID or Text`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation;\n\n if ( hasText ) {\n layerTransformation = `${typeQualifier}_text`;\n } else {\n layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n }\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Text styling\n\n if ( hasText ) {\n const textTransformations = [];\n\n Object.keys(text).forEach(key => {\n if ( !qualifiersText[key] ) return;\n\n const { qualifier, location } = qualifiersText[key];\n\n if ( location === 'primary' ) {\n primary.push(`${qualifier}_${text[key]}`);\n } else {\n textTransformations.push(text[key]);\n }\n });\n\n layerTransformation = `${layerTransformation}:${textTransformations.join('_')}:${text.text}`\n }\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","export function removeBackgroundPlugin({ cldImage, options, cldOptions } = {}) {\n const { removeBackground = false } = cldOptions;\n if ( removeBackground ) {\n cldImage.effect('e_background_removal');\n }\n}","export function tintPlugin({ cldImage, options, cldOptions } = {}) {\n const { tint } = cldOptions;\n\n if ( tint ) {\n cldImage.effect(`e_tint:${tint}`);\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport function underlaysPlugin({ cldImage, options, cldOptions } = {}) {\n const { underlays = [] } = cldOptions;\n\n const type = 'underlay';\n const typeQualifier = 'u';\n\n underlays.forEach(({ publicId, type, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId ) {\n console.warn(`An ${type} is missing a Public ID`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","import { Cloudinary } from '@cloudinary/url-gen';\n\nimport { croppingPlugin } from '../plugins/cropping';\nimport { overlaysPlugin } from '../plugins/overlays';\nimport { removeBackgroundPlugin } from '../plugins/remove-background';\nimport { tintPlugin } from '../plugins/tint';\nimport { underlaysPlugin } from '../plugins/underlays';\n\nimport {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n});\n\nconst transformationPlugins = [\n removeBackgroundPlugin, // Background Removal must always come first\n croppingPlugin,\n tintPlugin,\n overlaysPlugin,\n underlaysPlugin\n];\n\nexport function cloudinaryLoader(options, cldOptions) {\n const {\n src,\n width,\n format = 'auto',\n quality = 'auto',\n } = options;\n\n const cldImage = cld.image(src);\n\n transformationPlugins.forEach(plugin => {\n plugin({\n cldImage,\n options,\n cldOptions\n });\n });\n\n return cldImage.format(format).delivery(`q_${quality}`).toURL();\n}","export const options = [\n 'crop',\n 'gravity',\n 'overlays',\n 'removeBackground',\n 'tint',\n 'underlays',\n];\n\n\n","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader } from '../../loaders/cloudinary-loader';\n\nimport { options as CLD_OPTIONS } from '../../constants/options';\n\nconst CldImage = props => {\n\n // Construct the base Image component props by filtering out Cloudinary-specific props\n\n const imageProps = {};\n\n Object.keys(props)\n .filter(key => !CLD_OPTIONS.includes(key))\n .forEach(key => imageProps[key] = props[key]);\n\n // Construct Cloudinary-specific props by looking for values for any of the supported prop keys\n\n const cldOptions = {};\n\n CLD_OPTIONS.forEach(key => {\n if ( props[key] ) {\n cldOptions[key] = props[key];\n }\n });\n\n // If we see a placeholder option, configure a Cloudinary-based URL.\n // The resulting image will always be blurred per Next.js, so we're\n // limited on options for placeholders.\n //\n // We need to do this logic here as we potentially need to mutate\n // an Image component prop as opposed to simply the URL\n //\n // https://nextjs.org/docs/api-reference/next/image#blurdataurl\n\n if ( imageProps.placeholder ) {\n imageProps.blurDataURL = createPlaceholderUrl({\n src: props.src,\n placeholder: props.placeholder\n });\n\n if ( imageProps.placeholder !== 'blur' ) {\n imageProps.placeholder = 'blur';\n }\n }\n\n return (\n <Image\n {...imageProps}\n loader={(options) => cloudinaryLoader({ ...imageProps, options }, cldOptions)}\n />\n );\n}\n\nexport default CldImage;"],"names":["cld","Cloudinary","cloud","cloudName","process","env","NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME","url","analytics","createPlaceholderUrl","src","placeholder","cldImage","image","resize","delivery","format","effect","includes","color","split","splice","join","toURL","cropsGravityAuto","croppingPlugin","options","cldOptions","width","height","crop","gravity","transformationString","console","warn","primary","aspectRatio","qualifier","position","angle","x","y","text","location","fontFamily","fontSize","fontWeight","letterSpacing","textDecoration","overlaysPlugin","overlays","type","typeQualifier","forEach","publicId","effects","layerEffects","_excluded","hasPublicId","hasText","hasPosition","layerTransformation","replace","applied","Object","keys","key","qualifiersPrimary","push","textTransformations","qualifiersText","qualifiersPosition","length","addTransformation","removeBackgroundPlugin","removeBackground","tintPlugin","tint","underlaysPlugin","underlays","transformationPlugins","cloudinaryLoader","quality","plugin","CldImage","props","imageProps","filter","CLD_OPTIONS","blurDataURL","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"next-cloudinary.module.js","sources":["../src/lib/cloudinary.js","../src/plugins/cropping.js","../src/constants/qualifiers.js","../src/plugins/overlays.js","../src/plugins/remove-background.js","../src/plugins/effects.js","../src/plugins/underlays.js","../src/loaders/cloudinary-loader.js","../src/constants/options.js","../src/components/CldImage/CldImage.js"],"sourcesContent":["import { Cloudinary } from '@cloudinary/url-gen';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\n/**\n * createPlaceholderUrl\n */\n\nexport function createPlaceholderUrl({ src, placeholder }) {\n const cldImage = cld.image(src)\n .resize('c_limit,w_100')\n .delivery('q_1')\n .format('auto');\n\n if ( placeholder === 'grayscale' ) {\n cldImage.effect('e_grayscale');\n }\n\n if ( placeholder.includes('color:') ) {\n const color = placeholder.split(':').splice(1).join(':')\n cldImage.effect('e_grayscale');\n cldImage.effect(`e_colorize:60,co_${color}`);\n }\n\n return cldImage.toURL();\n}","const cropsGravityAuto = [ 'crop', 'fill', 'lfill', 'fill_pad', 'thumb' ];\n\nexport const options = ['crop', 'gravity'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { width, height } = options;\n const { crop = 'limit', gravity } = cldOptions;\n\n let transformationString = `c_${crop},w_${width}`;\n\n if ( !gravity && cropsGravityAuto.includes(crop) ) {\n gravity = 'auto';\n }\n\n if ( !['limit'].includes(crop) ) {\n transformationString = `${transformationString},h_${height}`;\n }\n\n if ( gravity ) {\n if ( gravity === 'auto' && !cropsGravityAuto.includes(crop) ) {\n console.warn('Auto gravity can only be used with crop, fill, lfill, fill_pad or thumb. Not applying gravity.');\n } else {\n transformationString = `${transformationString},g_${gravity}`;\n }\n }\n\n cldImage.resize(transformationString);\n}","// aspectRatio\n\nexport const primary = {\n aspectRatio: {\n qualifier: 'ar'\n },\n crop: {\n qualifier: 'c'\n },\n gravity: {\n qualifier: 'g'\n },\n height: {\n qualifier: 'h'\n },\n width: {\n qualifier: 'w'\n },\n};\n\nexport const position = {\n angle: {\n qualifier: 'a'\n },\n gravity: {\n qualifier: 'g'\n },\n x: {\n qualifier: 'x'\n },\n y: {\n qualifier: 'y'\n },\n}\n\nexport const text = {\n color: {\n qualifier: 'co',\n location: 'primary'\n },\n fontFamily: {\n qualifier: false\n },\n fontSize: {\n qualifier: false\n },\n fontWeight: {\n qualifier: false\n },\n letterSpacing: {\n qualifier: 'letter_spacing'\n },\n textDecoration: {\n qualifier: false\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport const options = ['overlays'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { overlays = [] } = cldOptions;\n\n const type = 'overlay';\n const typeQualifier = 'l';\n\n overlays.forEach(({ publicId, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasText = typeof text === 'object';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId && !hasText ) {\n console.warn(`An ${type} is missing Public ID or Text`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation;\n\n if ( hasText ) {\n layerTransformation = `${typeQualifier}_text`;\n } else {\n layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n }\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Text styling\n\n if ( hasText ) {\n const textTransformations = [];\n\n Object.keys(text).forEach(key => {\n if ( !qualifiersText[key] ) return;\n\n const { qualifier, location } = qualifiersText[key];\n\n if ( location === 'primary' ) {\n primary.push(`${qualifier}_${text[key]}`);\n } else {\n textTransformations.push(text[key]);\n }\n });\n\n layerTransformation = `${layerTransformation}:${textTransformations.join('_')}:${text.text}`\n }\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","export const options = ['removeBackground'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { removeBackground = false } = cldOptions;\n if ( removeBackground ) {\n cldImage.effect('e_background_removal');\n }\n}","const params = [\n 'art',\n {\n prop: 'autoBrightness',\n effect: 'auto_brightness',\n },\n {\n prop: 'autoColor',\n effect: 'auto_color',\n },\n {\n prop: 'autoContrast',\n effect: 'auto_contrast',\n },\n {\n prop: 'assistColorblind',\n effect: 'assist_colorblind',\n },\n 'blackwhite',\n 'blur',\n {\n prop: 'blurFaces',\n effect: 'blur_faces',\n },\n {\n prop: 'blurRegion',\n effect: 'blur_region',\n },\n 'brightness',\n {\n prop: 'brightnessHSB',\n effect: 'brightness_hsb',\n },\n 'cartoonify',\n 'colorize',\n 'contrast',\n 'distort',\n {\n prop: 'fillLight',\n effect: 'fill_light',\n },\n 'gamma',\n {\n prop: 'gradientFade',\n effect: 'gradient_fade',\n },\n 'grayscale',\n 'improve',\n 'negate',\n {\n prop: 'oilPaint',\n effect: 'oil_paint',\n },\n 'outline',\n 'pixelate',\n {\n prop: 'pixelateFaces',\n effect: 'pixelate_faces',\n },\n {\n prop: 'pixelateRegion',\n effect: 'pixelate_region',\n },\n 'redeye',\n {\n prop: 'replaceColor',\n effect: 'replace_color',\n },\n 'saturation',\n 'sepia',\n 'shadow',\n 'sharpen',\n 'shear',\n {\n prop: 'simulateColorblind',\n effect: 'simulate_colorblind',\n },\n 'tint',\n {\n prop: 'unsharpMask',\n effect: 'unsharp_mask',\n },\n 'vectorize',\n 'vibrance',\n 'vignette',\n // 'zoompan' // requires GIF format\n];\n\nexport const options = params.map(param => param.prop || param);\n\nexport function plugin({ cldImage, cldOptions } = {}) {\n params.forEach(key => {\n\n const prop = key.prop || key;\n const effect = key.effect || key;\n\n if ( prop === 'oilPaint' && cldOptions[prop]) {\n console.log('cldOptions[prop]', cldOptions[prop])\n }\n if ( cldOptions[prop] === true ) {\n cldImage.effect(`e_${effect}`);\n } else if ( typeof cldOptions[prop] === 'string' ) {\n cldImage.effect(`e_${effect}:${cldOptions[prop]}`);\n }\n });\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport const options = ['underlays'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { underlays = [] } = cldOptions;\n\n const type = 'underlay';\n const typeQualifier = 'u';\n\n underlays.forEach(({ publicId, type, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId ) {\n console.warn(`An ${type} is missing a Public ID`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","import { Cloudinary } from '@cloudinary/url-gen';\n\nimport * as croppingPlugin from '../plugins/cropping';\nimport * as overlaysPlugin from '../plugins/overlays';\nimport * as removeBackgroundPlugin from '../plugins/remove-background';\nimport * as effectsPlugin from '../plugins/effects';\nimport * as underlaysPlugin from '../plugins/underlays';\n\nimport {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n});\n\nexport const transformationPlugins = [\n removeBackgroundPlugin, // Background Removal must always come first\n croppingPlugin,\n effectsPlugin,\n overlaysPlugin,\n underlaysPlugin\n];\n\nexport function cloudinaryLoader(options, cldOptions) {\n const {\n src,\n width,\n format = 'auto',\n quality = 'auto',\n } = options;\n\n const cldImage = cld.image(src);\n\n transformationPlugins.forEach(({ plugin }) => {\n plugin({\n cldImage,\n options,\n cldOptions\n });\n });\n\n return cldImage.format(format).delivery(`q_${quality}`).toURL();\n}","export const options = [];","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader, transformationPlugins } from '../../loaders/cloudinary-loader';\n\nimport { options as defaultOptions } from '../../constants/options';\n\nconst CldImage = props => {\n\n const CLD_OPTIONS = [...defaultOptions];\n\n transformationPlugins.forEach(({ options = [] }) => {\n options.forEach(option => {\n if ( CLD_OPTIONS.includes(option) ) {\n throw new Error(`Option ${option} already exists!`);\n }\n CLD_OPTIONS.push(option);\n });\n })\n\n // Construct the base Image component props by filtering out Cloudinary-specific props\n\n const imageProps = {};\n\n Object.keys(props)\n .filter(key => !CLD_OPTIONS.includes(key))\n .forEach(key => imageProps[key] = props[key]);\n\n // Construct Cloudinary-specific props by looking for values for any of the supported prop keys\n\n const cldOptions = {};\n\n CLD_OPTIONS.forEach(key => {\n if ( props[key] ) {\n cldOptions[key] = props[key];\n }\n });\n\n // If we see a placeholder option, configure a Cloudinary-based URL.\n // The resulting image will always be blurred per Next.js, so we're\n // limited on options for placeholders.\n //\n // We need to do this logic here as we potentially need to mutate\n // an Image component prop as opposed to simply the URL\n //\n // https://nextjs.org/docs/api-reference/next/image#blurdataurl\n\n if ( imageProps.placeholder ) {\n imageProps.blurDataURL = createPlaceholderUrl({\n src: props.src,\n placeholder: props.placeholder\n });\n\n if ( imageProps.placeholder !== 'blur' ) {\n imageProps.placeholder = 'blur';\n }\n }\n\n return (\n <Image\n {...imageProps}\n loader={(options) => cloudinaryLoader({ ...imageProps, options }, cldOptions)}\n />\n );\n}\n\nexport default CldImage;"],"names":["cld","Cloudinary","cloud","cloudName","process","env","NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME","url","analytics","createPlaceholderUrl","src","placeholder","cldImage","image","resize","delivery","format","effect","includes","color","split","splice","join","toURL","cropsGravityAuto","options","plugin","cldOptions","width","height","crop","gravity","transformationString","console","warn","primary","aspectRatio","qualifier","position","angle","x","y","text","location","fontFamily","fontSize","fontWeight","letterSpacing","textDecoration","overlays","type","typeQualifier","forEach","publicId","effects","layerEffects","_excluded","hasPublicId","hasText","hasPosition","layerTransformation","replace","applied","Object","keys","key","qualifiersPrimary","push","textTransformations","qualifiersText","qualifiersPosition","length","addTransformation","removeBackground","params","prop","map","param","log","underlays","transformationPlugins","removeBackgroundPlugin","croppingPlugin","effectsPlugin","overlaysPlugin","underlaysPlugin","cloudinaryLoader","quality","CldImage","props","CLD_OPTIONS","defaultOptions","option","Error","imageProps","filter","blurDataURL","_jsx"],"mappings":"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"}
@@ -75,7 +75,8 @@
75
75
  }
76
76
 
77
77
  var cropsGravityAuto = ['crop', 'fill', 'lfill', 'fill_pad', 'thumb'];
78
- function croppingPlugin(_temp) {
78
+ var options$5 = ['crop', 'gravity'];
79
+ function plugin$4(_temp) {
79
80
  var _ref = _temp === void 0 ? {} : _temp,
80
81
  cldImage = _ref.cldImage,
81
82
  options = _ref.options,
@@ -107,6 +108,12 @@
107
108
  cldImage.resize(transformationString);
108
109
  }
109
110
 
111
+ var croppingPlugin = {
112
+ __proto__: null,
113
+ options: options$5,
114
+ plugin: plugin$4
115
+ };
116
+
110
117
  // aspectRatio
111
118
  var primary = {
112
119
  aspectRatio: {
@@ -162,7 +169,8 @@
162
169
  };
163
170
 
164
171
  var _excluded$1 = ["publicId", "position", "text", "effects"];
165
- function overlaysPlugin(_temp) {
172
+ var options$4 = ['overlays'];
173
+ function plugin$3(_temp) {
166
174
  var _ref = _temp === void 0 ? {} : _temp,
167
175
  cldImage = _ref.cldImage,
168
176
  cldOptions = _ref.cldOptions;
@@ -257,7 +265,14 @@
257
265
  });
258
266
  }
259
267
 
260
- function removeBackgroundPlugin(_temp) {
268
+ var overlaysPlugin = {
269
+ __proto__: null,
270
+ options: options$4,
271
+ plugin: plugin$3
272
+ };
273
+
274
+ var options$3 = ['removeBackground'];
275
+ function plugin$2(_temp) {
261
276
  var _ref = _temp === void 0 ? {} : _temp,
262
277
  cldImage = _ref.cldImage,
263
278
  cldOptions = _ref.cldOptions;
@@ -270,20 +285,92 @@
270
285
  }
271
286
  }
272
287
 
273
- function tintPlugin(_temp) {
288
+ var removeBackgroundPlugin = {
289
+ __proto__: null,
290
+ options: options$3,
291
+ plugin: plugin$2
292
+ };
293
+
294
+ var params = ['art', {
295
+ prop: 'autoBrightness',
296
+ effect: 'auto_brightness'
297
+ }, {
298
+ prop: 'autoColor',
299
+ effect: 'auto_color'
300
+ }, {
301
+ prop: 'autoContrast',
302
+ effect: 'auto_contrast'
303
+ }, {
304
+ prop: 'assistColorblind',
305
+ effect: 'assist_colorblind'
306
+ }, 'blackwhite', 'blur', {
307
+ prop: 'blurFaces',
308
+ effect: 'blur_faces'
309
+ }, {
310
+ prop: 'blurRegion',
311
+ effect: 'blur_region'
312
+ }, 'brightness', {
313
+ prop: 'brightnessHSB',
314
+ effect: 'brightness_hsb'
315
+ }, 'cartoonify', 'colorize', 'contrast', 'distort', {
316
+ prop: 'fillLight',
317
+ effect: 'fill_light'
318
+ }, 'gamma', {
319
+ prop: 'gradientFade',
320
+ effect: 'gradient_fade'
321
+ }, 'grayscale', 'improve', 'negate', {
322
+ prop: 'oilPaint',
323
+ effect: 'oil_paint'
324
+ }, 'outline', 'pixelate', {
325
+ prop: 'pixelateFaces',
326
+ effect: 'pixelate_faces'
327
+ }, {
328
+ prop: 'pixelateRegion',
329
+ effect: 'pixelate_region'
330
+ }, 'redeye', {
331
+ prop: 'replaceColor',
332
+ effect: 'replace_color'
333
+ }, 'saturation', 'sepia', 'shadow', 'sharpen', 'shear', {
334
+ prop: 'simulateColorblind',
335
+ effect: 'simulate_colorblind'
336
+ }, 'tint', {
337
+ prop: 'unsharpMask',
338
+ effect: 'unsharp_mask'
339
+ }, 'vectorize', 'vibrance', 'vignette' // 'zoompan' // requires GIF format
340
+ ];
341
+ var options$2 = params.map(function (param) {
342
+ return param.prop || param;
343
+ });
344
+ function plugin$1(_temp) {
274
345
  var _ref = _temp === void 0 ? {} : _temp,
275
346
  cldImage = _ref.cldImage,
276
347
  cldOptions = _ref.cldOptions;
277
348
 
278
- var tint = cldOptions.tint;
349
+ params.forEach(function (key) {
350
+ var prop = key.prop || key;
351
+ var effect = key.effect || key;
279
352
 
280
- if (tint) {
281
- cldImage.effect("e_tint:" + tint);
282
- }
353
+ if (prop === 'oilPaint' && cldOptions[prop]) {
354
+ console.log('cldOptions[prop]', cldOptions[prop]);
355
+ }
356
+
357
+ if (cldOptions[prop] === true) {
358
+ cldImage.effect("e_" + effect);
359
+ } else if (typeof cldOptions[prop] === 'string') {
360
+ cldImage.effect("e_" + effect + ":" + cldOptions[prop]);
361
+ }
362
+ });
283
363
  }
284
364
 
365
+ var effectsPlugin = {
366
+ __proto__: null,
367
+ options: options$2,
368
+ plugin: plugin$1
369
+ };
370
+
285
371
  var _excluded = ["publicId", "type", "position", "text", "effects"];
286
- function underlaysPlugin(_temp) {
372
+ var options$1 = ['underlays'];
373
+ function plugin(_temp) {
287
374
  var _ref = _temp === void 0 ? {} : _temp,
288
375
  cldImage = _ref.cldImage,
289
376
  cldOptions = _ref.cldOptions;
@@ -351,13 +438,19 @@
351
438
  });
352
439
  }
353
440
 
441
+ var underlaysPlugin = {
442
+ __proto__: null,
443
+ options: options$1,
444
+ plugin: plugin
445
+ };
446
+
354
447
  var cld = new urlGen.Cloudinary({
355
448
  cloud: {
356
449
  cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
357
450
  }
358
451
  });
359
452
  var transformationPlugins = [removeBackgroundPlugin, // Background Removal must always come first
360
- croppingPlugin, tintPlugin, overlaysPlugin, underlaysPlugin];
453
+ croppingPlugin, effectsPlugin, overlaysPlugin, underlaysPlugin];
361
454
  function cloudinaryLoader(options, cldOptions) {
362
455
  var src = options.src,
363
456
  _options$format = options.format,
@@ -365,7 +458,8 @@
365
458
  _options$quality = options.quality,
366
459
  quality = _options$quality === void 0 ? 'auto' : _options$quality;
367
460
  var cldImage = cld.image(src);
368
- transformationPlugins.forEach(function (plugin) {
461
+ transformationPlugins.forEach(function (_ref) {
462
+ var plugin = _ref.plugin;
369
463
  plugin({
370
464
  cldImage: cldImage,
371
465
  options: options,
@@ -375,19 +469,31 @@
375
469
  return cldImage.format(format).delivery("q_" + quality).toURL();
376
470
  }
377
471
 
378
- var options = ['crop', 'gravity', 'overlays', 'removeBackground', 'tint', 'underlays'];
472
+ var options = [];
379
473
 
380
474
  var CldImage = function CldImage(props) {
381
- // Construct the base Image component props by filtering out Cloudinary-specific props
475
+ var CLD_OPTIONS = [].concat(options);
476
+ transformationPlugins.forEach(function (_ref) {
477
+ var _ref$options = _ref.options,
478
+ options = _ref$options === void 0 ? [] : _ref$options;
479
+ options.forEach(function (option) {
480
+ if (CLD_OPTIONS.includes(option)) {
481
+ throw new Error("Option " + option + " already exists!");
482
+ }
483
+
484
+ CLD_OPTIONS.push(option);
485
+ });
486
+ }); // Construct the base Image component props by filtering out Cloudinary-specific props
487
+
382
488
  var imageProps = {};
383
489
  Object.keys(props).filter(function (key) {
384
- return !options.includes(key);
490
+ return !CLD_OPTIONS.includes(key);
385
491
  }).forEach(function (key) {
386
492
  return imageProps[key] = props[key];
387
493
  }); // Construct Cloudinary-specific props by looking for values for any of the supported prop keys
388
494
 
389
495
  var cldOptions = {};
390
- options.forEach(function (key) {
496
+ CLD_OPTIONS.forEach(function (key) {
391
497
  if (props[key]) {
392
498
  cldOptions[key] = props[key];
393
499
  }
@@ -1 +1 @@
1
- {"version":3,"file":"next-cloudinary.umd.js","sources":["../src/lib/cloudinary.js","../src/plugins/cropping.js","../src/constants/qualifiers.js","../src/plugins/overlays.js","../src/plugins/remove-background.js","../src/plugins/tint.js","../src/plugins/underlays.js","../src/loaders/cloudinary-loader.js","../src/constants/options.js","../src/components/CldImage/CldImage.js"],"sourcesContent":["import { Cloudinary } from '@cloudinary/url-gen';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\n/**\n * createPlaceholderUrl\n */\n\nexport function createPlaceholderUrl({ src, placeholder }) {\n const cldImage = cld.image(src)\n .resize('c_limit,w_100')\n .delivery('q_1')\n .format('auto');\n\n if ( placeholder === 'grayscale' ) {\n cldImage.effect('e_grayscale');\n }\n\n if ( placeholder.includes('color:') ) {\n const color = placeholder.split(':').splice(1).join(':')\n cldImage.effect('e_grayscale');\n cldImage.effect(`e_colorize:60,co_${color}`);\n }\n\n return cldImage.toURL();\n}","const cropsGravityAuto = [ 'crop', 'fill', 'lfill', 'fill_pad', 'thumb' ];\n\nexport function croppingPlugin({ cldImage, options, cldOptions } = {}) {\n const { width, height } = options;\n const { crop = 'limit', gravity } = cldOptions;\n\n let transformationString = `c_${crop},w_${width}`;\n\n if ( !gravity && cropsGravityAuto.includes(crop) ) {\n gravity = 'auto';\n }\n\n if ( !['limit'].includes(crop) ) {\n transformationString = `${transformationString},h_${height}`;\n }\n\n if ( gravity ) {\n if ( gravity === 'auto' && !cropsGravityAuto.includes(crop) ) {\n console.warn('Auto gravity can only be used with crop, fill, lfill, fill_pad or thumb. Not applying gravity.');\n } else {\n transformationString = `${transformationString},g_${gravity}`;\n }\n }\n\n cldImage.resize(transformationString);\n}","// aspectRatio\n\nexport const primary = {\n aspectRatio: {\n qualifier: 'ar'\n },\n crop: {\n qualifier: 'c'\n },\n gravity: {\n qualifier: 'g'\n },\n height: {\n qualifier: 'h'\n },\n width: {\n qualifier: 'w'\n },\n};\n\nexport const position = {\n angle: {\n qualifier: 'a'\n },\n gravity: {\n qualifier: 'g'\n },\n x: {\n qualifier: 'x'\n },\n y: {\n qualifier: 'y'\n },\n}\n\nexport const text = {\n color: {\n qualifier: 'co',\n location: 'primary'\n },\n fontFamily: {\n qualifier: false\n },\n fontSize: {\n qualifier: false\n },\n fontWeight: {\n qualifier: false\n },\n letterSpacing: {\n qualifier: 'letter_spacing'\n },\n textDecoration: {\n qualifier: false\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport function overlaysPlugin({ cldImage, options, cldOptions } = {}) {\n const { overlays = [] } = cldOptions;\n\n const type = 'overlay';\n const typeQualifier = 'l';\n\n overlays.forEach(({ publicId, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasText = typeof text === 'object';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId && !hasText ) {\n console.warn(`An ${type} is missing Public ID or Text`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation;\n\n if ( hasText ) {\n layerTransformation = `${typeQualifier}_text`;\n } else {\n layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n }\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Text styling\n\n if ( hasText ) {\n const textTransformations = [];\n\n Object.keys(text).forEach(key => {\n if ( !qualifiersText[key] ) return;\n\n const { qualifier, location } = qualifiersText[key];\n\n if ( location === 'primary' ) {\n primary.push(`${qualifier}_${text[key]}`);\n } else {\n textTransformations.push(text[key]);\n }\n });\n\n layerTransformation = `${layerTransformation}:${textTransformations.join('_')}:${text.text}`\n }\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","export function removeBackgroundPlugin({ cldImage, options, cldOptions } = {}) {\n const { removeBackground = false } = cldOptions;\n if ( removeBackground ) {\n cldImage.effect('e_background_removal');\n }\n}","export function tintPlugin({ cldImage, options, cldOptions } = {}) {\n const { tint } = cldOptions;\n\n if ( tint ) {\n cldImage.effect(`e_tint:${tint}`);\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport function underlaysPlugin({ cldImage, options, cldOptions } = {}) {\n const { underlays = [] } = cldOptions;\n\n const type = 'underlay';\n const typeQualifier = 'u';\n\n underlays.forEach(({ publicId, type, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId ) {\n console.warn(`An ${type} is missing a Public ID`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","import { Cloudinary } from '@cloudinary/url-gen';\n\nimport { croppingPlugin } from '../plugins/cropping';\nimport { overlaysPlugin } from '../plugins/overlays';\nimport { removeBackgroundPlugin } from '../plugins/remove-background';\nimport { tintPlugin } from '../plugins/tint';\nimport { underlaysPlugin } from '../plugins/underlays';\n\nimport {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n});\n\nconst transformationPlugins = [\n removeBackgroundPlugin, // Background Removal must always come first\n croppingPlugin,\n tintPlugin,\n overlaysPlugin,\n underlaysPlugin\n];\n\nexport function cloudinaryLoader(options, cldOptions) {\n const {\n src,\n width,\n format = 'auto',\n quality = 'auto',\n } = options;\n\n const cldImage = cld.image(src);\n\n transformationPlugins.forEach(plugin => {\n plugin({\n cldImage,\n options,\n cldOptions\n });\n });\n\n return cldImage.format(format).delivery(`q_${quality}`).toURL();\n}","export const options = [\n 'crop',\n 'gravity',\n 'overlays',\n 'removeBackground',\n 'tint',\n 'underlays',\n];\n\n\n","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader } from '../../loaders/cloudinary-loader';\n\nimport { options as CLD_OPTIONS } from '../../constants/options';\n\nconst CldImage = props => {\n\n // Construct the base Image component props by filtering out Cloudinary-specific props\n\n const imageProps = {};\n\n Object.keys(props)\n .filter(key => !CLD_OPTIONS.includes(key))\n .forEach(key => imageProps[key] = props[key]);\n\n // Construct Cloudinary-specific props by looking for values for any of the supported prop keys\n\n const cldOptions = {};\n\n CLD_OPTIONS.forEach(key => {\n if ( props[key] ) {\n cldOptions[key] = props[key];\n }\n });\n\n // If we see a placeholder option, configure a Cloudinary-based URL.\n // The resulting image will always be blurred per Next.js, so we're\n // limited on options for placeholders.\n //\n // We need to do this logic here as we potentially need to mutate\n // an Image component prop as opposed to simply the URL\n //\n // https://nextjs.org/docs/api-reference/next/image#blurdataurl\n\n if ( imageProps.placeholder ) {\n imageProps.blurDataURL = createPlaceholderUrl({\n src: props.src,\n placeholder: props.placeholder\n });\n\n if ( imageProps.placeholder !== 'blur' ) {\n imageProps.placeholder = 'blur';\n }\n }\n\n return (\n <Image\n {...imageProps}\n loader={(options) => cloudinaryLoader({ ...imageProps, options }, cldOptions)}\n />\n );\n}\n\nexport default CldImage;"],"names":["cld","Cloudinary","cloud","cloudName","process","env","NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME","url","analytics","createPlaceholderUrl","src","placeholder","cldImage","image","resize","delivery","format","effect","includes","color","split","splice","join","toURL","cropsGravityAuto","croppingPlugin","options","cldOptions","width","height","crop","gravity","transformationString","console","warn","primary","aspectRatio","qualifier","position","angle","x","y","text","location","fontFamily","fontSize","fontWeight","letterSpacing","textDecoration","overlaysPlugin","overlays","type","typeQualifier","forEach","publicId","effects","layerEffects","_excluded","hasPublicId","hasText","hasPosition","layerTransformation","replace","applied","Object","keys","key","qualifiersPrimary","push","textTransformations","qualifiersText","qualifiersPosition","length","addTransformation","removeBackgroundPlugin","removeBackground","tintPlugin","tint","underlaysPlugin","underlays","transformationPlugins","cloudinaryLoader","quality","plugin","CldImage","props","imageProps","filter","CLD_OPTIONS","blurDataURL","_jsx","Image"],"mappings":"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"}
1
+ {"version":3,"file":"next-cloudinary.umd.js","sources":["../src/lib/cloudinary.js","../src/plugins/cropping.js","../src/constants/qualifiers.js","../src/plugins/overlays.js","../src/plugins/remove-background.js","../src/plugins/effects.js","../src/plugins/underlays.js","../src/loaders/cloudinary-loader.js","../src/constants/options.js","../src/components/CldImage/CldImage.js"],"sourcesContent":["import { Cloudinary } from '@cloudinary/url-gen';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\n/**\n * createPlaceholderUrl\n */\n\nexport function createPlaceholderUrl({ src, placeholder }) {\n const cldImage = cld.image(src)\n .resize('c_limit,w_100')\n .delivery('q_1')\n .format('auto');\n\n if ( placeholder === 'grayscale' ) {\n cldImage.effect('e_grayscale');\n }\n\n if ( placeholder.includes('color:') ) {\n const color = placeholder.split(':').splice(1).join(':')\n cldImage.effect('e_grayscale');\n cldImage.effect(`e_colorize:60,co_${color}`);\n }\n\n return cldImage.toURL();\n}","const cropsGravityAuto = [ 'crop', 'fill', 'lfill', 'fill_pad', 'thumb' ];\n\nexport const options = ['crop', 'gravity'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { width, height } = options;\n const { crop = 'limit', gravity } = cldOptions;\n\n let transformationString = `c_${crop},w_${width}`;\n\n if ( !gravity && cropsGravityAuto.includes(crop) ) {\n gravity = 'auto';\n }\n\n if ( !['limit'].includes(crop) ) {\n transformationString = `${transformationString},h_${height}`;\n }\n\n if ( gravity ) {\n if ( gravity === 'auto' && !cropsGravityAuto.includes(crop) ) {\n console.warn('Auto gravity can only be used with crop, fill, lfill, fill_pad or thumb. Not applying gravity.');\n } else {\n transformationString = `${transformationString},g_${gravity}`;\n }\n }\n\n cldImage.resize(transformationString);\n}","// aspectRatio\n\nexport const primary = {\n aspectRatio: {\n qualifier: 'ar'\n },\n crop: {\n qualifier: 'c'\n },\n gravity: {\n qualifier: 'g'\n },\n height: {\n qualifier: 'h'\n },\n width: {\n qualifier: 'w'\n },\n};\n\nexport const position = {\n angle: {\n qualifier: 'a'\n },\n gravity: {\n qualifier: 'g'\n },\n x: {\n qualifier: 'x'\n },\n y: {\n qualifier: 'y'\n },\n}\n\nexport const text = {\n color: {\n qualifier: 'co',\n location: 'primary'\n },\n fontFamily: {\n qualifier: false\n },\n fontSize: {\n qualifier: false\n },\n fontWeight: {\n qualifier: false\n },\n letterSpacing: {\n qualifier: 'letter_spacing'\n },\n textDecoration: {\n qualifier: false\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport const options = ['overlays'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { overlays = [] } = cldOptions;\n\n const type = 'overlay';\n const typeQualifier = 'l';\n\n overlays.forEach(({ publicId, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasText = typeof text === 'object';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId && !hasText ) {\n console.warn(`An ${type} is missing Public ID or Text`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation;\n\n if ( hasText ) {\n layerTransformation = `${typeQualifier}_text`;\n } else {\n layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n }\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Text styling\n\n if ( hasText ) {\n const textTransformations = [];\n\n Object.keys(text).forEach(key => {\n if ( !qualifiersText[key] ) return;\n\n const { qualifier, location } = qualifiersText[key];\n\n if ( location === 'primary' ) {\n primary.push(`${qualifier}_${text[key]}`);\n } else {\n textTransformations.push(text[key]);\n }\n });\n\n layerTransformation = `${layerTransformation}:${textTransformations.join('_')}:${text.text}`\n }\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","export const options = ['removeBackground'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { removeBackground = false } = cldOptions;\n if ( removeBackground ) {\n cldImage.effect('e_background_removal');\n }\n}","const params = [\n 'art',\n {\n prop: 'autoBrightness',\n effect: 'auto_brightness',\n },\n {\n prop: 'autoColor',\n effect: 'auto_color',\n },\n {\n prop: 'autoContrast',\n effect: 'auto_contrast',\n },\n {\n prop: 'assistColorblind',\n effect: 'assist_colorblind',\n },\n 'blackwhite',\n 'blur',\n {\n prop: 'blurFaces',\n effect: 'blur_faces',\n },\n {\n prop: 'blurRegion',\n effect: 'blur_region',\n },\n 'brightness',\n {\n prop: 'brightnessHSB',\n effect: 'brightness_hsb',\n },\n 'cartoonify',\n 'colorize',\n 'contrast',\n 'distort',\n {\n prop: 'fillLight',\n effect: 'fill_light',\n },\n 'gamma',\n {\n prop: 'gradientFade',\n effect: 'gradient_fade',\n },\n 'grayscale',\n 'improve',\n 'negate',\n {\n prop: 'oilPaint',\n effect: 'oil_paint',\n },\n 'outline',\n 'pixelate',\n {\n prop: 'pixelateFaces',\n effect: 'pixelate_faces',\n },\n {\n prop: 'pixelateRegion',\n effect: 'pixelate_region',\n },\n 'redeye',\n {\n prop: 'replaceColor',\n effect: 'replace_color',\n },\n 'saturation',\n 'sepia',\n 'shadow',\n 'sharpen',\n 'shear',\n {\n prop: 'simulateColorblind',\n effect: 'simulate_colorblind',\n },\n 'tint',\n {\n prop: 'unsharpMask',\n effect: 'unsharp_mask',\n },\n 'vectorize',\n 'vibrance',\n 'vignette',\n // 'zoompan' // requires GIF format\n];\n\nexport const options = params.map(param => param.prop || param);\n\nexport function plugin({ cldImage, cldOptions } = {}) {\n params.forEach(key => {\n\n const prop = key.prop || key;\n const effect = key.effect || key;\n\n if ( prop === 'oilPaint' && cldOptions[prop]) {\n console.log('cldOptions[prop]', cldOptions[prop])\n }\n if ( cldOptions[prop] === true ) {\n cldImage.effect(`e_${effect}`);\n } else if ( typeof cldOptions[prop] === 'string' ) {\n cldImage.effect(`e_${effect}:${cldOptions[prop]}`);\n }\n });\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport const options = ['underlays'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { underlays = [] } = cldOptions;\n\n const type = 'underlay';\n const typeQualifier = 'u';\n\n underlays.forEach(({ publicId, type, position, text, effects: layerEffects = [], ...options }) => {\n const hasPublicId = typeof publicId === 'string';\n const hasPosition = typeof position === 'object';\n\n if ( !hasPublicId ) {\n console.warn(`An ${type} is missing a Public ID`);\n return;\n }\n\n // Start to construct the transformation string using text or the public ID\n // if it's image-based\n\n let layerTransformation = `${typeQualifier}_${publicId.replace(/\\//g, ':')}`;\n\n // Begin organizing transformations based on what it is and the location\n // it needs to be placed in the URL\n\n const primary = [];\n const applied = [];\n\n // Gemeral options\n\n Object.keys(options).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${options[key]}`);\n });\n\n // Layer effects\n\n layerEffects.forEach(effect => {\n Object.keys(effect).forEach(key => {\n if ( !qualifiersPrimary[key] ) return;\n const { qualifier } = qualifiersPrimary[key];\n primary.push(`${qualifier}_${effect[key]}`);\n });\n });\n\n // Positioning\n\n if ( hasPosition ) {\n Object.keys(position).forEach(key => {\n if ( !qualifiersPosition[key] ) return;\n\n const { qualifier } = qualifiersPosition[key];\n\n applied.push(`${qualifier}_${position[key]}`);\n });\n }\n\n // Add all primary transformations\n\n layerTransformation = `${layerTransformation},${primary.join(',')}`;\n\n // Add all applied transformations\n\n layerTransformation = `${layerTransformation}/fl_layer_apply`;\n\n if ( applied.length > 0 ) {\n layerTransformation = `${layerTransformation},${applied.join(',')}`;\n }\n\n // Finally add it to the image\n\n cldImage.addTransformation(layerTransformation);\n });\n}","import { Cloudinary } from '@cloudinary/url-gen';\n\nimport * as croppingPlugin from '../plugins/cropping';\nimport * as overlaysPlugin from '../plugins/overlays';\nimport * as removeBackgroundPlugin from '../plugins/remove-background';\nimport * as effectsPlugin from '../plugins/effects';\nimport * as underlaysPlugin from '../plugins/underlays';\n\nimport {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME\n },\n});\n\nexport const transformationPlugins = [\n removeBackgroundPlugin, // Background Removal must always come first\n croppingPlugin,\n effectsPlugin,\n overlaysPlugin,\n underlaysPlugin\n];\n\nexport function cloudinaryLoader(options, cldOptions) {\n const {\n src,\n width,\n format = 'auto',\n quality = 'auto',\n } = options;\n\n const cldImage = cld.image(src);\n\n transformationPlugins.forEach(({ plugin }) => {\n plugin({\n cldImage,\n options,\n cldOptions\n });\n });\n\n return cldImage.format(format).delivery(`q_${quality}`).toURL();\n}","export const options = [];","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader, transformationPlugins } from '../../loaders/cloudinary-loader';\n\nimport { options as defaultOptions } from '../../constants/options';\n\nconst CldImage = props => {\n\n const CLD_OPTIONS = [...defaultOptions];\n\n transformationPlugins.forEach(({ options = [] }) => {\n options.forEach(option => {\n if ( CLD_OPTIONS.includes(option) ) {\n throw new Error(`Option ${option} already exists!`);\n }\n CLD_OPTIONS.push(option);\n });\n })\n\n // Construct the base Image component props by filtering out Cloudinary-specific props\n\n const imageProps = {};\n\n Object.keys(props)\n .filter(key => !CLD_OPTIONS.includes(key))\n .forEach(key => imageProps[key] = props[key]);\n\n // Construct Cloudinary-specific props by looking for values for any of the supported prop keys\n\n const cldOptions = {};\n\n CLD_OPTIONS.forEach(key => {\n if ( props[key] ) {\n cldOptions[key] = props[key];\n }\n });\n\n // If we see a placeholder option, configure a Cloudinary-based URL.\n // The resulting image will always be blurred per Next.js, so we're\n // limited on options for placeholders.\n //\n // We need to do this logic here as we potentially need to mutate\n // an Image component prop as opposed to simply the URL\n //\n // https://nextjs.org/docs/api-reference/next/image#blurdataurl\n\n if ( imageProps.placeholder ) {\n imageProps.blurDataURL = createPlaceholderUrl({\n src: props.src,\n placeholder: props.placeholder\n });\n\n if ( imageProps.placeholder !== 'blur' ) {\n imageProps.placeholder = 'blur';\n }\n }\n\n return (\n <Image\n {...imageProps}\n loader={(options) => cloudinaryLoader({ ...imageProps, options }, cldOptions)}\n />\n );\n}\n\nexport default CldImage;"],"names":["cld","Cloudinary","cloud","cloudName","process","env","NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME","url","analytics","createPlaceholderUrl","src","placeholder","cldImage","image","resize","delivery","format","effect","includes","color","split","splice","join","toURL","cropsGravityAuto","options","plugin","cldOptions","width","height","crop","gravity","transformationString","console","warn","primary","aspectRatio","qualifier","position","angle","x","y","text","location","fontFamily","fontSize","fontWeight","letterSpacing","textDecoration","overlays","type","typeQualifier","forEach","publicId","effects","layerEffects","_excluded","hasPublicId","hasText","hasPosition","layerTransformation","replace","applied","Object","keys","key","qualifiersPrimary","push","textTransformations","qualifiersText","qualifiersPosition","length","addTransformation","removeBackground","params","prop","map","param","log","underlays","transformationPlugins","removeBackgroundPlugin","croppingPlugin","effectsPlugin","overlaysPlugin","underlaysPlugin","cloudinaryLoader","quality","CldImage","props","CLD_OPTIONS","defaultOptions","option","Error","imageProps","filter","blurDataURL","_jsx","Image"],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "next-cloudinary",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "main": "dist/next-cloudinary.umd.js",
5
5
  "module": "dist/next-cloudinary.module.js",
6
6
  "umd:main": "dist/next-cloudinary.umd.js",
7
7
  "source": "src/index.js",
8
8
  "scripts": {
9
9
  "build": "microbundle --no-compress --jsx React.createElement --jsxFragment React.Fragment --jsxImportSource react",
10
- "dev": "microbundle watch --no-compress --jsx React.createElement --jsxFragment React.Fragment --jsxImportSource react"
10
+ "dev": "microbundle watch --no-compress --jsx React.createElement --jsxFragment React.Fragment --jsxImportSource react",
11
+ "prepublishOnly": "cp ../README.md .",
12
+ "postpublish": "rm ./README.md"
11
13
  },
12
14
  "dependencies": {
13
15
  "@cloudinary/url-gen": "^1.8.5"