@design-edito/tools 0.1.53 → 0.1.54

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.
Files changed (239) hide show
  1. package/agnostic/arrays/find-duplicates/index.js +1 -1
  2. package/agnostic/arrays/index.js +8 -8
  3. package/agnostic/arrays/is-array-of/index.js +1 -1
  4. package/agnostic/arrays/make/index.js +1 -1
  5. package/agnostic/arrays/random-pick/index.js +5 -5
  6. package/agnostic/arrays/shuffle/index.js +1 -1
  7. package/agnostic/booleans/index.js +1 -1
  8. package/agnostic/booleans/is-falsy/index.js +1 -1
  9. package/agnostic/css/bem/index.js +1 -1
  10. package/agnostic/css/generate-nice-color/index.js +1 -1
  11. package/agnostic/css/index.js +9 -9
  12. package/agnostic/css/is-valid-css-class-name/index.js +1 -1
  13. package/agnostic/css/styles-set/index.js +7 -7
  14. package/agnostic/errors/index.js +1 -1
  15. package/agnostic/errors/register/index.js +1 -1
  16. package/agnostic/errors/unknown-to-string/index.js +1 -1
  17. package/agnostic/html/get-node-ancestors/index.js +1 -1
  18. package/agnostic/html/get-position-inside-parent/index.js +1 -1
  19. package/agnostic/html/hyper-json/cast/index.js +5 -5
  20. package/agnostic/html/hyper-json/index.js +6 -6
  21. package/agnostic/html/hyper-json/method/index.js +1 -1
  22. package/agnostic/html/hyper-json/serialize/index.js +1 -1
  23. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +5 -5
  24. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +5 -5
  25. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +5 -5
  26. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +5 -5
  27. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +5 -5
  28. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +5 -5
  29. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +5 -5
  30. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +5 -5
  31. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +5 -5
  32. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +5 -5
  33. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +5 -5
  34. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +5 -5
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +5 -5
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +5 -5
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +5 -5
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +5 -5
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +5 -5
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +5 -5
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +5 -5
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +5 -5
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +5 -5
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +5 -5
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +5 -5
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +5 -5
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +5 -5
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +5 -5
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +5 -5
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +5 -5
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +5 -5
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +5 -5
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +5 -5
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +5 -5
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +5 -5
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +5 -5
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -5
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +5 -5
  59. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +5 -5
  60. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +5 -5
  61. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +5 -5
  62. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +5 -5
  63. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +5 -5
  64. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +5 -5
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +5 -5
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +5 -5
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +5 -5
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +5 -5
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +5 -5
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +5 -5
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +5 -5
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +5 -5
  73. package/agnostic/html/hyper-json/smart-tags/index.js +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.js +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.js +1 -1
  76. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +5 -5
  77. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +5 -5
  78. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +5 -5
  79. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +5 -5
  80. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +5 -5
  81. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +5 -5
  82. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.js +1 -1
  83. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +5 -5
  84. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +5 -5
  85. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +5 -5
  86. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +5 -5
  87. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +5 -5
  88. package/agnostic/html/hyper-json/transformer/index.js +1 -1
  89. package/agnostic/html/hyper-json/tree/index.js +5 -5
  90. package/agnostic/html/hyper-json/types/index.js +1 -1
  91. package/agnostic/html/hyper-json/utils/index.js +5 -5
  92. package/agnostic/html/index.js +19 -19
  93. package/agnostic/html/insert-node/index.js +1 -1
  94. package/agnostic/html/placeholders/index.js +1 -1
  95. package/agnostic/html/replace-in-element/index.js +1 -1
  96. package/agnostic/html/sanitize/index.js +5 -5
  97. package/agnostic/html/selector-to-element/index.js +5 -5
  98. package/agnostic/html/string-to-nodes/index.js +6 -6
  99. package/agnostic/misc/assert/index.js +1 -1
  100. package/agnostic/misc/cast/index.js +1 -1
  101. package/agnostic/misc/crawler/index.js +1 -1
  102. package/agnostic/misc/crossenv/detect-runtime/index.js +1 -1
  103. package/agnostic/misc/crossenv/index.js +3 -3
  104. package/agnostic/misc/crossenv/types/index.js +1 -1
  105. package/agnostic/misc/crossenv/window/index.js +1 -1
  106. package/agnostic/misc/data-size/index.js +1 -1
  107. package/agnostic/misc/elo/index.js +1 -1
  108. package/agnostic/misc/get-current-downlink/index.js +1 -1
  109. package/agnostic/misc/index.js +28 -28
  110. package/agnostic/misc/is-constructor-function/index.js +1 -1
  111. package/agnostic/misc/is-nullish/index.js +1 -1
  112. package/agnostic/misc/logs/index.js +3 -3
  113. package/agnostic/misc/logs/logger/index.js +1 -1
  114. package/agnostic/misc/logs/make-text-block/index.js +1 -1
  115. package/agnostic/misc/logs/styles/index.js +1 -1
  116. package/agnostic/misc/lorem-ipsum/index.js +13 -13
  117. package/agnostic/misc/outcome/index.js +1 -1
  118. package/agnostic/numbers/absolute-modulo/index.js +1 -1
  119. package/agnostic/numbers/clamp/index.js +1 -1
  120. package/agnostic/numbers/index.js +5 -5
  121. package/agnostic/numbers/interpolate/index.js +1 -1
  122. package/agnostic/numbers/responsive-harmonics/index.js +1 -1
  123. package/agnostic/numbers/round/index.js +1 -1
  124. package/agnostic/objects/deep-get-property/index.js +1 -1
  125. package/agnostic/objects/enums/index.js +1 -1
  126. package/agnostic/objects/enums/is-in-enum/index.js +1 -1
  127. package/agnostic/objects/flatten-getters/index.js +1 -1
  128. package/agnostic/objects/index.js +13 -13
  129. package/agnostic/objects/is-object/index.js +1 -1
  130. package/agnostic/objects/is-record/index.js +1 -1
  131. package/agnostic/objects/record-format/index.js +1 -1
  132. package/agnostic/objects/record-map/index.js +1 -1
  133. package/agnostic/objects/validation/index.js +1 -1
  134. package/agnostic/optim/index.js +1 -1
  135. package/agnostic/optim/memoize/index.js +1 -1
  136. package/agnostic/optim/throttle-debounce/index.js +1 -1
  137. package/agnostic/random/hex-char/index.js +1 -1
  138. package/agnostic/random/index.js +3 -3
  139. package/agnostic/random/random/index.js +1 -1
  140. package/agnostic/random/uuid/index.js +1 -1
  141. package/agnostic/regexps/index.js +1 -1
  142. package/agnostic/strings/char-codes/index.js +1 -1
  143. package/agnostic/strings/index.js +7 -7
  144. package/agnostic/strings/matches/index.js +1 -1
  145. package/agnostic/strings/normalize-indent/index.js +1 -1
  146. package/agnostic/strings/replace-all/index.js +1 -1
  147. package/agnostic/strings/to-alphanum/index.js +1 -1
  148. package/agnostic/strings/trim/index.js +1 -1
  149. package/agnostic/time/dates/format-date/index.js +1 -1
  150. package/agnostic/time/dates/index.js +1 -1
  151. package/agnostic/time/duration/index.js +1 -1
  152. package/agnostic/time/index.js +4 -4
  153. package/agnostic/time/timeout/index.js +1 -1
  154. package/agnostic/time/transitions/index.js +1 -1
  155. package/agnostic/time/wait/index.js +1 -1
  156. package/chunks/chunk-35W7XRC3.js +173 -0
  157. package/chunks/chunk-3GTGE66Y.js +32 -0
  158. package/chunks/chunk-422KBDRV.js +203 -0
  159. package/chunks/chunk-4OH2EX3D.js +191 -0
  160. package/chunks/chunk-4WOYAD35.js +31 -0
  161. package/chunks/chunk-5JMTDJWX.js +37 -0
  162. package/chunks/chunk-5RGHYFQH.js +70 -0
  163. package/chunks/chunk-5VHFXWFM.js +31 -0
  164. package/chunks/chunk-6DA4S65P.js +37 -0
  165. package/chunks/chunk-7DDXALPH.js +49 -0
  166. package/chunks/chunk-7YSTZ7GY.js +31 -0
  167. package/chunks/chunk-A4FSJC46.js +58 -0
  168. package/chunks/chunk-BNNAZPI2.js +191 -0
  169. package/chunks/chunk-BONBND7I.js +239 -0
  170. package/chunks/chunk-EM37BFXO.js +35 -0
  171. package/chunks/chunk-ERAFJXWH.js +20 -0
  172. package/chunks/chunk-FEFY3V6P.js +31 -0
  173. package/chunks/chunk-FJTOFK3C.js +203 -0
  174. package/chunks/chunk-G66DWXF3.js +31 -0
  175. package/chunks/chunk-GP44TBRI.js +39 -0
  176. package/chunks/chunk-HTNLTDQT.js +28 -0
  177. package/chunks/chunk-I66DPQN2.js +31 -0
  178. package/chunks/chunk-JBDWHJ4Q.js +31 -0
  179. package/chunks/chunk-JJWKHBXD.js +68 -0
  180. package/chunks/chunk-MOA6JFUQ.js +2369 -0
  181. package/chunks/chunk-MUYZV5F3.js +2369 -0
  182. package/chunks/chunk-N4BZJOGW.js +56 -0
  183. package/chunks/chunk-N4LMP4UM.js +31 -0
  184. package/chunks/chunk-Q7HA7IAA.js +20 -0
  185. package/chunks/chunk-QTTNO4T6.js +37 -0
  186. package/chunks/chunk-QVIRBFMQ.js +31 -0
  187. package/chunks/chunk-ROJZUEYL.js +37 -0
  188. package/chunks/chunk-SPMF4X5X.js +31 -0
  189. package/chunks/chunk-UVSTFYSD.js +28 -0
  190. package/chunks/chunk-VQEP2EQF.js +100 -0
  191. package/chunks/chunk-VV72XGJJ.js +58 -0
  192. package/chunks/chunk-VXSOUAUT.js +100 -0
  193. package/chunks/chunk-W6BFU7Y5.js +56 -0
  194. package/chunks/chunk-WOGRENMM.js +31 -0
  195. package/chunks/chunk-X5FAZBWL.js +130 -0
  196. package/chunks/chunk-YMRAUWRW.js +20 -0
  197. package/chunks/chunk-ZNA7SWFK.js +29 -0
  198. package/components/Comp/index.js +1 -1
  199. package/node/@design-edito/index.js +6 -6
  200. package/node/@design-edito/thumbnails/colors/index.js +2 -2
  201. package/node/@design-edito/thumbnails/common/index.js +2 -2
  202. package/node/@design-edito/thumbnails/easings/index.js +2 -2
  203. package/node/@design-edito/thumbnails/index.js +6 -6
  204. package/node/@design-edito/thumbnails/layout/index.js +4 -4
  205. package/node/@express/@multer/index.js +2 -3
  206. package/node/@express/index.js +2 -3
  207. package/node/@google-cloud/index.js +17 -17
  208. package/node/@google-cloud/storage/bucket/get-metadata/index.js +2 -2
  209. package/node/@google-cloud/storage/bucket/index.js +6 -6
  210. package/node/@google-cloud/storage/bucket/list/index.js +2 -2
  211. package/node/@google-cloud/storage/file/copy/index.js +2 -2
  212. package/node/@google-cloud/storage/file/download/index.js +2 -2
  213. package/node/@google-cloud/storage/file/erase/index.js +2 -2
  214. package/node/@google-cloud/storage/file/exists/index.js +2 -2
  215. package/node/@google-cloud/storage/file/generate-signed-url/index.js +2 -2
  216. package/node/@google-cloud/storage/file/get-metadata/index.js +2 -2
  217. package/node/@google-cloud/storage/file/get-permissions/index.js +2 -2
  218. package/node/@google-cloud/storage/file/index.js +21 -21
  219. package/node/@google-cloud/storage/file/move/index.js +2 -2
  220. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  221. package/node/@google-cloud/storage/file/update-metadata/index.js +2 -2
  222. package/node/@google-cloud/storage/file/upload/index.js +2 -2
  223. package/node/@google-cloud/storage/index.js +17 -17
  224. package/node/encryption/buffer/index.js +1 -1
  225. package/node/encryption/generate-key/index.js +1 -1
  226. package/node/encryption/index.js +1 -1
  227. package/node/encryption/uint8-array/index.js +1 -1
  228. package/node/files/index.js +4 -4
  229. package/node/files/is-in-directory/index.js +1 -1
  230. package/node/files/read-write/index.js +1 -1
  231. package/node/files/subpaths/index.js +1 -1
  232. package/node/images/exports/index.js +2 -4
  233. package/node/images/index.js +10 -12
  234. package/node/images/prepare/index.js +10 -12
  235. package/node/images/transform/area-composition/index.js +7 -8
  236. package/node/images/transform/index.js +8 -9
  237. package/node/process/index.js +1 -1
  238. package/node/process/on-exit/index.js +1 -1
  239. package/package.json +2 -4
