@design-edito/tools 0.5.34 → 0.5.36

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 (53) hide show
  1. package/agnostic/colors/index.d.ts +1 -1
  2. package/agnostic/colors/index.js +1 -1
  3. package/agnostic/css/index.d.ts +2 -2
  4. package/agnostic/css/index.js +2 -2
  5. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +13 -13
  6. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +13 -13
  7. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +1 -1
  8. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
  9. package/agnostic/html/index.d.ts +2 -2
  10. package/agnostic/html/index.js +2 -2
  11. package/agnostic/index.d.ts +1 -1
  12. package/agnostic/index.js +1 -1
  13. package/agnostic/misc/index.d.ts +2 -2
  14. package/agnostic/misc/index.js +2 -2
  15. package/agnostic/numbers/index.d.ts +1 -1
  16. package/agnostic/numbers/index.js +1 -1
  17. package/agnostic/strings/index.d.ts +3 -3
  18. package/agnostic/strings/index.js +3 -3
  19. package/agnostic/subtitles/index.d.ts +1 -1
  20. package/agnostic/subtitles/index.js +1 -1
  21. package/agnostic/time/index.d.ts +1 -1
  22. package/agnostic/time/index.js +1 -1
  23. package/components/BeforeAfter/index.controlled.d.ts +10 -4
  24. package/components/BeforeAfter/index.controlled.js +2 -2
  25. package/components/BeforeAfter/index.js +4 -4
  26. package/components/Clippable/index.d.ts +5 -2
  27. package/components/Clippable/index.js +1 -1
  28. package/components/Gallery/index.d.ts +6 -3
  29. package/components/Gallery/index.js +1 -1
  30. package/components/ListLoader/index.d.ts +13 -6
  31. package/components/ListLoader/index.js +2 -2
  32. package/components/Scrllgngn/index.d.ts +6 -3
  33. package/components/Scrllgngn/index.js +4 -1
  34. package/components/Sequencer/index.d.ts +6 -3
  35. package/components/Sequencer/index.js +1 -1
  36. package/components/Video/index.controlled.d.ts +45 -10
  37. package/components/Video/index.controlled.js +15 -10
  38. package/components/Video/index.js +23 -23
  39. package/components/index.d.ts +1 -1
  40. package/components/index.js +1 -1
  41. package/node/@aws-s3/storage/directory/index.d.ts +1 -1
  42. package/node/@aws-s3/storage/directory/index.js +1 -1
  43. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  44. package/node/@google-cloud/storage/file/index.js +1 -1
  45. package/node/files/index.d.ts +1 -1
  46. package/node/files/index.js +1 -1
  47. package/node/images/index.d.ts +1 -1
  48. package/node/images/index.js +1 -1
  49. package/node/images/transform/operations/index.d.ts +2 -2
  50. package/node/images/transform/operations/index.js +2 -2
  51. package/node/index.d.ts +1 -1
  52. package/node/index.js +1 -1
  53. package/package.json +1 -1
@@ -4,9 +4,9 @@ export * as convert from './convert/index.js'
4
4
  export * as distance from './distance/index.js'
5
5
  export * as grayscale from './grayscale/index.js'
6
6
  export * as invert from './invert/index.js'
7
+ export * as lerp from './lerp/index.js'
7
8
  export * as luminance from './luminance/index.js'
8
9
  export * as palette from './palette/index.js'
9
10
  export * as rotate from './rotate/index.js'
10
11
  export * as tidy from './tidy/index.js'
11
12
  export * as typechecks from './typechecks/index.js'
12
- export * as lerp from './lerp/index.js'
@@ -4,9 +4,9 @@ export * as convert from './convert/index.js'
4
4
  export * as distance from './distance/index.js'
5
5
  export * as grayscale from './grayscale/index.js'
6
6
  export * as invert from './invert/index.js'
7
+ export * as lerp from './lerp/index.js'
7
8
  export * as luminance from './luminance/index.js'
8
9
  export * as palette from './palette/index.js'
9
10
  export * as rotate from './rotate/index.js'
10
11
  export * as tidy from './tidy/index.js'
11
12
  export * as typechecks from './typechecks/index.js'
12
- export * as lerp from './lerp/index.js'
@@ -1,6 +1,6 @@
1
- export * as bem from './bem/index.js'
1
+ export * as clss from './clss/index.js'
2
2
  export * as generateNiceColor from './generate-nice-color/index.js'
3
3
  export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
4
  export * as scale from './scale/index.js'
5
5
  export * as stylesSet from './styles-set/index.js'
6
- export * as clss from './clss/index.js'
6
+ export * as bem from './bem/index.js'
@@ -1,6 +1,6 @@
1
- export * as bem from './bem/index.js'
1
+ export * as clss from './clss/index.js'
2
2
  export * as generateNiceColor from './generate-nice-color/index.js'
3
3
  export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
4
  export * as scale from './scale/index.js'
5
5
  export * as stylesSet from './styles-set/index.js'
6
- export * as clss from './clss/index.js'
6
+ export * as bem from './bem/index.js'
@@ -1,52 +1,52 @@
1
- export * as addclass from './addclass/index.js'
2
- export * as and from './and/index.js'
3
1
  export * as add from './add/index.js'
