@design-edito/tools 0.5.33 → 0.5.35

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 (55) hide show
  1. package/agnostic/arrays/index.d.ts +1 -1
  2. package/agnostic/arrays/index.js +1 -1
  3. package/agnostic/colors/index.d.ts +2 -2
  4. package/agnostic/colors/index.js +2 -2
  5. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +6 -6
  6. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +6 -6
  7. package/agnostic/html/index.d.ts +1 -1
  8. package/agnostic/html/index.js +1 -1
  9. package/agnostic/index.d.ts +2 -2
  10. package/agnostic/index.js +2 -2
  11. package/agnostic/misc/crossenv/index.d.ts +1 -1
  12. package/agnostic/misc/crossenv/index.js +1 -1
  13. package/agnostic/misc/index.d.ts +1 -1
  14. package/agnostic/misc/index.js +1 -1
  15. package/agnostic/numbers/index.d.ts +1 -1
  16. package/agnostic/numbers/index.js +1 -1
  17. package/agnostic/objects/index.d.ts +1 -1
  18. package/agnostic/objects/index.js +1 -1
  19. package/agnostic/sanitization/index.d.ts +1 -1
  20. package/agnostic/sanitization/index.js +1 -1
  21. package/agnostic/strings/index.d.ts +1 -1
  22. package/agnostic/strings/index.js +1 -1
  23. package/agnostic/time/index.d.ts +2 -2
  24. package/agnostic/time/index.js +2 -2
  25. package/components/Gallery/index.d.ts +6 -3
  26. package/components/Gallery/index.js +1 -1
  27. package/components/ListLoader/index.d.ts +13 -6
  28. package/components/ListLoader/index.js +2 -2
  29. package/components/Scrllgngn/index.d.ts +6 -3
  30. package/components/Scrllgngn/index.js +4 -1
  31. package/components/Sequencer/index.d.ts +6 -3
  32. package/components/Sequencer/index.js +1 -1
  33. package/components/UIModule/index.d.ts +31 -18
  34. package/components/UIModule/index.js +32 -6
  35. package/components/index.d.ts +3 -3
  36. package/components/index.js +3 -3
  37. package/node/@aws-s3/storage/file/index.d.ts +1 -1
  38. package/node/@aws-s3/storage/file/index.js +1 -1
  39. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  40. package/node/@google-cloud/storage/directory/index.js +1 -1
  41. package/node/@google-cloud/storage/file/index.d.ts +4 -4
  42. package/node/@google-cloud/storage/file/index.js +4 -4
  43. package/node/cloud-storage/operations/index.d.ts +1 -1
  44. package/node/cloud-storage/operations/index.js +1 -1
  45. package/node/ftps/file/index.d.ts +1 -1
  46. package/node/ftps/file/index.js +1 -1
  47. package/node/ftps/index.d.ts +1 -1
  48. package/node/ftps/index.js +1 -1
  49. package/node/images/index.d.ts +1 -1
  50. package/node/images/index.js +1 -1
  51. package/node/images/transform/operations/index.d.ts +1 -1
  52. package/node/images/transform/operations/index.js +1 -1
  53. package/node/index.d.ts +1 -1
  54. package/node/index.js +1 -1
  55. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  export * as dedupe from './dedupe/index.js'
2
2
  export * as findDuplicates from './find-duplicates/index.js'
3
+ export * as isArrayOf from './is-array-of/index.js'
3
4
  export * as make from './make/index.js'
4
5
  export * as randomPick from './random-pick/index.js'
5
6
  export * as shuffle from './shuffle/index.js'
6
- export * as isArrayOf from './is-array-of/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as dedupe from './dedupe/index.js'
2
2
  export * as findDuplicates from './find-duplicates/index.js'
3
+ export * as isArrayOf from './is-array-of/index.js'
3
4
  export * as make from './make/index.js'
4
5
  export * as randomPick from './random-pick/index.js'
5
6
  export * as shuffle from './shuffle/index.js'
6
- export * as isArrayOf from './is-array-of/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as channels from './channels/index.js'
2
2
  export * as contrast from './contrast/index.js'
3
3
  export * as convert from './convert/index.js'
4
- export * as distance from './distance/index.js'
5
4
  export * as grayscale from './grayscale/index.js'
6
- export * as lerp from './lerp/index.js'
5
+ export * as distance from './distance/index.js'
7
6
  export * as invert from './invert/index.js'
8
7
  export * as luminance from './luminance/index.js'
9
8
  export * as palette from './palette/index.js'
10
9
  export * as rotate from './rotate/index.js'
11
10
  export * as tidy from './tidy/index.js'
12
11
  export * as typechecks from './typechecks/index.js'
12
+ export * as lerp from './lerp/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as channels from './channels/index.js'
2
2
  export * as contrast from './contrast/index.js'
3
3
  export * as convert from './convert/index.js'
4
- export * as distance from './distance/index.js'
5
4
  export * as grayscale from './grayscale/index.js'
6
- export * as lerp from './lerp/index.js'
5
+ export * as distance from './distance/index.js'
7
6
  export * as invert from './invert/index.js'
8
7
  export * as luminance from './luminance/index.js'
9
8
  export * as palette from './palette/index.js'
10
9
  export * as rotate from './rotate/index.js'
11
10
  export * as tidy from './tidy/index.js'
12
11
  export * as typechecks from './typechecks/index.js'
12
+ export * as lerp from './lerp/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as add from './add/index.js'
2
2
  export * as addclass from './addclass/index.js'
3
- export * as and from './and/index.js'
4
3
  export * as append from './append/index.js'
4
+ export * as and from './and/index.js'
5
5
  export * as at from './at/index.js'
