next-cloudinary 0.0.11 → 0.1.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/README.md +37 -8
- package/babel.config.js +3 -0
- package/dist/next-cloudinary.js +96 -75
- package/dist/next-cloudinary.js.map +1 -1
- package/dist/next-cloudinary.modern.mjs +94 -73
- package/dist/next-cloudinary.modern.mjs.map +1 -1
- package/dist/next-cloudinary.module.js +96 -75
- package/dist/next-cloudinary.module.js.map +1 -1
- package/dist/next-cloudinary.umd.js +96 -75
- package/dist/next-cloudinary.umd.js.map +1 -1
- package/jest.config.js +12 -0
- package/package.json +9 -2
- package/tests/lib/cloudinary.spec.js +28 -0
- package/tests/plugins/raw-transformations.spec.js +54 -0
|
@@ -67,8 +67,8 @@ function createPlaceholderUrl({
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
const cropsGravityAuto = ['crop', 'fill', 'lfill', 'fill_pad', 'thumb'];
|
|
70
|
-
const props$
|
|
71
|
-
function plugin$
|
|
70
|
+
const props$6 = ['crop', 'gravity'];
|
|
71
|
+
function plugin$6({
|
|
72
72
|
cldImage,
|
|
73
73
|
options,
|
|
74
74
|
cldOptions
|
|
@@ -103,6 +103,79 @@ function plugin$5({
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
var croppingPlugin = {
|
|
106
|
+
__proto__: null,
|
|
107
|
+
props: props$6,
|
|
108
|
+
plugin: plugin$6
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const params = ['art', {
|
|
112
|
+
prop: 'autoBrightness',
|
|
113
|
+
effect: 'auto_brightness'
|
|
114
|
+
}, {
|
|
115
|
+
prop: 'autoColor',
|
|
116
|
+
effect: 'auto_color'
|
|
117
|
+
}, {
|
|
118
|
+
prop: 'autoContrast',
|
|
119
|
+
effect: 'auto_contrast'
|
|
120
|
+
}, {
|
|
121
|
+
prop: 'assistColorblind',
|
|
122
|
+
effect: 'assist_colorblind'
|
|
123
|
+
}, 'blackwhite', 'blur', {
|
|
124
|
+
prop: 'blurFaces',
|
|
125
|
+
effect: 'blur_faces'
|
|
126
|
+
}, {
|
|
127
|
+
prop: 'blurRegion',
|
|
128
|
+
effect: 'blur_region'
|
|
129
|
+
}, 'brightness', {
|
|
130
|
+
prop: 'brightnessHSB',
|
|
131
|
+
effect: 'brightness_hsb'
|
|
132
|
+
}, 'cartoonify', 'colorize', 'contrast', 'distort', {
|
|
133
|
+
prop: 'fillLight',
|
|
134
|
+
effect: 'fill_light'
|
|
135
|
+
}, 'gamma', {
|
|
136
|
+
prop: 'gradientFade',
|
|
137
|
+
effect: 'gradient_fade'
|
|
138
|
+
}, 'grayscale', 'improve', 'negate', {
|
|
139
|
+
prop: 'oilPaint',
|
|
140
|
+
effect: 'oil_paint'
|
|
141
|
+
}, 'outline', 'pixelate', {
|
|
142
|
+
prop: 'pixelateFaces',
|
|
143
|
+
effect: 'pixelate_faces'
|
|
144
|
+
}, {
|
|
145
|
+
prop: 'pixelateRegion',
|
|
146
|
+
effect: 'pixelate_region'
|
|
147
|
+
}, 'redeye', {
|
|
148
|
+
prop: 'replaceColor',
|
|
149
|
+
effect: 'replace_color'
|
|
150
|
+
}, 'saturation', 'sepia', 'shadow', 'sharpen', 'shear', {
|
|
151
|
+
prop: 'simulateColorblind',
|
|
152
|
+
effect: 'simulate_colorblind'
|
|
153
|
+
}, 'tint', {
|
|
154
|
+
prop: 'unsharpMask',
|
|
155
|
+
effect: 'unsharp_mask'
|
|
156
|
+
}, 'vectorize', 'vibrance', 'vignette'];
|
|
157
|
+
const props$5 = params.map(param => param.prop || param);
|
|
158
|
+
function plugin$5({
|
|
159
|
+
cldImage,
|
|
160
|
+
cldOptions
|
|
161
|
+
} = {}) {
|
|
162
|
+
params.forEach(key => {
|
|
163
|
+
const prop = key.prop || key;
|
|
164
|
+
const effect = key.effect || key;
|
|
165
|
+
|
|
166
|
+
if (prop === 'oilPaint' && cldOptions[prop]) {
|
|
167
|
+
console.log('cldOptions[prop]', cldOptions[prop]);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (cldOptions[prop] === true) {
|
|
171
|
+
cldImage.effect(`e_${effect}`);
|
|
172
|
+
} else if (typeof cldOptions[prop] === 'string') {
|
|
173
|
+
cldImage.effect(`e_${effect}:${cldOptions[prop]}`);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
var effectsPlugin = {
|
|
106
179
|
__proto__: null,
|
|
107
180
|
props: props$5,
|
|
108
181
|
plugin: plugin$5
|
|
@@ -274,95 +347,41 @@ var overlaysPlugin = {
|
|
|
274
347
|
plugin: plugin$4
|
|
275
348
|
};
|
|
276
349
|
|
|
277
|
-
const props$3 = ['
|
|
350
|
+
const props$3 = ['rawTransformations'];
|
|
278
351
|
function plugin$3({
|
|
279
352
|
cldImage,
|
|
280
|
-
options,
|
|
281
353
|
cldOptions
|
|
282
354
|
} = {}) {
|
|
283
355
|
const {
|
|
284
|
-
|
|
356
|
+
rawTransformations = []
|
|
285
357
|
} = cldOptions;
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
}
|
|
358
|
+
rawTransformations.forEach(transformation => {
|
|
359
|
+
cldImage.addTransformation(transformation);
|
|
360
|
+
});
|
|
290
361
|
}
|
|
291
362
|
|
|
292
|
-
var
|
|
363
|
+
var rawTransformationsPlugin = {
|
|
293
364
|
__proto__: null,
|
|
294
365
|
props: props$3,
|
|
295
366
|
plugin: plugin$3
|
|
296
367
|
};
|
|
297
368
|
|
|
298
|
-
const
|
|
299
|
-
prop: 'autoBrightness',
|
|
300
|
-
effect: 'auto_brightness'
|
|
301
|
-
}, {
|
|
302
|
-
prop: 'autoColor',
|
|
303
|
-
effect: 'auto_color'
|
|
304
|
-
}, {
|
|
305
|
-
prop: 'autoContrast',
|
|
306
|
-
effect: 'auto_contrast'
|
|
307
|
-
}, {
|
|
308
|
-
prop: 'assistColorblind',
|
|
309
|
-
effect: 'assist_colorblind'
|
|
310
|
-
}, 'blackwhite', 'blur', {
|
|
311
|
-
prop: 'blurFaces',
|
|
312
|
-
effect: 'blur_faces'
|
|
313
|
-
}, {
|
|
314
|
-
prop: 'blurRegion',
|
|
315
|
-
effect: 'blur_region'
|
|
316
|
-
}, 'brightness', {
|
|
317
|
-
prop: 'brightnessHSB',
|
|
318
|
-
effect: 'brightness_hsb'
|
|
319
|
-
}, 'cartoonify', 'colorize', 'contrast', 'distort', {
|
|
320
|
-
prop: 'fillLight',
|
|
321
|
-
effect: 'fill_light'
|
|
322
|
-
}, 'gamma', {
|
|
323
|
-
prop: 'gradientFade',
|
|
324
|
-
effect: 'gradient_fade'
|
|
325
|
-
}, 'grayscale', 'improve', 'negate', {
|
|
326
|
-
prop: 'oilPaint',
|
|
327
|
-
effect: 'oil_paint'
|
|
328
|
-
}, 'outline', 'pixelate', {
|
|
329
|
-
prop: 'pixelateFaces',
|
|
330
|
-
effect: 'pixelate_faces'
|
|
331
|
-
}, {
|
|
332
|
-
prop: 'pixelateRegion',
|
|
333
|
-
effect: 'pixelate_region'
|
|
334
|
-
}, 'redeye', {
|
|
335
|
-
prop: 'replaceColor',
|
|
336
|
-
effect: 'replace_color'
|
|
337
|
-
}, 'saturation', 'sepia', 'shadow', 'sharpen', 'shear', {
|
|
338
|
-
prop: 'simulateColorblind',
|
|
339
|
-
effect: 'simulate_colorblind'
|
|
340
|
-
}, 'tint', {
|
|
341
|
-
prop: 'unsharpMask',
|
|
342
|
-
effect: 'unsharp_mask'
|
|
343
|
-
}, 'vectorize', 'vibrance', 'vignette'];
|
|
344
|
-
const props$2 = params.map(param => param.prop || param);
|
|
369
|
+
const props$2 = ['removeBackground'];
|
|
345
370
|
function plugin$2({
|
|
346
371
|
cldImage,
|
|
372
|
+
options,
|
|
347
373
|
cldOptions
|
|
348
374
|
} = {}) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
if (prop === 'oilPaint' && cldOptions[prop]) {
|
|
354
|
-
console.log('cldOptions[prop]', cldOptions[prop]);
|
|
355
|
-
}
|
|
375
|
+
const {
|
|
376
|
+
removeBackground = false
|
|
377
|
+
} = cldOptions;
|
|
356
378
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
cldImage.effect(`e_${effect}:${cldOptions[prop]}`);
|
|
361
|
-
}
|
|
362
|
-
});
|
|
379
|
+
if (removeBackground) {
|
|
380
|
+
cldImage.effect('e_background_removal');
|
|
381
|
+
}
|
|
363
382
|
}
|
|
364
383
|
|
|
365
|
-
var
|
|
384
|
+
var removeBackgroundPlugin = {
|
|
366
385
|
__proto__: null,
|
|
367
386
|
props: props$2,
|
|
368
387
|
plugin: plugin$2
|
|
@@ -516,8 +535,10 @@ const cld = new Cloudinary({
|
|
|
516
535
|
analytics: false
|
|
517
536
|
}
|
|
518
537
|
});
|
|
519
|
-
const transformationPlugins = [
|
|
520
|
-
croppingPlugin, effectsPlugin, overlaysPlugin, underlaysPlugin, zoompanPlugin
|
|
538
|
+
const transformationPlugins = [// Background Removal must always come first
|
|
539
|
+
removeBackgroundPlugin, croppingPlugin, effectsPlugin, overlaysPlugin, underlaysPlugin, zoompanPlugin, // Raw transformations needs to be last simply to make sure
|
|
540
|
+
// it's always expected to applied the same way
|
|
541
|
+
rawTransformationsPlugin];
|
|
521
542
|
function cloudinaryLoader(defaultOptions, cldOptions) {
|
|
522
543
|
const options = _extends({
|
|
523
544
|
format: 'auto',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-cloudinary.modern.mjs","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/plugins/zoompan.js","../src/loaders/cloudinary-loader.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 props = ['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 props = ['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 props = ['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];\n\nexport const props = 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 props = ['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}","export const props = ['zoompan'];\n\nexport function plugin({ cldImage, cldOptions } = {}) {\n const { zoompan = false } = cldOptions;\n const options = {};\n\n if ( zoompan === true ) {\n cldImage.effect('e_zoompan');\n } else if ( typeof zoompan === 'string' ) {\n if ( zoompan === 'loop' ) {\n cldImage.effect('e_zoompan');\n cldImage.effect('e_loop');\n } else {\n cldImage.effect(`e_zoompan:${zoompan}`);\n }\n } else if ( typeof zoompan === 'object' ) {\n let zoompanEffect = 'e_zoompan';\n\n if ( typeof zoompan.options === 'string' ) {\n zoompanEffect = `${zoompanEffect}${zoompan.options}`;\n }\n\n cldImage.effect(zoompanEffect);\n\n let loopEffect;\n\n if ( zoompan.loop === true ) {\n loopEffect = 'e_loop';\n } else if ( typeof zoompan.loop === 'string' ) {\n loopEffect = `e_loop${zoompan.loop}`;\n }\n\n if ( loopEffect ) {\n cldImage.effect(loopEffect);\n }\n }\n\n if ( zoompan !== false ) {\n options.format = 'gif';\n }\n\n return {\n options\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';\nimport * as zoompanPlugin from '../plugins/zoompan';\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 url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\nexport const transformationPlugins = [\n removeBackgroundPlugin, // Background Removal must always come first\n croppingPlugin,\n effectsPlugin,\n overlaysPlugin,\n underlaysPlugin,\n zoompanPlugin\n];\n\nexport function cloudinaryLoader(defaultOptions, cldOptions) {\n const options = {\n format: 'auto',\n quality: 'auto',\n ...defaultOptions\n };\n\n const cldImage = cld.image(options.src);\n\n transformationPlugins.forEach(({ plugin }) => {\n const { options: pluginOptions } = plugin({\n cldImage,\n options,\n cldOptions\n }) || {};\n\n if ( pluginOptions?.format ) {\n options.format = pluginOptions.format;\n }\n });\n\n return cldImage\n .format(options.format)\n .delivery(`q_${options.quality}`)\n .toURL();\n}","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader, transformationPlugins } from '../../loaders/cloudinary-loader';\n\nconst CldImage = props => {\n\n const CLD_OPTIONS = [];\n\n transformationPlugins.forEach(({ props = [] }) => {\n props.forEach(prop => {\n if ( CLD_OPTIONS.includes(prop) ) {\n throw new Error(`Option ${prop} already exists!`);\n }\n CLD_OPTIONS.push(prop);\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","props","plugin","options","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","zoompan","zoompanEffect","loopEffect","loop","transformationPlugins","removeBackgroundPlugin","croppingPlugin","effectsPlugin","overlaysPlugin","underlaysPlugin","zoompanPlugin","cloudinaryLoader","defaultOptions","quality","pluginOptions","CldImage","CLD_OPTIONS","Error","imageProps","filter","blurDataURL","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"next-cloudinary.modern.mjs","sources":["../src/lib/cloudinary.js","../src/plugins/cropping.js","../src/plugins/effects.js","../src/constants/qualifiers.js","../src/plugins/overlays.js","../src/plugins/raw-transformations.js","../src/plugins/remove-background.js","../src/plugins/underlays.js","../src/plugins/zoompan.js","../src/loaders/cloudinary-loader.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 props = ['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}","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];\n\nexport const props = 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}","// 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 props = ['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 props = ['rawTransformations'];\n\nexport function plugin({ cldImage, cldOptions } = {}) {\n const { rawTransformations = [] } = cldOptions;\n\n rawTransformations.forEach(transformation => {\n cldImage.addTransformation(transformation);\n });\n}","export const props = ['removeBackground'];\n\nexport function plugin({ cldImage, options, cldOptions } = {}) {\n const { removeBackground = false } = cldOptions;\n if ( removeBackground ) {\n cldImage.effect('e_background_removal');\n }\n}","import {\n primary as qualifiersPrimary,\n text as qualifiersText,\n position as qualifiersPosition\n} from '../constants/qualifiers';\n\nexport const props = ['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}","export const props = ['zoompan'];\n\nexport function plugin({ cldImage, cldOptions } = {}) {\n const { zoompan = false } = cldOptions;\n const options = {};\n\n if ( zoompan === true ) {\n cldImage.effect('e_zoompan');\n } else if ( typeof zoompan === 'string' ) {\n if ( zoompan === 'loop' ) {\n cldImage.effect('e_zoompan');\n cldImage.effect('e_loop');\n } else {\n cldImage.effect(`e_zoompan:${zoompan}`);\n }\n } else if ( typeof zoompan === 'object' ) {\n let zoompanEffect = 'e_zoompan';\n\n if ( typeof zoompan.options === 'string' ) {\n zoompanEffect = `${zoompanEffect}${zoompan.options}`;\n }\n\n cldImage.effect(zoompanEffect);\n\n let loopEffect;\n\n if ( zoompan.loop === true ) {\n loopEffect = 'e_loop';\n } else if ( typeof zoompan.loop === 'string' ) {\n loopEffect = `e_loop${zoompan.loop}`;\n }\n\n if ( loopEffect ) {\n cldImage.effect(loopEffect);\n }\n }\n\n if ( zoompan !== false ) {\n options.format = 'gif';\n }\n\n return {\n options\n }\n}","import { Cloudinary } from '@cloudinary/url-gen';\n\nimport * as croppingPlugin from '../plugins/cropping';\nimport * as effectsPlugin from '../plugins/effects';\nimport * as overlaysPlugin from '../plugins/overlays';\nimport * as rawTransformationsPlugin from '../plugins/raw-transformations';\nimport * as removeBackgroundPlugin from '../plugins/remove-background';\nimport * as underlaysPlugin from '../plugins/underlays';\nimport * as zoompanPlugin from '../plugins/zoompan';\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 url: {\n // Used to avoid issues with SSR particularly for the blurred placeholder\n analytics: false\n }\n});\n\nexport const transformationPlugins = [\n // Background Removal must always come first\n removeBackgroundPlugin,\n\n croppingPlugin,\n effectsPlugin,\n overlaysPlugin,\n underlaysPlugin,\n zoompanPlugin,\n\n // Raw transformations needs to be last simply to make sure\n // it's always expected to applied the same way\n\n rawTransformationsPlugin\n];\n\nexport function cloudinaryLoader(defaultOptions, cldOptions) {\n const options = {\n format: 'auto',\n quality: 'auto',\n ...defaultOptions\n };\n\n const cldImage = cld.image(options.src);\n\n transformationPlugins.forEach(({ plugin }) => {\n const { options: pluginOptions } = plugin({\n cldImage,\n options,\n cldOptions\n }) || {};\n\n if ( pluginOptions?.format ) {\n options.format = pluginOptions.format;\n }\n });\n\n return cldImage\n .format(options.format)\n .delivery(`q_${options.quality}`)\n .toURL();\n}","import Image from 'next/image';\n\nimport { createPlaceholderUrl } from '../../lib/cloudinary';\nimport { cloudinaryLoader, transformationPlugins } from '../../loaders/cloudinary-loader';\n\nconst CldImage = props => {\n\n const CLD_OPTIONS = [];\n\n transformationPlugins.forEach(({ props = [] }) => {\n props.forEach(prop => {\n if ( CLD_OPTIONS.includes(prop) ) {\n throw new Error(`Option ${prop} already exists!`);\n }\n CLD_OPTIONS.push(prop);\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","props","plugin","options","cldOptions","width","height","crop","gravity","transformationString","console","warn","params","prop","map","param","forEach","key","log","primary","aspectRatio","qualifier","position","angle","x","y","text","location","fontFamily","fontSize","fontWeight","letterSpacing","textDecoration","overlays","type","typeQualifier","publicId","effects","layerEffects","_excluded","hasPublicId","hasText","hasPosition","layerTransformation","replace","applied","Object","keys","qualifiersPrimary","push","textTransformations","qualifiersText","qualifiersPosition","length","addTransformation","rawTransformations","transformation","removeBackground","underlays","zoompan","zoompanEffect","loopEffect","loop","transformationPlugins","removeBackgroundPlugin","croppingPlugin","effectsPlugin","overlaysPlugin","underlaysPlugin","zoompanPlugin","rawTransformationsPlugin","cloudinaryLoader","defaultOptions","quality","pluginOptions","CldImage","CLD_OPTIONS","Error","imageProps","filter","blurDataURL","_jsx"],"mappings":"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"}
|
|
@@ -70,8 +70,8 @@ function createPlaceholderUrl(_ref) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
var cropsGravityAuto = ['crop', 'fill', 'lfill', 'fill_pad', 'thumb'];
|
|
73
|
-
var props$
|
|
74
|
-
function plugin$
|
|
73
|
+
var props$6 = ['crop', 'gravity'];
|
|
74
|
+
function plugin$6(_temp) {
|
|
75
75
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
76
76
|
cldImage = _ref.cldImage,
|
|
77
77
|
options = _ref.options,
|
|
@@ -104,6 +104,82 @@ function plugin$5(_temp) {
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
var croppingPlugin = {
|
|
107
|
+
__proto__: null,
|
|
108
|
+
props: props$6,
|
|
109
|
+
plugin: plugin$6
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var params = ['art', {
|
|
113
|
+
prop: 'autoBrightness',
|
|
114
|
+
effect: 'auto_brightness'
|
|
115
|
+
}, {
|
|
116
|
+
prop: 'autoColor',
|
|
117
|
+
effect: 'auto_color'
|
|
118
|
+
}, {
|
|
119
|
+
prop: 'autoContrast',
|
|
120
|
+
effect: 'auto_contrast'
|
|
121
|
+
}, {
|
|
122
|
+
prop: 'assistColorblind',
|
|
123
|
+
effect: 'assist_colorblind'
|
|
124
|
+
}, 'blackwhite', 'blur', {
|
|
125
|
+
prop: 'blurFaces',
|
|
126
|
+
effect: 'blur_faces'
|
|
127
|
+
}, {
|
|
128
|
+
prop: 'blurRegion',
|
|
129
|
+
effect: 'blur_region'
|
|
130
|
+
}, 'brightness', {
|
|
131
|
+
prop: 'brightnessHSB',
|
|
132
|
+
effect: 'brightness_hsb'
|
|
133
|
+
}, 'cartoonify', 'colorize', 'contrast', 'distort', {
|
|
134
|
+
prop: 'fillLight',
|
|
135
|
+
effect: 'fill_light'
|
|
136
|
+
}, 'gamma', {
|
|
137
|
+
prop: 'gradientFade',
|
|
138
|
+
effect: 'gradient_fade'
|
|
139
|
+
}, 'grayscale', 'improve', 'negate', {
|
|
140
|
+
prop: 'oilPaint',
|
|
141
|
+
effect: 'oil_paint'
|
|
142
|
+
}, 'outline', 'pixelate', {
|
|
143
|
+
prop: 'pixelateFaces',
|
|
144
|
+
effect: 'pixelate_faces'
|
|
145
|
+
}, {
|
|
146
|
+
prop: 'pixelateRegion',
|
|
147
|
+
effect: 'pixelate_region'
|
|
148
|
+
}, 'redeye', {
|
|
149
|
+
prop: 'replaceColor',
|
|
150
|
+
effect: 'replace_color'
|
|
151
|
+
}, 'saturation', 'sepia', 'shadow', 'sharpen', 'shear', {
|
|
152
|
+
prop: 'simulateColorblind',
|
|
153
|
+
effect: 'simulate_colorblind'
|
|
154
|
+
}, 'tint', {
|
|
155
|
+
prop: 'unsharpMask',
|
|
156
|
+
effect: 'unsharp_mask'
|
|
157
|
+
}, 'vectorize', 'vibrance', 'vignette'];
|
|
158
|
+
var props$5 = params.map(function (param) {
|
|
159
|
+
return param.prop || param;
|
|
160
|
+
});
|
|
161
|
+
function plugin$5(_temp) {
|
|
162
|
+
var _ref = _temp === void 0 ? {} : _temp,
|
|
163
|
+
cldImage = _ref.cldImage,
|
|
164
|
+
cldOptions = _ref.cldOptions;
|
|
165
|
+
|
|
166
|
+
params.forEach(function (key) {
|
|
167
|
+
var prop = key.prop || key;
|
|
168
|
+
var effect = key.effect || key;
|
|
169
|
+
|
|
170
|
+
if (prop === 'oilPaint' && cldOptions[prop]) {
|
|
171
|
+
console.log('cldOptions[prop]', cldOptions[prop]);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (cldOptions[prop] === true) {
|
|
175
|
+
cldImage.effect("e_" + effect);
|
|
176
|
+
} else if (typeof cldOptions[prop] === 'string') {
|
|
177
|
+
cldImage.effect("e_" + effect + ":" + cldOptions[prop]);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
var effectsPlugin = {
|
|
107
183
|
__proto__: null,
|
|
108
184
|
props: props$5,
|
|
109
185
|
plugin: plugin$5
|
|
@@ -266,97 +342,40 @@ var overlaysPlugin = {
|
|
|
266
342
|
plugin: plugin$4
|
|
267
343
|
};
|
|
268
344
|
|
|
269
|
-
var props$3 = ['
|
|
345
|
+
var props$3 = ['rawTransformations'];
|
|
270
346
|
function plugin$3(_temp) {
|
|
271
347
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
272
348
|
cldImage = _ref.cldImage,
|
|
273
349
|
cldOptions = _ref.cldOptions;
|
|
274
350
|
|
|
275
|
-
var _cldOptions$
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
351
|
+
var _cldOptions$rawTransf = cldOptions.rawTransformations,
|
|
352
|
+
rawTransformations = _cldOptions$rawTransf === void 0 ? [] : _cldOptions$rawTransf;
|
|
353
|
+
rawTransformations.forEach(function (transformation) {
|
|
354
|
+
cldImage.addTransformation(transformation);
|
|
355
|
+
});
|
|
281
356
|
}
|
|
282
357
|
|
|
283
|
-
var
|
|
358
|
+
var rawTransformationsPlugin = {
|
|
284
359
|
__proto__: null,
|
|
285
360
|
props: props$3,
|
|
286
361
|
plugin: plugin$3
|
|
287
362
|
};
|
|
288
363
|
|
|
289
|
-
var
|
|
290
|
-
prop: 'autoBrightness',
|
|
291
|
-
effect: 'auto_brightness'
|
|
292
|
-
}, {
|
|
293
|
-
prop: 'autoColor',
|
|
294
|
-
effect: 'auto_color'
|
|
295
|
-
}, {
|
|
296
|
-
prop: 'autoContrast',
|
|
297
|
-
effect: 'auto_contrast'
|
|
298
|
-
}, {
|
|
299
|
-
prop: 'assistColorblind',
|
|
300
|
-
effect: 'assist_colorblind'
|
|
301
|
-
}, 'blackwhite', 'blur', {
|
|
302
|
-
prop: 'blurFaces',
|
|
303
|
-
effect: 'blur_faces'
|
|
304
|
-
}, {
|
|
305
|
-
prop: 'blurRegion',
|
|
306
|
-
effect: 'blur_region'
|
|
307
|
-
}, 'brightness', {
|
|
308
|
-
prop: 'brightnessHSB',
|
|
309
|
-
effect: 'brightness_hsb'
|
|
310
|
-
}, 'cartoonify', 'colorize', 'contrast', 'distort', {
|
|
311
|
-
prop: 'fillLight',
|
|
312
|
-
effect: 'fill_light'
|
|
313
|
-
}, 'gamma', {
|
|
314
|
-
prop: 'gradientFade',
|
|
315
|
-
effect: 'gradient_fade'
|
|
316
|
-
}, 'grayscale', 'improve', 'negate', {
|
|
317
|
-
prop: 'oilPaint',
|
|
318
|
-
effect: 'oil_paint'
|
|
319
|
-
}, 'outline', 'pixelate', {
|
|
320
|
-
prop: 'pixelateFaces',
|
|
321
|
-
effect: 'pixelate_faces'
|
|
322
|
-
}, {
|
|
323
|
-
prop: 'pixelateRegion',
|
|
324
|
-
effect: 'pixelate_region'
|
|
325
|
-
}, 'redeye', {
|
|
326
|
-
prop: 'replaceColor',
|
|
327
|
-
effect: 'replace_color'
|
|
328
|
-
}, 'saturation', 'sepia', 'shadow', 'sharpen', 'shear', {
|
|
329
|
-
prop: 'simulateColorblind',
|
|
330
|
-
effect: 'simulate_colorblind'
|
|
331
|
-
}, 'tint', {
|
|
332
|
-
prop: 'unsharpMask',
|
|
333
|
-
effect: 'unsharp_mask'
|
|
334
|
-
}, 'vectorize', 'vibrance', 'vignette'];
|
|
335
|
-
var props$2 = params.map(function (param) {
|
|
336
|
-
return param.prop || param;
|
|
337
|
-
});
|
|
364
|
+
var props$2 = ['removeBackground'];
|
|
338
365
|
function plugin$2(_temp) {
|
|
339
366
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
340
367
|
cldImage = _ref.cldImage,
|
|
341
368
|
cldOptions = _ref.cldOptions;
|
|
342
369
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
var effect = key.effect || key;
|
|
346
|
-
|
|
347
|
-
if (prop === 'oilPaint' && cldOptions[prop]) {
|
|
348
|
-
console.log('cldOptions[prop]', cldOptions[prop]);
|
|
349
|
-
}
|
|
370
|
+
var _cldOptions$removeBac = cldOptions.removeBackground,
|
|
371
|
+
removeBackground = _cldOptions$removeBac === void 0 ? false : _cldOptions$removeBac;
|
|
350
372
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
cldImage.effect("e_" + effect + ":" + cldOptions[prop]);
|
|
355
|
-
}
|
|
356
|
-
});
|
|
373
|
+
if (removeBackground) {
|
|
374
|
+
cldImage.effect('e_background_removal');
|
|
375
|
+
}
|
|
357
376
|
}
|
|
358
377
|
|
|
359
|
-
var
|
|
378
|
+
var removeBackgroundPlugin = {
|
|
360
379
|
__proto__: null,
|
|
361
380
|
props: props$2,
|
|
362
381
|
plugin: plugin$2
|
|
@@ -502,8 +521,10 @@ var cld = new Cloudinary({
|
|
|
502
521
|
analytics: false
|
|
503
522
|
}
|
|
504
523
|
});
|
|
505
|
-
var transformationPlugins = [
|
|
506
|
-
croppingPlugin, effectsPlugin, overlaysPlugin, underlaysPlugin, zoompanPlugin
|
|
524
|
+
var transformationPlugins = [// Background Removal must always come first
|
|
525
|
+
removeBackgroundPlugin, croppingPlugin, effectsPlugin, overlaysPlugin, underlaysPlugin, zoompanPlugin, // Raw transformations needs to be last simply to make sure
|
|
526
|
+
// it's always expected to applied the same way
|
|
527
|
+
rawTransformationsPlugin];
|
|
507
528
|
function cloudinaryLoader(defaultOptions, cldOptions) {
|
|
508
529
|
var options = _extends({
|
|
509
530
|
format: 'auto',
|