@@ -0,0 +1,203 @@
1
+ import {
2
+ thumbnails_exports
3
+ } from "./chunk-HTNLTDQT.js";
4
+
5
+ // src/node/images/transform/area-composition/index.ts
6
+ import sharp from "sharp";
7
+ var DEFAULT_GENERATE_OPTIONS = {
8
+ formats: ["jpeg"],
9
+ nbOutputs: 1,
10
+ imagePosition: "center",
11
+ imageOccupation: 60,
12
+ dimensions: { w: 300, h: 500 },
13
+ palette: ["default"],
14
+ maxPaletteDensity: 100,
15
+ extractPaletteDensity: 8,
16
+ lightenIntensity: 20,
17
+ saturateIntensity: 20,
18
+ colorFilterApply: "all",
19
+ tileDensityA: { min: 1, max: 1 },
20
+ tileDensityB: { min: 1, max: 1 },
21
+ tileCoverage: 50,
22
+ tileFormat: "default",
23
+ tileXEasing: "none",
24
+ tileYEasing: "none"
25
+ };
26
+ async function areaCompose(inputSharp, customOptions) {
27
+ const options = getOptions(customOptions);
28
+ const inputMetadata = await inputSharp.metadata();
29
+ const initialDimensions = {
30
+ w: inputMetadata.width || 0,
31
+ h: inputMetadata.height || 0
32
+ };
33
+ const inputBufferData = await inputSharp.raw().toBuffer();
34
+ const imagePalette = thumbnails_exports.Colors.extractPaletteFromImage(inputBufferData, initialDimensions, options);
35
+ const composedPalette = composePalette(imagePalette, options.palette, options.maxPaletteDensity);
36
+ inputSharp.png({ quality: 100 });
37
+ const outputDimensions = {
38
+ w: options.dimensions.w,
39
+ h: options.dimensions.h
40
+ };
41
+ const resizeInputDimensions = getNewInputImageDimensions(outputDimensions, options.imageOccupation);
42
+ const resizedInput = inputSharp.resize({
43
+ width: resizeInputDimensions.w,
44
+ height: resizeInputDimensions.h,
45
+ fit: "contain",
46
+ background: { r: 255, g: 255, b: 255, alpha: 0 }
47
+ // Add a transparent background
48
+ }).toFormat("png");
49
+ const resizedInputPositions = getImagePositions(options.imagePosition, resizeInputDimensions, resizeInputDimensions, outputDimensions);
50
+ const shapesLayout = thumbnails_exports.Layout.packAreasAndTiles(
51
+ {
52
+ ...resizedInputPositions,
53
+ ...resizeInputDimensions
54
+ },
55
+ outputDimensions,
56
+ options.tileCoverage,
57
+ { A: options.tileDensityA, B: options.tileDensityB },
58
+ { X: options.tileXEasing, Y: options.tileYEasing }
59
+ );
60
+ const sharpShapes = getSharpTilesInputs(shapesLayout, composedPalette);
61
+ const sharpShapesForComposite = [];
62
+ for await (const sharpShape of sharpShapes) {
63
+ ;
64
+ sharpShapesForComposite.push({
65
+ input: await sharpShape.input.toFormat("png").toBuffer(),
66
+ left: sharpShape.left,
67
+ top: sharpShape.top
68
+ });
69
+ }
70
+ const background = composedPalette[0] || [255, 255, 255];
71
+ const outputSharp = await createSharpShape(outputDimensions, background).toFormat("webp");
72
+ const composedSharp = outputSharp.composite([
73
+ {
74
+ input: await resizedInput.toFormat("webp").toBuffer(),
75
+ /* Converting to png to handle alpha */
76
+ left: Math.round(resizedInputPositions.x),
77
+ top: Math.round(resizedInputPositions.y)
78
+ },
79
+ ...sharpShapesForComposite
80
+ ]);
81
+ return await composedSharp.flatten();
82
+ }
83
+ function getOptions(customOptions) {
84
+ if (!customOptions) {
85
+ return DEFAULT_GENERATE_OPTIONS;
86
+ }
87
+ ;
88
+ const options = {
89
+ ...DEFAULT_GENERATE_OPTIONS,
90
+ ...customOptions
91
+ };
92
+ return options;
93
+ }
94
+ function getNewInputImageDimensions(formatDimensions, imageOccupation) {
95
+ const placeRatio = imageOccupation / 100;
96
+ return {
97
+ w: Math.round(formatDimensions.w * placeRatio),
98
+ h: Math.round(formatDimensions.h * placeRatio)
99
+ };
100
+ }
101
+ function composePalette(palette, paletteOption, maxPaletteDensity) {
102
+ let composedPalette = [];
103
+ if (paletteOption.includes("default-lighten")) {
104
+ composedPalette = [...composedPalette, ...palette.default.lighten];
105
+ }
106
+ if (paletteOption.includes("default-saturate")) {
107
+ composedPalette = [...composedPalette, ...palette.default.saturate];
108
+ }
109
+ if (paletteOption.includes("complementary")) {
110
+ composedPalette = [...composedPalette, ...palette.complementary.default];
111
+ }
112
+ if (paletteOption.includes("complementary-lighten")) {
113
+ composedPalette = [...composedPalette, ...palette.complementary.lighten];
114
+ }
115
+ if (paletteOption.includes("complementary-saturate")) {
116
+ composedPalette = [...composedPalette, ...palette.complementary.saturate];
117
+ }
118
+ if (paletteOption.includes("default") || !composedPalette.length) {
119
+ composedPalette = [...composedPalette, ...palette.default.default];
120
+ }
121
+ const shuffledPalette = thumbnails_exports.Common.shuffleArray(composedPalette);
122
+ const outputPalette = composedPalette.length > maxPaletteDensity ? shuffledPalette.splice(0, maxPaletteDensity) : shuffledPalette;
123
+ return outputPalette;
124
+ }
125
+ function getImagePositions(position, resizedImageDimensions, containedImageDimensions, wrapperDimensions) {
126
+ switch (position) {
127
+ case "top-left":
128
+ return thumbnails_exports.Layout.alignTopLeft(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
129
+ case "top-center":
130
+ return thumbnails_exports.Layout.alignTopCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
131
+ case "top-right":
132
+ return thumbnails_exports.Layout.alignTopRight(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
133
+ case "left-center":
134
+ return thumbnails_exports.Layout.alignLeftCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
135
+ case "center":
136
+ return thumbnails_exports.Layout.alignCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
137
+ case "right-center":
138
+ return thumbnails_exports.Layout.alignRightCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
139
+ case "bottom-left":
140
+ return thumbnails_exports.Layout.alignBottomLeft(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
141
+ case "bottom-center":
142
+ return thumbnails_exports.Layout.alignBottomCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
143
+ case "bottom-right":
144
+ return thumbnails_exports.Layout.alignBottomRight(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
145
+ default:
146
+ return { x: 0, y: 0 };
147
+ }
148
+ }
149
+ function createSharpShape(dimensions, background) {
150
+ return sharp(
151
+ {
152
+ create: getCreateSharpShape(dimensions, background)
153
+ }
154
+ );
155
+ }
156
+ function getCreateSharpShape(dimensions, background) {
157
+ return {
158
+ width: Math.round(dimensions.w),
159
+ height: Math.round(dimensions.h),
160
+ channels: 4,
161
+ background: { r: background[0], g: background[1], b: background[2], alpha: 1 }
162
+ };
163
+ }
164
+ function getSharpTilesInputs(tiles, palette) {
165
+ let usedColorsIndexes = [];
166
+ const paletteLength = palette.length;
167
+ const getUnusedColorIndex = () => {
168
+ const paletteIndex = thumbnails_exports.Common.randomInt(paletteLength);
169
+ resetUnusedColorIndexesIfNeeded();
170
+ if (usedColorsIndexes.includes(paletteIndex)) {
171
+ return getUnusedColorIndex();
172
+ }
173
+ usedColorsIndexes.push(paletteIndex);
174
+ return paletteIndex;
175
+ };
176
+ const resetUnusedColorIndexesIfNeeded = () => {
177
+ if (usedColorsIndexes.length !== paletteLength) {
178
+ return;
179
+ }
180
+ usedColorsIndexes = [];
181
+ };
182
+ return tiles.map((tile) => {
183
+ const paletteIndex = getUnusedColorIndex();
184
+ const color = palette[paletteIndex];
185
+ if (!color) {
186
+ return;
187
+ }
188
+ return {
189
+ top: Math.round(tile.y),
190
+ left: Math.round(tile.x),
191
+ input: sharp(
192
+ {
193
+ create: getCreateSharpShape(tile, color)
194
+ }
195
+ )
196
+ };
197
+ }).filter((sharpShape) => sharpShape !== void 0);
198
+ }
199
+
200
+ export {
201
+ areaCompose,
202
+ getSharpTilesInputs
203
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/erase/index.ts
12
+ var erase_exports = {};
13
+ __export(erase_exports, {
14
+ erase: () => erase
15
+ });
16
+ async function erase(sourcePath, bucket, options) {
17
+ const { fileOptions, deleteOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ await file.delete(deleteOptions);
21
+ return Outcome.makeSuccess(true);
22
+ } catch (err) {
23
+ const errStr = unknownToString(err);
24
+ return Outcome.makeFailure(errStr);
25
+ }
26
+ }
27
+
28
+ export {
29
+ erase,
30
+ erase_exports
31
+ };
@@ -0,0 +1,39 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ __export
6
+ } from "./chunk-WSFCRVEQ.js";
7
+
8
+ // src/node/@express/@multer/index.ts
9
+ var multer_exports = {};
10
+ __export(multer_exports, {
11
+ useMulterMiddleware: () => useMulterMiddleware
12
+ });
13
+ import multer from "multer";
14
+ async function useMulterMiddleware(req, res, options) {
15
+ const { limits, fileFilter } = options;
16
+ const uploader = multer({ storage: multer.memoryStorage(), limits, fileFilter });
17
+ let middleware;
18
+ if (options.mode === "none") {
19
+ middleware = uploader.none();
20
+ } else if (options.mode === "single") {
21
+ middleware = uploader.single(options.fieldName);
22
+ } else if (options.mode === "array") {
23
+ middleware = uploader.array(options.fieldName, options.maxCount);
24
+ } else if (options.mode === "fields") {
25
+ middleware = uploader.fields(options.fields);
26
+ } else {
27
+ middleware = uploader.any();
28
+ }
29
+ return await new Promise((resolve) => middleware(req, res, (err) => {
30
+ resolve(
31
+ err !== void 0 ? Outcome.makeFailure(err) : Outcome.makeSuccess(true)
32
+ );
33
+ }));
34
+ }
35
+
36
+ export {
37
+ useMulterMiddleware,
38
+ multer_exports
39
+ };
@@ -0,0 +1,28 @@
1
+ import {
2
+ layout_exports
3
+ } from "./chunk-BONBND7I.js";
4
+ import {
5
+ common_exports
6
+ } from "./chunk-7DDXALPH.js";
7
+ import {
8
+ easings_exports
9
+ } from "./chunk-JJWKHBXD.js";
10
+ import {
11
+ colors_exports
12
+ } from "./chunk-X5FAZBWL.js";
13
+ import {
14
+ __export
15
+ } from "./chunk-WSFCRVEQ.js";
16
+
17
+ // src/node/@design-edito/thumbnails/index.ts
18
+ var thumbnails_exports = {};
19
+ __export(thumbnails_exports, {
20
+ Colors: () => colors_exports,
21
+ Common: () => common_exports,
22
+ Easings: () => easings_exports,
23
+ Layout: () => layout_exports
24
+ });
25
+
26
+ export {
27
+ thumbnails_exports
28
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/download/index.ts
12
+ var download_exports = {};
13
+ __export(download_exports, {
14
+ download: () => download
15
+ });
16
+ async function download(sourcePath, bucket, options) {
17
+ const { fileOptions, downloadOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ const downloaded = await file.download(downloadOptions);
21
+ return Outcome.makeSuccess(downloaded[0]);
22
+ } catch (err) {
23
+ const errStr = unknownToString(err);
24
+ return Outcome.makeFailure(errStr);
25
+ }
26
+ }
27
+
28
+ export {
29
+ download,
30
+ download_exports
31
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/update-metadata/index.ts
12
+ var update_metadata_exports = {};
13
+ __export(update_metadata_exports, {
14
+ updateFileMetadata: () => updateFileMetadata
15
+ });
16
+ async function updateFileMetadata(sourcePath, bucket, metadata, options) {
17
+ const { fileOptions, metadataOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ await file.setMetadata(metadata, metadataOptions);
21
+ return Outcome.makeSuccess(true);
22
+ } catch (err) {
23
+ const errStr = unknownToString(err);
24
+ return Outcome.makeFailure(errStr);
25
+ }
26
+ }
27
+
28
+ export {
29
+ updateFileMetadata,
30
+ update_metadata_exports
31
+ };
@@ -0,0 +1,68 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-WSFCRVEQ.js";
4
+
5
+ // src/node/@design-edito/thumbnails/easings/index.ts
6
+ var easings_exports = {};
7
+ __export(easings_exports, {
8
+ ease: () => ease,
9
+ easeInOutQuad: () => easeInOutQuad,
10
+ easeInOutSine: () => easeInOutSine,
11
+ easeInQuad: () => easeInQuad,
12
+ easeInSine: () => easeInSine,
13
+ easeOutQuad: () => easeOutQuad,
14
+ easeOutSine: () => easeOutSine,
15
+ linear: () => linear
16
+ });
17
+ function ease(t, name) {
18
+ switch (name) {
19
+ case "in-sine":
20
+ return easeInSine(t);
21
+ case "out-sine":
22
+ return easeOutSine(t);
23
+ case "in-out-sine":
24
+ return easeInOutSine(t);
25
+ case "in-quad":
26
+ return easeInQuad(t);
27
+ case "out-quad":
28
+ return easeOutQuad(t);
29
+ case "in-out-quad":
30
+ return easeInOutQuad(t);
31
+ case "linear":
32
+ default:
33
+ return linear(t);
34
+ }
35
+ }
36
+ function linear(t) {
37
+ return t;
38
+ }
39
+ function easeOutSine(t) {
40
+ return Math.sin(t * (Math.PI / 2));
41
+ }
42
+ function easeInSine(t) {
43
+ return -1 * Math.cos(t * (Math.PI / 2)) + 1;
44
+ }
45
+ function easeInOutSine(t) {
46
+ return -0.5 * (Math.cos(Math.PI * t) - 1);
47
+ }
48
+ function easeInQuad(t) {
49
+ return t * t;
50
+ }
51
+ function easeOutQuad(t) {
52
+ return t * (2 - t);
53
+ }
54
+ function easeInOutQuad(t) {
55
+ return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
56
+ }
57
+
58
+ export {
59
+ ease,
60
+ linear,
61
+ easeOutSine,
62
+ easeInSine,
63
+ easeInOutSine,
64
+ easeInQuad,
65
+ easeOutQuad,
66
+ easeInOutQuad,
67
+ easings_exports
68
+ };