6
6
  export * as call from './call/index.js'
7
7
  export * as clone from './clone/index.js'
@@ -10,7 +10,6 @@ export * as equals from './equals/index.js'
10
10
  export * as getattribute from './getattribute/index.js'
11
11
  export * as getproperties from './getproperties/index.js'
12
12
  export * as getproperty from './getproperty/index.js'
13
- export * as hjparse from './hjparse/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
14
  export * as if from './if/index.js'
16
15
  export * as initialize from './initialize/index.js'
@@ -19,6 +18,7 @@ export * as length from './length/index.js'
19
18
  export * as map from './map/index.js'
20
19
  export * as negate from './negate/index.js'
21
20
  export * as notrailing from './notrailing/index.js'
21
+ export * as hjparse from './hjparse/index.js'
22
22
  export * as or from './or/index.js'
23
23
  export * as pickrandom from './pickrandom/index.js'
24
24
  export * as populate from './populate/index.js'
@@ -30,22 +30,22 @@ export * as removeattribute from './removeattribute/index.js'
30
30
  export * as removeclass from './removeclass/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
32
32
  export * as replace from './replace/index.js'
33
+ export * as select from './select/index.js'
33
34
  export * as set from './set/index.js'
34
35
  export * as setattribute from './setattribute/index.js'
35
36
  export * as setproperty from './setproperty/index.js'
36
37
  export * as sorton from './sorton/index.js'
37
38
  export * as split from './split/index.js'
38
39
  export * as spread from './spread/index.js'
39
- export * as toarray from './toarray/index.js'
40
40
  export * as toboolean from './toboolean/index.js'
41
- export * as toelement from './toelement/index.js'
42
41
  export * as toggleclass from './toggleclass/index.js'
42
+ export * as toarray from './toarray/index.js'
43
+ export * as toelement from './toelement/index.js'
43
44
  export * as tonodelist from './tonodelist/index.js'
44
45
  export * as tonull from './tonull/index.js'
45
- export * as select from './select/index.js'
46
- export * as tonumber from './tonumber/index.js'
47
46
  export * as torecord from './torecord/index.js'
48
47
  export * as toref from './toref/index.js'
48
+ export * as tonumber from './tonumber/index.js'
49
49
  export * as tostring from './tostring/index.js'
50
50
  export * as totext from './totext/index.js'
51
51
  export * as transformselected from './transformselected/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as add from './add/index.js'
2
2
  export * as addclass from './addclass/index.js'
3
- export * as and from './and/index.js'
4
3
  export * as append from './append/index.js'
4
+ export * as and from './and/index.js'
5
5
  export * as at from './at/index.js'
6
6
  export * as call from './call/index.js'
7
7
  export * as clone from './clone/index.js'
@@ -10,7 +10,6 @@ export * as equals from './equals/index.js'
10
10
  export * as getattribute from './getattribute/index.js'
11
11
  export * as getproperties from './getproperties/index.js'
12
12
  export * as getproperty from './getproperty/index.js'
13
- export * as hjparse from './hjparse/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
14
  export * as if from './if/index.js'
16
15
  export * as initialize from './initialize/index.js'
@@ -19,6 +18,7 @@ export * as length from './length/index.js'
19
18
  export * as map from './map/index.js'
20
19
  export * as negate from './negate/index.js'
21
20
  export * as notrailing from './notrailing/index.js'
21
+ export * as hjparse from './hjparse/index.js'
22
22
  export * as or from './or/index.js'
23
23
  export * as pickrandom from './pickrandom/index.js'
24
24
  export * as populate from './populate/index.js'
@@ -30,22 +30,22 @@ export * as removeattribute from './removeattribute/index.js'
30
30
  export * as removeclass from './removeclass/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
32
32
  export * as replace from './replace/index.js'
33
+ export * as select from './select/index.js'
33
34
  export * as set from './set/index.js'
34
35
  export * as setattribute from './setattribute/index.js'
35
36
  export * as setproperty from './setproperty/index.js'
36
37
  export * as sorton from './sorton/index.js'
37
38
  export * as split from './split/index.js'
38
39
  export * as spread from './spread/index.js'
39
- export * as toarray from './toarray/index.js'
40
40
  export * as toboolean from './toboolean/index.js'
41
- export * as toelement from './toelement/index.js'
42
41
  export * as toggleclass from './toggleclass/index.js'
42
+ export * as toarray from './toarray/index.js'
43
+ export * as toelement from './toelement/index.js'
43
44
  export * as tonodelist from './tonodelist/index.js'
44
45
  export * as tonull from './tonull/index.js'
45
- export * as select from './select/index.js'
46
- export * as tonumber from './tonumber/index.js'
47
46
  export * as torecord from './torecord/index.js'
48
47
  export * as toref from './toref/index.js'
48
+ export * as tonumber from './tonumber/index.js'
49
49
  export * as tostring from './tostring/index.js'
50
50
  export * as totext from './totext/index.js'
51
51
  export * as transformselected from './transformselected/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
- export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
2
  export * as getNodeAncestors from './get-node-ancestors/index.js'
3
+ export * as getPositionInsideParent from './get-position-inside-parent/index.js'
4
4
  export * as hyperJson from './hyper-json/index.js'
5
5
  export * as insertNode from './insert-node/index.js'
6
6
  export * as placeholders from './placeholders/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
- export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
2
  export * as getNodeAncestors from './get-node-ancestors/index.js'
3
+ export * as getPositionInsideParent from './get-position-inside-parent/index.js'
4
4
  export * as hyperJson from './hyper-json/index.js'
5
5
  export * as insertNode from './insert-node/index.js'