2
+ export * as addclass from './addclass/index.js'
4
3
  export * as append from './append/index.js'
5
4
  export * as at from './at/index.js'
6
5
  export * as call from './call/index.js'
6
+ export * as and from './and/index.js'
7
7
  export * as clone from './clone/index.js'
8
- export * as deleteproperties from './deleteproperties/index.js'
9
- export * as getattribute from './getattribute/index.js'
10
8
  export * as equals from './equals/index.js'
9
+ export * as deleteproperties from './deleteproperties/index.js'
11
10
  export * as getproperties from './getproperties/index.js'
11
+ export * as getattribute from './getattribute/index.js'
12
12
  export * as getproperty from './getproperty/index.js'
13
+ export * as if from './if/index.js'
13
14
  export * as hjparse from './hjparse/index.js'
14
15
  export * as hjstringify from './hjstringify/index.js'
15
- export * as if from './if/index.js'
16
16
  export * as initialize from './initialize/index.js'
17
+ export * as join from './join/index.js'
17
18
  export * as length from './length/index.js'
18
19
  export * as map from './map/index.js'
19
- export * as join from './join/index.js'
20
20
  export * as negate from './negate/index.js'
21
21
  export * as notrailing from './notrailing/index.js'
22
- export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
23
  export * as populate from './populate/index.js'
25
24
  export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
- export * as pusheach from './pusheach/index.js'
28
26
  export * as recordtoarray from './recordtoarray/index.js'
27
+ export * as pusheach from './pusheach/index.js'
28
+ export * as or from './or/index.js'
29
29
  export * as removeattribute from './removeattribute/index.js'
30
- export * as removeclass from './removeclass/index.js'
31
30
  export * as renameproperty from './renameproperty/index.js'
32
- export * as select from './select/index.js'
31
+ export * as removeclass from './removeclass/index.js'
33
32
  export * as replace from './replace/index.js'
33
+ export * as select from './select/index.js'
34
34
  export * as set from './set/index.js'
35
35
  export * as setattribute from './setattribute/index.js'
36
36
  export * as setproperty from './setproperty/index.js'
37
37
  export * as sorton from './sorton/index.js'
38
- export * as split from './split/index.js'
39
38
  export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
41
- export * as toggleclass from './toggleclass/index.js'
42
40
  export * as toboolean from './toboolean/index.js'
41
+ export * as split from './split/index.js'
43
42
  export * as toelement from './toelement/index.js'
43
+ export * as toggleclass from './toggleclass/index.js'
44
44
  export * as tonodelist from './tonodelist/index.js'
45
45
  export * as tonumber from './tonumber/index.js'
46
46
  export * as torecord from './torecord/index.js'
47
47
  export * as tonull from './tonull/index.js'
48
- export * as toref from './toref/index.js'
49
48
  export * as tostring from './tostring/index.js'
49
+ export * as toref from './toref/index.js'
50
50
  export * as transformselected from './transformselected/index.js'
51
51
  export * as totext from './totext/index.js'
52
52
  export * as trim from './trim/index.js'
@@ -1,52 +1,52 @@
1
- export * as addclass from './addclass/index.js'
2
- export * as and from './and/index.js'
3
1
  export * as add from './add/index.js'
2
+ export * as addclass from './addclass/index.js'
4
3
  export * as append from './append/index.js'
5
4
  export * as at from './at/index.js'
6
5
  export * as call from './call/index.js'
6
+ export * as and from './and/index.js'
7
7
  export * as clone from './clone/index.js'
8
- export * as deleteproperties from './deleteproperties/index.js'
9
- export * as getattribute from './getattribute/index.js'
10
8
  export * as equals from './equals/index.js'
9
+ export * as deleteproperties from './deleteproperties/index.js'
11
10
  export * as getproperties from './getproperties/index.js'
11
+ export * as getattribute from './getattribute/index.js'
12
12
  export * as getproperty from './getproperty/index.js'
13
+ export * as if from './if/index.js'
13
14
  export * as hjparse from './hjparse/index.js'
14
15
  export * as hjstringify from './hjstringify/index.js'
15
- export * as if from './if/index.js'
16
16
  export * as initialize from './initialize/index.js'
17
+ export * as join from './join/index.js'
17
18
  export * as length from './length/index.js'
18
19
  export * as map from './map/index.js'
19
- export * as join from './join/index.js'
20
20
  export * as negate from './negate/index.js'
21
21
  export * as notrailing from './notrailing/index.js'
22
- export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
23
  export * as populate from './populate/index.js'
25
24
  export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
- export * as pusheach from './pusheach/index.js'
28
26
  export * as recordtoarray from './recordtoarray/index.js'
27
+ export * as pusheach from './pusheach/index.js'
28
+ export * as or from './or/index.js'
29
29
  export * as removeattribute from './removeattribute/index.js'
30
- export * as removeclass from './removeclass/index.js'
31
30
  export * as renameproperty from './renameproperty/index.js'
32
- export * as select from './select/index.js'
31
+ export * as removeclass from './removeclass/index.js'
33
32
  export * as replace from './replace/index.js'
33
+ export * as select from './select/index.js'
34
34
  export * as set from './set/index.js'
35
35
  export * as setattribute from './setattribute/index.js'
36
36
  export * as setproperty from './setproperty/index.js'
37
37
  export * as sorton from './sorton/index.js'
38
- export * as split from './split/index.js'
39
38
  export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
41
- export * as toggleclass from './toggleclass/index.js'
42
40
  export * as toboolean from './toboolean/index.js'
41
+ export * as split from './split/index.js'
43
42
  export * as toelement from './toelement/index.js'
43
+ export * as toggleclass from './toggleclass/index.js'
44
44
  export * as tonodelist from './tonodelist/index.js'
45
45
  export * as tonumber from './tonumber/index.js'
46
46
  export * as torecord from './torecord/index.js'
47
47
  export * as tonull from './tonull/index.js'
48
- export * as toref from './toref/index.js'
49
48
  export * as tostring from './tostring/index.js'
49
+ export * as toref from './toref/index.js'
50
50
  export * as transformselected from './transformselected/index.js'
51
51
  export * as totext from './totext/index.js'
52
52
  export * as trim from './trim/index.js'
@@ -7,7 +7,7 @@ export * as guess from './guess/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
- export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
11
+ export * as record from './record/index.js'
12
12
  export * as string from './string/index.js'
13
13
  export * as text from './text/index.js'
@@ -7,7 +7,7 @@ export * as guess from './guess/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
- export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
11
+ export * as record from './record/index.js'
12
12
  export * as string from './string/index.js'
13
13
  export * as text from './text/index.js'
@@ -3,8 +3,8 @@ export * as getNodeAncestors from './get-node-ancestors/index.js'
3
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
- export * as placeholders from './placeholders/index.js'
7
- export * as replaceInElement from './replace-in-element/index.js'
8
6
  export * as selectorToElement from './selector-to-element/index.js'
7
+ export * as placeholders from './placeholders/index.js'
9
8
  export * as stringToNodes from './string-to-nodes/index.js'
9
+ export * as replaceInElement from './replace-in-element/index.js'
10
10
  export * as watchSelection from './watch-selection/index.js'
@@ -3,8 +3,8 @@ export * as getNodeAncestors from './get-node-ancestors/index.js'
3
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
- export * as placeholders from './placeholders/index.js'
7
- export * as replaceInElement from './replace-in-element/index.js'
8
6
  export * as selectorToElement from './selector-to-element/index.js'
7
+ export * as placeholders from './placeholders/index.js'
9
8
  export * as stringToNodes from './string-to-nodes/index.js'
9
+ export * as replaceInElement from './replace-in-element/index.js'
10
10
  export * as watchSelection from './watch-selection/index.js'
@@ -2,8 +2,8 @@ export * as arrays from './arrays/index.js'
2
2
  export * as booleans from './booleans/index.js'
3
3
  export * as colors from './colors/index.js'
4
4
  export * as css from './css/index.js'
5
- export * as html from './html/index.js'
6
5
  export * as errors from './errors/index.js'
6
+ export * as html from './html/index.js'
7
7
  export * as misc from './misc/index.js'
8
8
  export * as numbers from './numbers/index.js'
9
9
  export * as objects from './objects/index.js'
package/agnostic/index.js CHANGED
@@ -2,8 +2,8 @@ export * as arrays from './arrays/index.js'
2
2
  export * as booleans from './booleans/index.js'
3
3
  export * as colors from './colors/index.js'
4
4
  export * as css from './css/index.js'
5
- export * as html from './html/index.js'
6
5
  export * as errors from './errors/index.js'
6
+ export * as html from './html/index.js'
7
7
  export * as misc from './misc/index.js'
8
8
  export * as numbers from './numbers/index.js'
9
9
  export * as objects from './objects/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 crossenv from './crossenv/index.js'
4
5
  export * as crawler from './crawler/index.js'
5
6
  export * as dataSize from './data-size/index.js'
6
7
  export * as isConstructorFunction from './is-constructor-function/index.js'
7
- export * as isNullish from './is-nullish/index.js'
8
8
  export * as logs from './logs/index.js'
9
- export * as crossenv from './crossenv/index.js'
9
+ export * as isNullish from './is-nullish/index.js'
10
10
  export * as loremIpsum from './lorem-ipsum/index.js'
11
11
  export * as normalizeExtension from './normalize-extension/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 crossenv from './crossenv/index.js'
4
5
  export * as crawler from './crawler/index.js'
5
6
  export * as dataSize from './data-size/index.js'
6
7
  export * as isConstructorFunction from './is-constructor-function/index.js'
7
- export * as isNullish from './is-nullish/index.js'
8
8
  export * as logs from './logs/index.js'
9
- export * as crossenv from './crossenv/index.js'
9
+ export * as isNullish from './is-nullish/index.js'
10
10
  export * as loremIpsum from './lorem-ipsum/index.js'
11
11
  export * as normalizeExtension from './normalize-extension/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