6
6
  export * as placeholders from './placeholders/index.js'
@@ -1,6 +1,5 @@
1
1
  export * as booleans from './booleans/index.js'
2
2
  export * as colors from './colors/index.js'
3
- export * as arrays from './arrays/index.js'
4
3
  export * as css from './css/index.js'
5
4
  export * as errors from './errors/index.js'
6
5
  export * as html from './html/index.js'
@@ -12,6 +11,7 @@ export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
12
  export * as sanitization from './sanitization/index.js'
14
13
  export * as strings from './strings/index.js'
14
+ export * as subtitles from './subtitles/index.js'
15
15
  export * as time from './time/index.js'
16
+ export * as arrays from './arrays/index.js'
16
17
  export * as typescript from './typescript/index.js'
17
- export * as subtitles from './subtitles/index.js'
package/agnostic/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  export * as booleans from './booleans/index.js'
2
2
  export * as colors from './colors/index.js'
3
- export * as arrays from './arrays/index.js'
4
3
  export * as css from './css/index.js'
5
4
  export * as errors from './errors/index.js'
6
5
  export * as html from './html/index.js'
@@ -12,6 +11,7 @@ export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
12
  export * as sanitization from './sanitization/index.js'
14
13
  export * as strings from './strings/index.js'
14
+ export * as subtitles from './subtitles/index.js'
15
15
  export * as time from './time/index.js'
16
+ export * as arrays from './arrays/index.js'
16
17
  export * as typescript from './typescript/index.js'
17
- export * as subtitles from './subtitles/index.js'
@@ -1,2 +1,2 @@
1
- export * as window from './window/index.js'
2
1
  export * as detectRuntime from './detect-runtime/index.js'
2
+ export * as window from './window/index.js'
@@ -1,2 +1,2 @@
1
- export * as window from './window/index.js'
2
1
  export * as detectRuntime from './detect-runtime/index.js'
2
+ export * as window from './window/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as assert from './assert/index.js'
2
2
  export * as cast from './cast/index.js'
3
3
  export * as connection from './connection/index.js'
4
- export * as crawler from './crawler/index.js'
5
4
  export * as dataSize from './data-size/index.js'
6
5
  export * as isConstructorFunction from './is-constructor-function/index.js'
7
6
  export * as isNullish from './is-nullish/index.js'
8
7
  export * as logs from './logs/index.js'
9
8
  export * as loremIpsum from './lorem-ipsum/index.js'
10
9
  export * as normalizeExtension from './normalize-extension/index.js'
10
+ export * as crawler from './crawler/index.js'
11
11
  export * as crossenv from './crossenv/index.js'
12
12
  export * as outcome from './outcome/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as assert from './assert/index.js'
2
2
  export * as cast from './cast/index.js'
3
3
  export * as connection from './connection/index.js'
4
- export * as crawler from './crawler/index.js'
5
4
  export * as dataSize from './data-size/index.js'
6
5
  export * as isConstructorFunction from './is-constructor-function/index.js'
7
6
  export * as isNullish from './is-nullish/index.js'
8
7
  export * as logs from './logs/index.js'
9
8
  export * as loremIpsum from './lorem-ipsum/index.js'
10
9
  export * as normalizeExtension from './normalize-extension/index.js'
10
+ export * as crawler from './crawler/index.js'
11
11
  export * as crossenv from './crossenv/index.js'
12
12
  export * as outcome from './outcome/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as absoluteModulo from './absolute-modulo/index.js'
2
- export * as approximateRational from './approximate-rational/index.js'
3
2
  export * as clamp from './clamp/index.js'
3
+ export * as approximateRational from './approximate-rational/index.js'
4
4
  export * as geometricProgressions from './geometric-progressions/index.js'
5
5
  export * as interpolate from './interpolate/index.js'
6
6
  export * as round from './round/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as absoluteModulo from './absolute-modulo/index.js'
2
- export * as approximateRational from './approximate-rational/index.js'
3
2
  export * as clamp from './clamp/index.js'
3
+ export * as approximateRational from './approximate-rational/index.js'
4
4
  export * as geometricProgressions from './geometric-progressions/index.js'
5
5
  export * as interpolate from './interpolate/index.js'
6
6
  export * as round from './round/index.js'
@@ -5,5 +5,5 @@ export * as isObject from './is-object/index.js'
5
5
  export * as isRecord from './is-record/index.js'
6
6
  export * as recordFormat from './record-format/index.js'
7
7
  export * as recordMap from './record-map/index.js'
8
- export * as validation from './validation/index.js'
9
8
  export * as sortKeys from './sort-keys/index.js'
9
+ export * as validation from './validation/index.js'
@@ -5,5 +5,5 @@ export * as isObject from './is-object/index.js'
5
5
  export * as isRecord from './is-record/index.js'
6
6
  export * as recordFormat from './record-format/index.js'
7
7
  export * as recordMap from './record-map/index.js'
8
- export * as validation from './validation/index.js'
9
8
  export * as sortKeys from './sort-keys/index.js'
9
+ export * as validation from './validation/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as fileName from './file-name/index.js'
2
2
  export * as html from './html/index.js'
3
- export * as path from './path/index.js'
4
3
  export * as userInput from './user-input/index.js'
4
+ export * as path from './path/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as fileName from './file-name/index.js'
2
2
  export * as html from './html/index.js'
3
- export * as path from './path/index.js'
4
3
  export * as userInput from './user-input/index.js'
4
+ export * as path from './path/index.js'
@@ -2,7 +2,7 @@ export * as charCodes from './char-codes/index.js'
2
2
  export * as matches from './matches/index.js'