2
  export * as approximateRational from './approximate-rational/index.js'
3
- export * as geometricProgressions from './geometric-progressions/index.js'
4
3
  export * as clamp from './clamp/index.js'
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
2
  export * as approximateRational from './approximate-rational/index.js'
3
- export * as geometricProgressions from './geometric-progressions/index.js'
4
3
  export * as clamp from './clamp/index.js'
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,8 +1,8 @@
1
- export * as charCodes from './char-codes/index.js'
2
1
  export * as matches from './matches/index.js'
3
- export * as normalizeIndent from './normalize-indent/index.js'
4
2
  export * as parseTable from './parse-table/index.js'
3
+ export * as charCodes from './char-codes/index.js'
4
+ export * as normalizeIndent from './normalize-indent/index.js'
5
5
  export * as replaceAll from './replace-all/index.js'
6
- export * as splitTrim from './split-trim/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,8 +1,8 @@
1
- export * as charCodes from './char-codes/index.js'
2
1
  export * as matches from './matches/index.js'
3
- export * as normalizeIndent from './normalize-indent/index.js'
4
2
  export * as parseTable from './parse-table/index.js'
3
+ export * as charCodes from './char-codes/index.js'
4
+ export * as normalizeIndent from './normalize-indent/index.js'
5
5
  export * as replaceAll from './replace-all/index.js'
6
- export * as splitTrim from './split-trim/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,2 +1,2 @@
1
- export * as srtTimecodeToMs from './srt-timecode-to-ms/index.js'
2
1
  export * as parseSrt from './parse-srt/index.js'
2
+ export * as srtTimecodeToMs from './srt-timecode-to-ms/index.js'
@@ -1,2 +1,2 @@
1
- export * as srtTimecodeToMs from './srt-timecode-to-ms/index.js'
2
1
  export * as parseSrt from './parse-srt/index.js'
2
+ export * as srtTimecodeToMs from './srt-timecode-to-ms/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
3
  export * as transitions from './transitions/index.js'
4
- export * as wait from './wait/index.js'
5
4
  export * as timeout from './timeout/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
3
  export * as transitions from './transitions/index.js'
4
- export * as wait from './wait/index.js'
5
4
  export * as timeout from './timeout/index.js'
5
+ export * as wait from './wait/index.js'
@@ -9,9 +9,9 @@ import type { WithClassName } from '../utils/types.js';
9
9
  * @property before - Content rendered in the first (before) panel.
10
10
  * @property after - Content rendered in the second (after) panel.
11
11
  * @property onDragged - Called on each pointer move while dragging, with the
12
- * pointer's x and y ratios relative to the component's bounds.
12
+ * pointer's `xRatio` and `yRatio` relative to the component's bounds.
13
13
  * @property onClicked - Called on pointer release when no drag occurred, with
14
- * the release position's x and y ratios.
14
+ * the release position's `xRatio` and `yRatio`.
15
15
  * @property className - Additional class name(s) applied to the root element.
16
16
  * @property children - Arbitrary content to inject inside the component.
17
17
  */
@@ -20,8 +20,14 @@ export type Props = PropsWithChildren<WithClassName<{
20
20
  ratio?: number;
21
21
  before?: ReactNode;
22
22
  after?: ReactNode;
23
- onDragged?: (xRatio: number, yRatio: number) => void;
24
- onClicked?: (xRatio: number, yRatio: number) => void;
23
+ onDragged?: (payload: {
24
+ xRatio: number;
25
+ yRatio: number;
26
+ }) => void;
27
+ onClicked?: (payload: {
28
+ xRatio: number;
29
+ yRatio: number;
30
+ }) => void;
25
31
  }>>;