3
3
  export * as normalizeIndent from './normalize-indent/index.js'
4
4
  export * as parseTable from './parse-table/index.js'
5
- export * as splitTrim from './split-trim/index.js'
6
5
  export * as replaceAll from './replace-all/index.js'
7
6
  export * as toAlphanum from './to-alphanum/index.js'
7
+ export * as splitTrim from './split-trim/index.js'
8
8
  export * as trim from './trim/index.js'
@@ -2,7 +2,7 @@ export * as charCodes from './char-codes/index.js'
2
2
  export * as matches from './matches/index.js'
3
3
  export * as normalizeIndent from './normalize-indent/index.js'
4
4
  export * as parseTable from './parse-table/index.js'
5
- export * as splitTrim from './split-trim/index.js'
6
5
  export * as replaceAll from './replace-all/index.js'
7
6
  export * as toAlphanum from './to-alphanum/index.js'
7
+ export * as splitTrim from './split-trim/index.js'
8
8
  export * as trim from './trim/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as dates from './dates/index.js'
2
2
  export * as duration from './duration/index.js'
3
- export * as wait from './wait/index.js'
4
- export * as transitions from './transitions/index.js'
5
3
  export * as timeout from './timeout/index.js'
4
+ export * as transitions from './transitions/index.js'
5
+ export * as wait from './wait/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as dates from './dates/index.js'
2
2
  export * as duration from './duration/index.js'
3
- export * as wait from './wait/index.js'
4
- export * as transitions from './transitions/index.js'
5
3
  export * as timeout from './timeout/index.js'
4
+ export * as transitions from './transitions/index.js'
5
+ export * as wait from './wait/index.js'
@@ -17,8 +17,8 @@ import type { WithClassName } from '../utils/types.js';
17
17
  * @property noSnap - Frees the scroll from snapping to a slot.
18
18
  * @property onPrevClicked - Fires before the gallery reacts, with the index as it was.
19
19
  * @property onNextClicked - Fires before the gallery reacts, with the index as it was.
20
- * @property onPaginationClicked - Fires before the gallery reacts, with the index as it
21
- * was and the one aimed at.
20
+ * @property onPaginationClicked - Fires before the gallery reacts, with `activePos`
21
+ * as it was and `targetPos`, the one aimed at.
22
22
  * @property onActiveSlotChanged - Fires after the active slot changed, with the new index.
23
23
  * @property onCanGoLeftChanged - Fires after the ability to scroll further left changed.
24
24
  * Never on mount.