26
32
  /**
27
33
  * Controlled before/after comparison component.
@@ -55,12 +55,12 @@ export const ControlledBeforeAfter = ({ mode = 'horizontal', ratio = 0, before,
55
55
  const reportDrag = (clientX, clientY) => {
56
56
  const ratios = getRatios(clientX, clientY);
57
57
  if (ratios !== null)
58
- onDragged?.(ratios.xRatio, ratios.yRatio);
58
+ onDragged?.(ratios);
59
59
  };
60
60
  const reportClick = (clientX, clientY) => {
61
61
  const ratios = getRatios(clientX, clientY);
62
62
  if (ratios !== null)
63
- onClicked?.(ratios.xRatio, ratios.yRatio);
63
+ onClicked?.(ratios);
64
64
  };
65
65
  // User action handlers
66
66
  const handlePointerDown = () => {
@@ -45,16 +45,16 @@ export const BeforeAfter = ({ mode = 'horizontal', ratio, defaultRatio = 0.5, on
45
45
  return;
46
46
  setInternalRatio(mode === 'horizontal' ? xRatio : yRatio);
47
47
  };
48
- const handleDrag = (xRatio, yRatio) => {
48
+ const handleDrag = ({ xRatio, yRatio }) => {
49
49
  const x = toDividerRatio(xRatio);
50
50
  const y = toDividerRatio(yRatio);
51
- onDragged?.(x, y);
51
+ onDragged?.({ xRatio: x, yRatio: y });
52
52
  moveDividerTo(x, y);
53
53
  };
54
- const handleClick = (xRatio, yRatio) => {
54
+ const handleClick = ({ xRatio, yRatio }) => {
55
55
  const x = toDividerRatio(xRatio);
56
56
  const y = toDividerRatio(yRatio);
57
- onClicked?.(x, y);
57
+ onClicked?.({ xRatio: x, yRatio: y });
58
58
  moveDividerTo(x, y);
59
59
  };
60
60
  // Rendering
@@ -16,7 +16,7 @@ import type { WithClassName } from '../utils/types.js';
16
16
  * say different things, and an article that names one without the other means the other
17
17
  * to come from the stylesheet.
18
18
  * @property onCopyClicked - Called when the copy button is clicked, before the
19
- * clipboard content is resolved, with the container's raw HTML.
19
+ * clipboard content is resolved, with `event` and the container's `rawHtml`.
20
20
  * @property onClipped - Called once content has been written to the clipboard.
21
21
  * Not called when the write fails.
22
22
  * @property onCopyFailed - Called when the clipboard write throws, with the
@@ -28,7 +28,10 @@ export type Props = PropsWithChildren<WithClassName<{
28
28
  toClip?: string | ((curr: string | undefined) => string | undefined);
29
29
  copyBtnContent?: ReactNode;
30
30
  clippedBtnContent?: ReactNode;
31
- onCopyClicked?: (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>, rawContent: string | undefined) => void;
31
+ onCopyClicked?: (payload: {
32
+ event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>;
33
+ rawHtml: string | undefined;
34
+ }) => void;
32
35
  onClipped?: (content: string) => void;
33
36
  onCopyFailed?: (error: unknown) => void;
34
37
  }>>;
@@ -34,7 +34,7 @@ export const Clippable = ({ className, children, toClip, copyBtnContent, clipped
34
34
  // User action handlers
35
35
  const handleCopyClick = async (e) => {
36
36
  const rawHtml = contentRef.current?.innerHTML;
37
- onCopyClicked?.(e, rawHtml);
37
+ onCopyClicked?.({ event: e, rawHtml });
38
38
  const html = typeof toClip === 'string'
39
39
  ? toClip
40
40
  : typeof toClip === 'function'
@@ -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)
@@ -33,6 +33,10 @@ import { type SourceData, type TrackData } from './utils.js';
33
33
  * to update the prop instead. Because a playing element advances the time by
34
34
  * itself, a controlled time also implies a stopped video: `play` and `autoPlay`
35
35
  * are ignored for as long as this prop is provided.
36
+ *
37
+ * Every action handler below receives one {@link VideoActionPayload}: the `event` that
38
+ * triggered it, the `videoElement` it acted on, and the values named in its own entry.
39
+ *
36
40
  * @property onPlayButtonClicked - Called when the play button is clicked, before
37
41
  * the component reacts, with the playback state as it was.
38
42
  * @property onPauseButtonClicked - Called when the pause button is clicked, before
@@ -93,6 +97,14 @@ import { type SourceData, type TrackData } from './utils.js';
93
97
  *
94
98
  * Also inherits all standard HTML props for a <video> element.
95
99
  */
100
+ /**
101
+ * What every action handler of this component carries: the event that triggered it, the
102
+ * `<video>` it acted on, and the values of that action.
103
+ */
104
+ export type VideoActionPayload<E, T> = {
105
+ event: E;
106
+ videoElement: HTMLVideoElement | null;
107
+ } & T;
96
108
  export type Props = PropsWithChildren<WithClassName<{
97
109
  rootRef?: Ref<HTMLElement>;
98
110
  videoRef?: RefObject<HTMLVideoElement | null>;
@@ -114,16 +126,39 @@ export type Props = PropsWithChildren<WithClassName<{
114
126
  playbackRate?: number;
115
127
  currentTimeMs?: number;
116
128
  timeFormat?: string;
117
- onPlayButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isPlaying: boolean, video: HTMLVideoElement | null) => void;
118
- onPauseButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isPlaying: boolean, video: HTMLVideoElement | null) => void;
119
- onLoudButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isLoud: boolean, video: HTMLVideoElement | null) => void;
120
- onMuteButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isLoud: boolean, video: HTMLVideoElement | null) => void;
121
- onVolumeRangeChanged?: (e: React.ChangeEvent<HTMLInputElement>, targetVolume: number, currentVolume: number, video: HTMLVideoElement | null) => void;
122
- onRateRangeChanged?: (e: React.ChangeEvent<HTMLInputElement>, targetRate: number, currentRate: number, video: HTMLVideoElement | null) => void;
123
- onFullscreenButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isFullscreen: boolean, video: HTMLVideoElement | null) => void;
124
- onSubtitlesButtonClicked?: (e: React.MouseEvent<HTMLButtonElement>, isSubtitlesOn: boolean, video: HTMLVideoElement | null) => void;
125
- onTimelineClicked?: (e: React.MouseEvent<HTMLDivElement>, targetTime: number, currentTime: number, video: HTMLVideoElement | null) => void;
126
- onVideoClicked?: (e: React.MouseEvent<HTMLVideoElement>, isPlaying: boolean, video: HTMLVideoElement | null) => void;
129
+ onPlayButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
130
+ isPlaying: boolean;
131
+ }>) => void;
132
+ onPauseButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
133
+ isPlaying: boolean;
134
+ }>) => void;
135
+ onLoudButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
136
+ isLoud: boolean;
137
+ }>) => void;
138
+ onMuteButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
139
+ isLoud: boolean;
140
+ }>) => void;
141
+ onVolumeRangeChanged?: (payload: VideoActionPayload<React.ChangeEvent<HTMLInputElement>, {
142
+ targetVolume: number;
143
+ currentVolume: number;
144
+ }>) => void;
145
+ onRateRangeChanged?: (payload: VideoActionPayload<React.ChangeEvent<HTMLInputElement>, {
146
+ targetRate: number;
147
+ currentRate: number;
148
+ }>) => void;
149
+ onFullscreenButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
150
+ isFullscreen: boolean;
151
+ }>) => void;
152
+ onSubtitlesButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
153
+ isSubtitlesOn: boolean;
154
+ }>) => void;
155
+ onTimelineClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLDivElement>, {
156
+ targetTime: number;
157
+ currentTime: number;
158
+ }>) => void;
159
+ onVideoClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLVideoElement>, {
160
+ isPlaying: boolean;
161
+ }>) => void;
127
162
  onIsPlayingChanged?: (isPlaying: boolean) => void;
128
163
  onIsFullscreenChanged?: (isFullscreen: boolean) => void;
129
164
  onIsLoudChanged?: (isLoud: boolean) => void;
@@ -120,7 +120,7 @@ timeFormat = '{{mm}}:{{ss}}:{{ms}}', onPlayButtonClicked, onPauseButtonClicked,
120
120
  // Custom action handlers
121
121
  const handlePlayButtonClick = useCallback((e) => {
122
122
  const wasPlaying = videoRef.current?.paused === false;
123
- onPlayButtonClicked?.(e, wasPlaying, videoRef.current);
123
+ onPlayButtonClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
124
124
  }, [onPlayButtonClicked]);
125
125
  // The picture as a play/pause surface. It reports and nothing more, like every other
126
126
  // control here: the uncontrolled layer above owns the play state.
@@ -134,37 +134,42 @@ timeFormat = '{{mm}}:{{ss}}:{{ms}}', onPlayButtonClicked, onPauseButtonClicked,
134
134
  if (togglePlayOnClick !== true)
135
135
  return;
136
136
  const wasPlaying = videoRef.current?.paused === false;
137
- onVideoClicked?.(e, wasPlaying, videoRef.current);
137
+ onVideoClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
138
138
  }, [togglePlayOnClick, onVideoClicked]);
139
139
  const handlePauseButtonClick = useCallback((e) => {
140
140
  const wasPlaying = videoRef.current?.paused === false;
141
- onPauseButtonClicked?.(e, wasPlaying, videoRef.current);
141
+ onPauseButtonClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
142
142
  }, [onPauseButtonClicked]);
143
143
  const handleLoudButtonClick = useCallback((e) => {
144
- onLoudButtonClicked?.(e, isLoud, videoRef.current);
144
+ onLoudButtonClicked?.({ event: e, isLoud, videoElement: videoRef.current });
145
145
  }, [onLoudButtonClicked, isLoud]);
146
146
  const handleMuteButtonClick = useCallback((e) => {
147
- onMuteButtonClicked?.(e, isLoud, videoRef.current);
147
+ onMuteButtonClicked?.({ event: e, isLoud, videoElement: videoRef.current });
148
148
  }, [onMuteButtonClicked, isLoud]);
149
149
  const handleFullscreenButtonClick = useCallback((e) => {
150
- onFullscreenButtonClicked?.(e, isFullscreen, videoRef.current);
150
+ onFullscreenButtonClicked?.({ event: e, isFullscreen, videoElement: videoRef.current });
151
151
  }, [onFullscreenButtonClicked, isFullscreen]);
152
152
  const handleSubtitlesButtonClick = useCallback((e) => {
153
- onSubtitlesButtonClicked?.(e, subtitlesOn, videoRef.current);
153
+ onSubtitlesButtonClicked?.({ event: e, isSubtitlesOn: subtitlesOn, videoElement: videoRef.current });
154
154
  }, [onSubtitlesButtonClicked, subtitlesOn]);
155
155
  const handleVolumeRangeChange = useCallback((e) => {
156
156
  const targetVolume = Number(e.currentTarget.value) / 100;
157
- onVolumeRangeChanged?.(e, targetVolume, volume, videoRef.current);
157
+ onVolumeRangeChanged?.({ event: e, targetVolume, currentVolume: volume, videoElement: videoRef.current });
158
158
  }, [onVolumeRangeChanged, volume]);