@@ -38,7 +38,10 @@ export type Props = PropsWithChildren<WithClassName<{
38
38
  noSnap?: boolean;
39
39
  onPrevClicked?: (activePos: number) => void;
40
40
  onNextClicked?: (activePos: number) => void;
41
- onPaginationClicked?: (activePos: number, targetPos: number) => void;
41
+ onPaginationClicked?: (payload: {
42
+ activePos: number;
43
+ targetPos: number;
44
+ }) => void;
42
45
  onActiveSlotChanged?: (activePos: number) => void;
43
46
  onCanGoLeftChanged?: (canGoLeft: boolean) => void;
44
47
  onCanGoRightChanged?: (canGoRight: boolean) => void;
@@ -96,7 +96,7 @@ export const Gallery = ({ offsetLeft, offsetRight, offset, prevButtonContent, ne
96
96
  scrollToSlot(activeIndex + 1);
97
97
  };
98
98
  const handlePaginationClick = (pos) => {
99
- onPaginationClicked?.(activeIndex, pos);
99
+ onPaginationClicked?.({ activePos: activeIndex, targetPos: pos });
100
100
  if (isControlled)
101
101
  return;
102
102
  scrollToSlot(pos);
@@ -25,10 +25,11 @@ import { type Props as ControlledProps } from './index.controlled.js';
25
25
  * `onPageFetchFailed` and retried according to `fetchRetriesNb`.
26
26
  * @property staleAfterMs - Delay after which a loaded page is refetched, counted
27
27
  * from its own last successful load. When omitted, pages are never refreshed.
28
- * @property onPageFetched - Called after a page's items have been stored. Not
29
- * called for a page dropped while its request was in flight.
30
- * @property onPageFetchFailed - Called on every failed attempt, not only once retries
31
- * are exhausted. When omitted, failures are logged with `console.warn`.
28
+ * @property onPageFetched - Called with `pagePos` and `items` after a page's items
29
+ * have been stored. Not called for a page dropped while its request was in flight.
30
+ * @property onPageFetchFailed - Called with `pagePos` and `error` on every failed
31
+ * attempt, not only once retries are exhausted. When omitted, failures are logged
32
+ * with `console.warn`.
32
33
  * @property fetchRetriesNb - Number of retries after a failed fetch. Defaults to
33
34
  * `Infinity`, so a page keeps retrying until it succeeds.
34
35
  * @property fetchRetriesDelayMs - Delay between two attempts. Defaults to `1000`.
@@ -40,8 +41,14 @@ export type Props<T> = Omit<ControlledProps<T>, 'itemsPages' | 'loadingPages' |
40
41
  dropPagesFurtherThan?: number;
41
42
  fetch: (page: number) => Promise<T[]>;
42
43
  staleAfterMs?: number;
43
- onPageFetched?: (pagePos: number, items: T[]) => void;
44
- onPageFetchFailed?: (pagePos: number, error: Error) => void;
44
+ onPageFetched?: (payload: {
45
+ pagePos: number;
46
+ items: T[];
47
+ }) => void;
48
+ onPageFetchFailed?: (payload: {
49
+ pagePos: number;
50
+ error: Error;
51
+ }) => void;
45
52
  fetchRetriesNb?: number;
46
53
  fetchRetriesDelayMs?: number;
47
54
  };
@@ -63,7 +63,7 @@ export const ListLoader = ({ className, pages, defaultPage, fillGaps = true, dro
63
63
  const reportFetchError = (page, err) => {
64
64
  const error = toError(err);
65
65
  if (onPageFetchFailed !== undefined)
66
- return onPageFetchFailed(page, error);
66
+ return onPageFetchFailed({ pagePos: page, error });
67
67
  // eslint-disable-next-line no-console
68
68
  console.warn(`ListLoader failed to fetch page ${page}`, error);
69
69
  };
@@ -78,7 +78,7 @@ export const ListLoader = ({ className, pages, defaultPage, fillGaps = true, dro
78
78
  if (!requestedPages.current.has(page))
79
79
  return;
80
80
  storePage(page, items);
81
- onPageFetched?.(page, items);
81
+ onPageFetched?.({ pagePos: page, items });
82
82
  setPageLoading(page, false);
83
83
  })
84
84
  .catch((err) => {
@@ -83,8 +83,8 @@ export type PropsPage = {
83
83
  * - `'both'` — forces blocks on both sides.
84
84
  * - `'none'` — no forcing (default behaviour).
85
85
  * @property onPageChanged - Called once the current page has changed, never on
86
- * mount. Receives the zero-based index of the new current page and the
87
- * corresponding page definition, if available.
86
+ * mount. Receives `currentPagePos`, the zero-based index of the new current page,
87
+ * and `pageData`, its definition when there is one.
88
88
  * @property onContentVisibilityChanged - Called after the scrolling content
89
89
  * area entered or left the viewport, with the new value. Never on mount.
90
90
  * @property className - Optional additional class name(s) applied to the root
@@ -99,7 +99,10 @@ export type Props = WithClassName<{
99
99
  viewportOffsetLeft?: ViewportOffset;
100
100
  stickyBlocksLazyLoadDistance?: number;
101
101
  forceStickBlocks?: 'before' | 'after' | 'both' | 'none';
102
- onPageChanged?: (currentPagePos: number, pageData?: PropsPage) => void;
102
+ onPageChanged?: (payload: {
103
+ currentPagePos: number;
104
+ pageData?: PropsPage;
105
+ }) => void;
103
106
  onContentVisibilityChanged?: (isVisible: boolean) => void;
104
107
  }>;
105
108
  /**
@@ -254,7 +254,10 @@ export const Scrllgngn = ({ pages, thresholdOffsetPercent, viewportOffsetTop, vi
254
254
  return () => window.clearInterval(interval);
255
255
  }, [isOnScreen, readVisibleZone]);
256
256
  // Handlers
257
- useChangeDispatch(currentPagePos, pagePos => onPageChanged?.(pagePos, pages?.[pagePos]));
257
+ useChangeDispatch(currentPagePos, pagePos => onPageChanged?.({
258
+ currentPagePos: pagePos,
259
+ pageData: pages?.[pagePos]
260
+ }));
258
261
  useChangeDispatch(contentVisible, onContentVisibilityChanged);
259
262
  const handleTopBoundDetect = e => setTopVis(e.ioEntry?.isIntersecting ?? false);
260
263
  const handleCntDetect = e => setCntVis(e.ioEntry?.isIntersecting ?? false);
@@ -30,8 +30,8 @@ import type { SequencerAction } from './types.js';
30
30
  * is a step per second. Clamped to a minimum of `1`.
31
31
  * @property loop - Whether the sequence wraps round. **`false` by default**, so a
32
32
  * sequence ends the way a video does rather than running forever.
33
- * @property onStepChanged - Called when the position changes, with the position and the
34
- * active step it resolves to. Never on mount.
33
+ * @property onStepChanged - Called when the position changes, with `step` and the
34
+ * `activeStep` it resolves to. Never on mount.
35
35
  * @property onIsPlayingChanged - Called once the effective play state changed — which
36
36
  * includes it dropping to `false` on its own at the end.
37
37
  * @property onIsEndedChanged - Called when the sequence ends, or leaves that state.
@@ -53,7 +53,10 @@ export type Props = PropsWithChildren<WithClassName<{
53
53
  defaultPlay?: boolean;
54
54
  tempo?: number;
55
55
  loop?: boolean;
56
- onStepChanged?: (step: number, activeStep: number) => void;
56
+ onStepChanged?: (payload: {
57
+ step: number;
58
+ activeStep: number;
59
+ }) => void;
57
60
  onIsPlayingChanged?: (isPlaying: boolean) => void;
58
61
  onIsEndedChanged?: (isEnded: boolean) => void;
59
62
  onLooped?: () => void;
@@ -269,7 +269,7 @@ export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, defaul
269
269
  onVisibilityChanged
270
270
  }, actions, behavioursSuspended === true);
271
271
  // State dispatch
272
- useChangeDispatch(position, () => onStepChanged?.(position, activeStep));
272
+ useChangeDispatch(position, () => onStepChanged?.({ step: position, activeStep }));
273
273
  useChangeDispatch(isPlaying, onIsPlayingChanged);
274
274
  useChangeDispatch(isEnded, onIsEndedChanged);
275
275
  useChangeDispatch(position === 0, atStart => { if (atStart)
@@ -1,36 +1,43 @@
1
1
  import { type FunctionComponent } from 'react';
2
2
  import type { WithClassName } from '../utils/types.js';
3
3
  /**
4
- * Describes the contract a dynamically imported UI module must satisfy.
5
- * Every member is validated at runtime after the import resolves.
4
+ * Describes the contract a dynamically imported UI module must satisfy. Only `init`
5
+ * is required; every member present is validated at runtime after the import resolves.
6
6
  *
7
- * @property init - Called once after the module loads. Receives the current
8
- * `props` and must return the root `Element` that will be appended to the
9
- * host `<div>`. Throwing inside `init` is caught and surfaced as an error state.
10
- * @property destroy - Called when the component unmounts or `src` changes.
11
- * Receives the `Element` previously returned by `init`. Use it to tear down
12
- * event listeners, timers, or third-party instances.
13
- * @property update - Optional. Called when `props` change after the module is
14
- * already initialized. Receives the live `Element` and the new props object.
7
+ * @property init - Called once after the module loads. Receives the current `props`
8
+ * and must return the root `Element` that will be appended to the host `<div>`.
9
+ * **The element is not in the document yet**, so measuring it or reaching its
10
+ * ancestors belongs in `postInit`, not here. Throwing is caught and surfaced as an
11
+ * error state.
12
+ * @property postInit - Optional. Called once, right after the element returned by
13
+ * `init` has been appended. First point at which the module holds an attached
14
+ * element: layout can be measured and ancestors reached.
15
+ * @property update - Optional. Called when the `props` object changes identity,
16
+ * once the module is live. Compared by reference, not by value — a consumer passing
17
+ * an inline object gets one call per render, one passing a stable reference gets one
18
+ * per real change.
19
+ * @property destroy - Optional. Called when the component unmounts or `src` changes.
20
+ * Receives the `Element` previously returned by `init`. Use it to tear down event
21
+ * listeners, timers, or third-party instances.
15
22
  * @property css - Optional array of raw CSS strings scoped automatically to
16
23
  * the host element via `.<publicClassName>#<id> { … }` and injected as
17
24
  * `<style>` elements.
18
25
  */
19
26
  type ModuleData = {
20
27
  init: (props: Record<string, unknown>) => Element;
21
- destroy: (target: Element) => void;
28
+ postInit?: (target: Element, props: Record<string, unknown>) => void;
22
29
  update?: (target: Element, props: Record<string, unknown>) => void;
30
+ destroy?: (target: Element) => void;
23
31
  css?: string[];
24
32
  };
25
33
  /**
26
34
  * Props for the {@link UIModule} component.
27
35
  *
28
36
  * @property src - URL of the ES module to import dynamically. The module must
29
- * satisfy the {@link ModuleData} interface — `init` and `destroy` are required,
30
- * `update` and `css` are optional. When `undefined`, nothing is loaded and the
31
- * component stays in the `--no-module` state.
32
- * @property props - Arbitrary key-value object forwarded verbatim to the
33
- * module's `init` call and, on subsequent changes, to `update` (if exported).
37
+ * satisfy the {@link ModuleData} interface — only `init` is required. When
38
+ * `undefined`, nothing is loaded and the component stays in the `--no-module` state.
39
+ * @property props - Arbitrary key-value object forwarded verbatim to `init`, then to
40
+ * `postInit`, then to `update` whenever the object's identity changes.
34
41
  * @property onIdGenerated - Called once on mount with the instance's generated
35
42
  * `id`. The id never changes afterwards, so this fires exactly once.
36
43
  * @property onIsLoadingChanged - Called after the loading state changed, with
@@ -55,8 +62,14 @@ export type Props = WithClassName<{
55
62
  * and appends that element to its own root `<div>`.
56
63
  *
57
64
  * The imported module is expected to conform to the {@link ModuleData} interface.
58
- * Any violation (missing exports, wrong types, `init` not returning an `Element`)
59
- * transitions the component into the `--error` state and logs to `console.error`.
65
+ * A missing `init`, a member of the wrong type, or an `init` not returning an
66
+ * `Element` transitions the component into the `--error` state and logs to
67
+ * `console.error`.
68
+ *
69
+ * ### Lifecycle
70
+ * `init(props)` builds the element, **detached**. It is appended, then `postInit`
71
+ * runs on it attached. `update` follows each change of the `props` object's
72
+ * identity, and `destroy` runs on unmount or when `src` changes.
60
73
  *
61
74
  * ### CSS modifiers
62
75
  * Reflecting the current load lifecycle:
@@ -13,8 +13,14 @@ import cssModule from './styles.module.css';
13
13
  * and appends that element to its own root `<div>`.
14
14
  *
15
15
  * The imported module is expected to conform to the {@link ModuleData} interface.
16
- * Any violation (missing exports, wrong types, `init` not returning an `Element`)
17
- * transitions the component into the `--error` state and logs to `console.error`.
16
+ * A missing `init`, a member of the wrong type, or an `init` not returning an
17
+ * `Element` transitions the component into the `--error` state and logs to
18
+ * `console.error`.
19
+ *
20
+ * ### Lifecycle
21
+ * `init(props)` builds the element, **detached**. It is appended, then `postInit`
22
+ * runs on it attached. `update` follows each change of the `props` object's
23
+ * identity, and `destroy` runs on unmount or when `src` changes.
18
24
  *
19
25
  * ### CSS modifiers
20
26
  * Reflecting the current load lifecycle:
@@ -45,10 +51,16 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
45
51
  // What the teardown needs, held outside state so the load effect can depend on
46
52
  // `src` alone and still destroy whatever is actually live at cleanup time.
47
53
  const liveInstanceRef = useRef(null);
54
+ // The load effect depends on `src` alone, so the props it closes over are those of
55
+ // the render it ran on. This is what `init` and `postInit` read instead.
56
+ const propsRef = useRef(props);
48
57
  // State dispatch
49
58
  useChangeDispatch(isLoading, onIsLoadingChanged);
50
59
  useChangeDispatch(loadedModule, onLoadedModuleChanged);
51
60
  useChangeDispatch(moduleTarget, onModuleTargetChanged);
61
+ // Fx. no dep. - keep the latest props reachable from the effects that run outside
62
+ // their own render, declared first so they read this render's value and not the last
63
+ useEffect(() => { propsRef.current = props; });
52
64
  // Fx. no dep. - report the generated id, which never changes afterwards
53
65
  useEffect(() => { onIdGenerated?.(id); }, []);
54
66
  // Fx. dep. `src` - import, validate and initialize the module
@@ -63,8 +75,10 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
63
75
  return setLoadedModule(new Error('Not a module'));
64
76
  if (!('init' in data) || typeof data.init !== 'function')
65
77
  return setLoadedModule(new Error('Module exported member `init` must be a function'));
66
- if (!('destroy' in data) || typeof data.destroy !== 'function')
78
+ if ('destroy' in data && typeof data.destroy !== 'function')
67
79
  return setLoadedModule(new Error('Module exported member `destroy` must be a function'));
80
+ if ('postInit' in data && typeof data.postInit !== 'function')
81
+ return setLoadedModule(new Error('Module exported member `postInit` must be a function'));
68
82
  if ('css' in data) {
69
83
  if (!Array.isArray(data.css))
70
84
  return setLoadedModule(new Error('Module exported member `css` must be an array of strings'));
@@ -77,7 +91,7 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
77
91
  const module = data;
78
92
  setLoadedModule(module);
79
93
  try {
80
- const target = module.init(props ?? {});
94
+ const target = module.init(propsRef.current ?? {});
81
95
  if (!(target instanceof Element))
82
96
  return setLoadedModule(new Error('Module exported function `init` must return an Element'));
83
97
  liveInstanceRef.current = { module, target };
@@ -99,7 +113,7 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
99
113
  const liveInstance = liveInstanceRef.current;
100
114
  if (liveInstance === null)
101
115
  return;
102
- liveInstance.module.destroy(liveInstance.target);
116
+ liveInstance.module.destroy?.(liveInstance.target);
103
117
  liveInstanceRef.current = null;
104
118
  };
105
119
  }, [src]);
@@ -109,14 +123,26 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
109
123
  if (loadedModule instanceof Error)
110
124
  console.error(loadedModule);
111
125
  }, [loadedModule]);
112
- // Fx. dep. `moduleTarget` - append the element the module built
126
+ // Fx. dep. `moduleTarget` - append the element the module built, then hand it back
127
+ // attached. `init` ran on a detached node, so this is the first point a module can
128
+ // measure its own box or reach an ancestor.
113
129
  useEffect(() => {
114
130
  if (moduleTarget === null)
115
131
  return;
116
132
  if (rootRef.current === null)
117
133
  return;
118
134
  rootRef.current.appendChild(moduleTarget);
135
+ liveInstanceRef.current?.module.postInit?.(moduleTarget, propsRef.current ?? {});
119
136
  }, [moduleTarget]);
137
+ // Fx. dep. `props` - hand a props change to a module that is already live. Compared
138
+ // by reference: the component knows nothing of the values, so it leaves the call to
139
+ // the consumer's reference discipline and the module's own reading of what changed.
140
+ useEffect(() => {
141
+ const liveInstance = liveInstanceRef.current;
142
+ if (liveInstance === null)
143
+ return;
144
+ liveInstance.module.update?.(liveInstance.target, props ?? {});
145
+ }, [props]);
120
146
  // Rendering
121
147
  const c = clss(publicClassName, { cssModule });
122
148
  const hasErrored = loadedModule instanceof Error;
@@ -1,6 +1,6 @@
1
1
  export * as beforeAfter from './BeforeAfter/index.js'
2
- export * as button from './Button/index.js'
3
2
  export * as clippable from './Clippable/index.js'
3
+ export * as button from './Button/index.js'
4
4
  export * as disclaimer from './Disclaimer/index.js'
5
5
  export * as drawer from './Drawer/index.js'
6
6
  export * as eventListener from './EventListener/index.js'
@@ -9,8 +9,8 @@ export * as iframe from './Iframe/index.js'
9
9
  export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
- export * as jsonEditor from './JsonEditor/index.js'
13
12
  export * as lightbox from './Lightbox/index.js'
13
+ export * as jsonEditor from './JsonEditor/index.js'
14
14
  export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
16
  export * as paginator from './Paginator/index.js'
@@ -20,8 +20,8 @@ export * as scrollListener from './ScrollListener/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
22
22
  export * as shadowRoot from './ShadowRoot/index.js'
23
- export * as subtitles from './Subtitles/index.js'
24
23
  export * as textarea from './Textarea/index.js'
24
+ export * as subtitles from './Subtitles/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
26
26
  export * as video from './Video/index.js'
27
27
  export * as wipAudioQuote from './_WIP_AudioQuote/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as beforeAfter from './BeforeAfter/index.js'
2
- export * as button from './Button/index.js'
3
2
  export * as clippable from './Clippable/index.js'
3
+ export * as button from './Button/index.js'
4
4
  export * as disclaimer from './Disclaimer/index.js'
5
5
  export * as drawer from './Drawer/index.js'
6
6
  export * as eventListener from './EventListener/index.js'
@@ -9,8 +9,8 @@ export * as iframe from './Iframe/index.js'
9
9
  export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
- export * as jsonEditor from './JsonEditor/index.js'
13
12
  export * as lightbox from './Lightbox/index.js'
13
+ export * as jsonEditor from './JsonEditor/index.js'
14
14
  export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
16
  export * as paginator from './Paginator/index.js'
@@ -20,8 +20,8 @@ export * as scrollListener from './ScrollListener/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
22
22
  export * as shadowRoot from './ShadowRoot/index.js'
23
- export * as subtitles from './Subtitles/index.js'
24
23
  export * as textarea from './Textarea/index.js'
24
+ export * as subtitles from './Subtitles/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
26
26
  export * as video from './Video/index.js'
27
27
  export * as wipAudioQuote from './_WIP_AudioQuote/index.js'
@@ -2,6 +2,6 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
5
  export * as stat from './stat/index.js'
6
+ export * as remove from './remove/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -2,6 +2,6 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
5
  export * as stat from './stat/index.js'
6
+ export * as remove from './remove/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,4 +1,4 @@
1
- export * as copyDir from './copy-dir/index.js'
2
1
  export * as list from './list/index.js'
2
+ export * as copyDir from './copy-dir/index.js'
3
3
  export * as moveDir from './move-dir/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -1,4 +1,4 @@
1
- export * as copyDir from './copy-dir/index.js'
2
1
  export * as list from './list/index.js'
2
+ export * as copyDir from './copy-dir/index.js'
3
3
  export * as moveDir from './move-dir/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as download from './download/index.js'
3
2
  export * as exists from './exists/index.js'
4
- export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getPermissions from './get-permissions/index.js'
6
3
  export * as getMetadata from './get-metadata/index.js'
7
- export * as move from './move/index.js'
4
+ export * as getPermissions from './get-permissions/index.js'
5
+ export * as download from './download/index.js'
8
6
  export * as remove from './remove/index.js'
9
7
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
8
+ export * as generateSignedUrl from './generate-signed-url/index.js'
9
+ export * as move from './move/index.js'
10
10
  export * as stat from './stat/index.js'
11
11
  export * as updateMetadata from './update-metadata/index.js'
12
12
  export * as upload from './upload/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as download from './download/index.js'
3
2
  export * as exists from './exists/index.js'
4
- export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getPermissions from './get-permissions/index.js'
6
3
  export * as getMetadata from './get-metadata/index.js'
7
- export * as move from './move/index.js'
4
+ export * as getPermissions from './get-permissions/index.js'
5
+ export * as download from './download/index.js'
8
6
  export * as remove from './remove/index.js'
9
7
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
8
+ export * as generateSignedUrl from './generate-signed-url/index.js'
9
+ export * as move from './move/index.js'
10
10
  export * as stat from './stat/index.js'
11
11
  export * as updateMetadata from './update-metadata/index.js'
12
12
  export * as upload from './upload/index.js'
@@ -5,7 +5,7 @@ export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
7
7
  export * as moveFile from './move-file/index.js'
8
- export * as removeDir from './remove-dir/index.js'
9
8
  export * as removeFile from './remove-file/index.js'
9
+ export * as removeDir from './remove-dir/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -5,7 +5,7 @@ export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
7
7
  export * as moveFile from './move-file/index.js'
8
- export * as removeDir from './remove-dir/index.js'
9
8
  export * as removeFile from './remove-file/index.js'
9
+ export * as removeDir from './remove-dir/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as exists from './exists/index.js'
3
2
  export * as download from './download/index.js'
3
+ export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as exists from './exists/index.js'
3
2
  export * as download from './download/index.js'
3
+ export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
@@ -1,2 +1,2 @@
1
- export * as file from './file/index.js'
2
1
  export * as directory from './directory/index.js'
2
+ export * as file from './file/index.js'
@@ -1,2 +1,2 @@
1
- export * as file from './file/index.js'
2
1
  export * as directory from './directory/index.js'
2
+ export * as file from './file/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
2
  export * as format from './format/index.js'
3
- export * as metadata from './metadata/index.js'
4
3
  export * as transform from './transform/index.js'
4
+ export * as metadata from './metadata/index.js'
5
5
  export * as utils from './utils/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
2
  export * as format from './format/index.js'
3
- export * as metadata from './metadata/index.js'
4
3
  export * as transform from './transform/index.js'
4
+ export * as metadata from './metadata/index.js'
5
5
  export * as utils from './utils/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as blur from './blur/index.js'
2
- export * as extend from './extend/index.js'
3
2
  export * as brighten from './brighten/index.js'
3
+ export * as extend from './extend/index.js'
4
4
  export * as extract from './extract/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as blur from './blur/index.js'
2
- export * as extend from './extend/index.js'
3
2
  export * as brighten from './brighten/index.js'
3
+ export * as extend from './extend/index.js'
4
4
  export * as extract from './extract/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
package/node/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
2
  export * as designEdito from './@design-edito/index.js'
3
3
  export * as express from './@express/index.js'
4
- export * as cloudStorage from './cloud-storage/index.js'
5
4
  export * as googleCloud from './@google-cloud/index.js'
5
+ export * as cloudStorage from './cloud-storage/index.js'
6
6
  export * as encryption from './encryption/index.js'
7
7
  export * as files from './files/index.js'
8
8
  export * as ftps from './ftps/index.js'
package/node/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
2
  export * as designEdito from './@design-edito/index.js'
3
3
  export * as express from './@express/index.js'
4
- export * as cloudStorage from './cloud-storage/index.js'
5
4
  export * as googleCloud from './@google-cloud/index.js'
5
+ export * as cloudStorage from './cloud-storage/index.js'
6
6
  export * as encryption from './encryption/index.js'
7
7
  export * as files from './files/index.js'
8
8
  export * as ftps from './ftps/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.5.33",
3
+ "version": "0.5.35",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",