159
159
  const handleRateRangeChange = useCallback((e) => {
160
- onRateRangeChanged?.(e, Number(e.currentTarget.value), playbackRate, videoRef.current);
160
+ onRateRangeChanged?.({
161
+ event: e,
162
+ targetRate: Number(e.currentTarget.value),
163
+ currentRate: playbackRate,
164
+ videoElement: videoRef.current
165
+ });
161
166
  }, [onRateRangeChanged, playbackRate]);
162
167
  const handleTimelineClick = useCallback((e) => {
163
168
  if (videoRef.current === null)
164
169
  return;
165
170
  const progress = getTimelineClickProgress(e);
166
171
  const targetTime = progress * totalTime;
167
- onTimelineClicked?.(e, targetTime, currentTime, videoRef.current);
172
+ onTimelineClicked?.({ event: e, targetTime, currentTime, videoElement: videoRef.current });
168
173
  // A controlled time is the parent's to move: it is expected to update the
169
174
  // prop in response to this very handler.
170
175
  if (!isTimeControlled) {
@@ -144,54 +144,54 @@ export const Video = ({ defaultSubtitlesOn = true, behavioursSuspended, visibili
144
144
  controlledProps.onLoadedMetadata?.(e);
145
145
  }, [controlledProps.onLoadedMetadata, controlledProps.muted]);
146
146
  // User actions
147
- const handlePlayButtonClick = useCallback((e, isPlaying, video) => {
148
- onPlayButtonClicked?.(e, isPlaying, video);
147
+ const handlePlayButtonClick = useCallback(payload => {
148
+ onPlayButtonClicked?.(payload);
149
149
  surrender('playback');
150
150
  setPlay(true);
151
151
  }, [onPlayButtonClicked, surrender]);
152
- const handlePauseButtonClick = useCallback((e, isPlaying, video) => {
153
- onPauseButtonClicked?.(e, isPlaying, video);
152
+ const handlePauseButtonClick = useCallback(payload => {
153
+ onPauseButtonClicked?.(payload);
154
154
  surrender('playback');
155
155
  setPlay(false);
156
156
  }, [onPauseButtonClicked, surrender]);
157
157
  // The picture toggles, where the two buttons each say one thing. It is the same gesture
158
158
  // as pressing one of them — a consumer tracking whether the reader has taken over
159
159
  // playback has to count this one too, since it is the same decision made elsewhere.
160
- const handleVideoClick = useCallback((e, isPlaying, video) => {
161
- onVideoClicked?.(e, isPlaying, video);
160
+ const handleVideoClick = useCallback(payload => {
161
+ onVideoClicked?.(payload);
162
162
  surrender('playback');
163
- setPlay(!isPlaying);
163
+ setPlay(!payload.isPlaying);
164
164
  }, [onVideoClicked, surrender]);
165
- const handleLoudButtonClick = useCallback((e, isLoud, video) => {
166
- onLoudButtonClicked?.(e, isLoud, video);
165
+ const handleLoudButtonClick = useCallback(payload => {
166
+ onLoudButtonClicked?.(payload);
167
167
  surrender('sound');
168
168
  setMute(false);
169
169
  }, [onLoudButtonClicked, surrender]);
170
- const handleMuteButtonClick = useCallback((e, isLoud, video) => {
171
- onMuteButtonClicked?.(e, isLoud, video);
170
+ const handleMuteButtonClick = useCallback(payload => {
171
+ onMuteButtonClicked?.(payload);
172
172
  surrender('sound');
173
173
  setMute(true);
174
174
  }, [onMuteButtonClicked, surrender]);
175
- const handleRateRangeChange = useCallback((e, targetRate, currentRate, video) => {
176
- onRateRangeChanged?.(e, targetRate, currentRate, video);
177
- setPlaybackRate(targetRate);
175
+ const handleRateRangeChange = useCallback(payload => {
176
+ onRateRangeChanged?.(payload);
177
+ setPlaybackRate(payload.targetRate);
178
178
  }, [onRateRangeChanged]);
179
- const handleVolumeRangeChange = useCallback((e, targetVolume, currentVolume, video) => {
180
- onVolumeRangeChanged?.(e, targetVolume, currentVolume, video);
179
+ const handleVolumeRangeChange = useCallback(payload => {
180
+ onVolumeRangeChanged?.(payload);
181
181
  surrender('sound');
182
- setVolume(targetVolume);
182
+ setVolume(payload.targetVolume);
183
183
  }, [onVolumeRangeChanged, surrender]);
184
- const handleFullscreenButtonClick = useCallback((e, isFullscreen, video) => {
185
- onFullscreenButtonClicked?.(e, isFullscreen, video);
186
- setFullscreen(!isFullscreen);
184
+ const handleFullscreenButtonClick = useCallback(payload => {
185
+ onFullscreenButtonClicked?.(payload);
186
+ setFullscreen(!payload.isFullscreen);
187
187
  }, [onFullscreenButtonClicked]);
188
188
  // Un seul bouton pour les deux sens, contrairement à lecture/pause et son/muet qui en
189
189
  // ont un chacun : ceux-là existent en paire dans le DOM et la feuille en montre un,
190
190
  // parce qu'ils portent deux glyphes opposés. Les sous-titres n'en portent qu'un, dont
191
191
  // seul l'habillage change — inutile d'en rendre deux pour n'en montrer jamais qu'un.
192
- const handleSubtitlesButtonClick = useCallback((e, isSubtitlesOn, video) => {
193
- onSubtitlesButtonClicked?.(e, isSubtitlesOn, video);
194
- setSubtitlesOn(!isSubtitlesOn);
192
+ const handleSubtitlesButtonClick = useCallback(payload => {
193
+ onSubtitlesButtonClicked?.(payload);
194
+ setSubtitlesOn(!payload.isSubtitlesOn);
195
195
  }, [onSubtitlesButtonClicked]);
196
196
  // `autoPlay` is forwarded to the element, but the play state is owned here, so
197
197
  // it has to be seeded once on mount for the controls to agree with the element.
@@ -19,8 +19,8 @@ export * as scrllgngn from './Scrllgngn/index.js'
19
19
  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
- export * as subtitles from './Subtitles/index.js'
23
22
  export * as shadowRoot from './ShadowRoot/index.js'
23
+ export * as subtitles from './Subtitles/index.js'
24
24
  export * as textarea from './Textarea/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
26
26
  export * as video from './Video/index.js'
@@ -19,8 +19,8 @@ export * as scrllgngn from './Scrllgngn/index.js'
19
19
  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
- export * as subtitles from './Subtitles/index.js'
23
22
  export * as shadowRoot from './ShadowRoot/index.js'
23
+ export * as subtitles from './Subtitles/index.js'
24
24
  export * as textarea from './Textarea/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
26
26
  export * as video from './Video/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
2
  export * as list from './list/index.js'
3
- export * as moveDir from './move-dir/index.js'
4
3
  export * as removeDir from './remove-dir/index.js'
4
+ export * as moveDir from './move-dir/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
2
  export * as list from './list/index.js'
3
- export * as moveDir from './move-dir/index.js'
4
3
  export * as removeDir from './remove-dir/index.js'
4
+ export * as moveDir from './move-dir/index.js'
@@ -1,8 +1,8 @@
1
1
  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
- export * as getMetadata from './get-metadata/index.js'
5
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
+ export * as getMetadata from './get-metadata/index.js'
6
6
  export * as getPermissions from './get-permissions/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
@@ -1,8 +1,8 @@
1
1
  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
- export * as getMetadata from './get-metadata/index.js'
5
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
+ export * as getMetadata from './get-metadata/index.js'
6
6
  export * as getPermissions from './get-permissions/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as getSize from './get-size/index.js'
2
- export * as readWrite from './read-write/index.js'
3
2
  export * as isInDirectory from './is-in-directory/index.js'
3
+ export * as readWrite from './read-write/index.js'
4
4
  export * as subpaths from './subpaths/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as getSize from './get-size/index.js'
2
- export * as readWrite from './read-write/index.js'
3
2
  export * as isInDirectory from './is-in-directory/index.js'
3
+ export * as readWrite from './read-write/index.js'
4
4
  export * as subpaths from './subpaths/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
- export * as format from './format/index.js'
3
2
  export * as metadata from './metadata/index.js'
3
+ export * as format from './format/index.js'
4
4
  export * as transform from './transform/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
- export * as format from './format/index.js'
3
2
  export * as metadata from './metadata/index.js'
3
+ export * as format from './format/index.js'
4
4
  export * as transform from './transform/index.js'
5
5
  export * as utils from './utils/index.js'
@@ -1,10 +1,10 @@
1
- export * as blur from './blur/index.js'
2
1
  export * as brighten from './brighten/index.js'
2
+ export * as blur from './blur/index.js'
3
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
- export * as flip from './flip/index.js'
7
6
  export * as flop from './flop/index.js'
7
+ export * as flip from './flip/index.js'
8
8
  export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
10
  export * as lighten from './lighten/index.js'
@@ -1,10 +1,10 @@
1
- export * as blur from './blur/index.js'
2
1
  export * as brighten from './brighten/index.js'
2
+ export * as blur from './blur/index.js'
3
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
- export * as flip from './flip/index.js'
7
6
  export * as flop from './flop/index.js'
7
+ export * as flip from './flip/index.js'
8
8
  export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
10
  export * as lighten from './lighten/index.js'
package/node/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * as awsS3 from './@aws-s3/index.js'
2
1
  export * as designEdito from './@design-edito/index.js'
2
+ export * as awsS3 from './@aws-s3/index.js'
3
3
  export * as express from './@express/index.js'
4
4
  export * as googleCloud from './@google-cloud/index.js'
5
5
  export * as cloudStorage from './cloud-storage/index.js'
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export * as awsS3 from './@aws-s3/index.js'
2
1
  export * as designEdito from './@design-edito/index.js'
2
+ export * as awsS3 from './@aws-s3/index.js'
3
3
  export * as express from './@express/index.js'
4
4
  export * as googleCloud from './@google-cloud/index.js'
5
5
  export * as cloudStorage from './cloud-storage/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.5.34",
3
+ "version": "0.5.36",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",