@design-edito/tools 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/agnostic/arrays/index.d.ts +2 -2
  2. package/agnostic/arrays/index.js +2 -2
  3. package/agnostic/colors/index.d.ts +3 -3
  4. package/agnostic/colors/index.js +3 -3
  5. package/agnostic/css/index.d.ts +1 -1
  6. package/agnostic/css/index.js +1 -1
  7. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +16 -16
  8. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +16 -16
  9. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +3 -3
  10. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +3 -3
  11. package/agnostic/html/index.d.ts +2 -2
  12. package/agnostic/html/index.js +2 -2
  13. package/agnostic/index.d.ts +4 -4
  14. package/agnostic/index.js +4 -4
  15. package/agnostic/misc/index.d.ts +2 -2
  16. package/agnostic/misc/index.js +2 -2
  17. package/agnostic/misc/logs/index.d.ts +1 -1
  18. package/agnostic/misc/logs/index.js +1 -1
  19. package/agnostic/objects/index.d.ts +2 -2
  20. package/agnostic/objects/index.js +2 -2
  21. package/agnostic/strings/index.d.ts +1 -1
  22. package/agnostic/strings/index.js +1 -1
  23. package/agnostic/time/index.d.ts +1 -1
  24. package/agnostic/time/index.js +1 -1
  25. package/components/Paginator/index.d.ts +7 -2
  26. package/components/Paginator/index.js +43 -6
  27. package/components/Video/index.controlled.d.ts +7 -2
  28. package/components/Video/index.controlled.js +22 -6
  29. package/components/Video/index.d.ts +5 -3
  30. package/components/Video/index.js +14 -4
  31. package/components/Video/utils.d.ts +11 -0
  32. package/components/Video/utils.js +14 -5
  33. package/components/index.d.ts +5 -5
  34. package/components/index.js +5 -5
  35. package/index.d.ts +1 -1
  36. package/index.js +1 -1
  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 +2 -2
  42. package/node/@google-cloud/storage/file/index.js +2 -2
  43. package/node/cloud-storage/operations/index.d.ts +2 -2
  44. package/node/cloud-storage/operations/index.js +2 -2
  45. package/node/images/index.d.ts +1 -1
  46. package/node/images/index.js +1 -1
  47. package/node/images/transform/operations/index.d.ts +4 -4
  48. package/node/images/transform/operations/index.js +4 -4
  49. package/node/index.d.ts +2 -2
  50. package/node/index.js +2 -2
  51. 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 make from './make/index.js'
4
3
  export * as isArrayOf from './is-array-of/index.js'
5
- export * as shuffle from './shuffle/index.js'
4
+ export * as make from './make/index.js'
6
5
  export * as randomPick from './random-pick/index.js'
6
+ export * as shuffle from './shuffle/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 make from './make/index.js'
4
3
  export * as isArrayOf from './is-array-of/index.js'
5
- export * as shuffle from './shuffle/index.js'
4
+ export * as make from './make/index.js'
6
5
  export * as randomPick from './random-pick/index.js'
6
+ export * as shuffle from './shuffle/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 palette from './palette/index.js'
8
7
  export * as lerp from './lerp/index.js'
9
- export * as tidy from './tidy/index.js'
8
+ export * as luminance from './luminance/index.js'
9
+ export * as palette from './palette/index.js'
10
10
  export * as rotate from './rotate/index.js'
11
+ export * as tidy from './tidy/index.js'
11
12
  export * as typechecks from './typechecks/index.js'
12
- export * as luminance from './luminance/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 palette from './palette/index.js'
8
7
  export * as lerp from './lerp/index.js'
9
- export * as tidy from './tidy/index.js'
8
+ export * as luminance from './luminance/index.js'
9
+ export * as palette from './palette/index.js'
10
10
  export * as rotate from './rotate/index.js'
11
+ export * as tidy from './tidy/index.js'
11
12
  export * as typechecks from './typechecks/index.js'
12
- export * as luminance from './luminance/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as bem from './bem/index.js'
2
+ export * as clss from './clss/index.js'
2
3
  export * as generateNiceColor from './generate-nice-color/index.js'
3
4
  export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
- export * as clss from './clss/index.js'
5
5
  export * as scale from './scale/index.js'
6
6
  export * as stylesSet from './styles-set/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as bem from './bem/index.js'
2
+ export * as clss from './clss/index.js'
2
3
  export * as generateNiceColor from './generate-nice-color/index.js'
3
4
  export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
- export * as clss from './clss/index.js'
5
5
  export * as scale from './scale/index.js'
6
6
  export * as stylesSet from './styles-set/index.js'
@@ -1,52 +1,52 @@
1
1
  export * as add from './add/index.js'
2
- export * as addclass from './addclass/index.js'
3
2
  export * as and from './and/index.js'
4
- export * as at from './at/index.js'
5
3
  export * as append from './append/index.js'
4
+ export * as at from './at/index.js'
6
5
  export * as call from './call/index.js'
7
- export * as deleteproperties from './deleteproperties/index.js'
6
+ export * as addclass from './addclass/index.js'
8
7
  export * as clone from './clone/index.js'
9
- export * as equals from './equals/index.js'
10
8
  export * as getattribute from './getattribute/index.js'
9
+ export * as deleteproperties from './deleteproperties/index.js'
11
10
  export * as getproperties from './getproperties/index.js'
12
- export * as hjparse from './hjparse/index.js'
13
11
  export * as getproperty from './getproperty/index.js'
12
+ export * as equals from './equals/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
- export * as if from './if/index.js'
16
14
  export * as initialize from './initialize/index.js'
17
- export * as length from './length/index.js'
15
+ export * as if from './if/index.js'
16
+ export * as join from './join/index.js'
17
+ export * as hjparse from './hjparse/index.js'
18
18
  export * as map from './map/index.js'
19
- export * as negate from './negate/index.js'
20
- export * as notrailing from './notrailing/index.js'
19
+ export * as length from './length/index.js'
21
20
  export * as or from './or/index.js'
22
21
  export * as pickrandom from './pickrandom/index.js'
23
22
  export * as populate from './populate/index.js'
24
- export * as join from './join/index.js'
25
23
  export * as print from './print/index.js'
24
+ export * as negate from './negate/index.js'
26
25
  export * as pusheach from './pusheach/index.js'
27
26
  export * as recordtoarray from './recordtoarray/index.js'
28
- export * as push from './push/index.js'
29
27
  export * as removeattribute from './removeattribute/index.js'
28
+ export * as notrailing from './notrailing/index.js'
30
29
  export * as removeclass from './removeclass/index.js'
31
- export * as renameproperty from './renameproperty/index.js'
32
- export * as replace from './replace/index.js'
30
+ export * as push from './push/index.js'
33
31
  export * as select from './select/index.js'
34
- export * as setattribute from './setattribute/index.js'
35
32
  export * as set from './set/index.js'
33
+ export * as setattribute from './setattribute/index.js'
36
34
  export * as setproperty from './setproperty/index.js'
35
+ export * as replace from './replace/index.js'
37
36
  export * as sorton from './sorton/index.js'
38
37
  export * as split from './split/index.js'
38
+ export * as renameproperty from './renameproperty/index.js'
39
39
  export * as spread from './spread/index.js'
40
40
  export * as toarray from './toarray/index.js'
41
41
  export * as toboolean from './toboolean/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as toggleclass from './toggleclass/index.js'
44
44
  export * as tonodelist from './tonodelist/index.js'
45
- export * as tonull from './tonull/index.js'
46
45
  export * as tonumber from './tonumber/index.js'
47
46
  export * as torecord from './torecord/index.js'
48
- export * as toref from './toref/index.js'
49
47
  export * as tostring from './tostring/index.js'
50
48
  export * as totext from './totext/index.js'
49
+ export * as toref from './toref/index.js'
50
+ export * as tonull from './tonull/index.js'
51
51
  export * as transformselected from './transformselected/index.js'
52
52
  export * as trim from './trim/index.js'
@@ -1,52 +1,52 @@
1
1
  export * as add from './add/index.js'
2
- export * as addclass from './addclass/index.js'
3
2
  export * as and from './and/index.js'
4
- export * as at from './at/index.js'
5
3
  export * as append from './append/index.js'
4
+ export * as at from './at/index.js'
6
5
  export * as call from './call/index.js'
7
- export * as deleteproperties from './deleteproperties/index.js'
6
+ export * as addclass from './addclass/index.js'
8
7
  export * as clone from './clone/index.js'
9
- export * as equals from './equals/index.js'
10
8
  export * as getattribute from './getattribute/index.js'
9
+ export * as deleteproperties from './deleteproperties/index.js'
11
10
  export * as getproperties from './getproperties/index.js'
12
- export * as hjparse from './hjparse/index.js'
13
11
  export * as getproperty from './getproperty/index.js'
12
+ export * as equals from './equals/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
- export * as if from './if/index.js'
16
14
  export * as initialize from './initialize/index.js'
17
- export * as length from './length/index.js'
15
+ export * as if from './if/index.js'
16
+ export * as join from './join/index.js'
17
+ export * as hjparse from './hjparse/index.js'
18
18
  export * as map from './map/index.js'
19
- export * as negate from './negate/index.js'
20
- export * as notrailing from './notrailing/index.js'
19
+ export * as length from './length/index.js'
21
20
  export * as or from './or/index.js'
22
21
  export * as pickrandom from './pickrandom/index.js'
23
22
  export * as populate from './populate/index.js'
24
- export * as join from './join/index.js'
25
23
  export * as print from './print/index.js'
24
+ export * as negate from './negate/index.js'
26
25
  export * as pusheach from './pusheach/index.js'
27
26
  export * as recordtoarray from './recordtoarray/index.js'
28
- export * as push from './push/index.js'
29
27
  export * as removeattribute from './removeattribute/index.js'
28
+ export * as notrailing from './notrailing/index.js'
30
29
  export * as removeclass from './removeclass/index.js'
31
- export * as renameproperty from './renameproperty/index.js'
32
- export * as replace from './replace/index.js'
30
+ export * as push from './push/index.js'
33
31
  export * as select from './select/index.js'
34
- export * as setattribute from './setattribute/index.js'
35
32
  export * as set from './set/index.js'
33
+ export * as setattribute from './setattribute/index.js'
36
34
  export * as setproperty from './setproperty/index.js'
35
+ export * as replace from './replace/index.js'
37
36
  export * as sorton from './sorton/index.js'
38
37
  export * as split from './split/index.js'
38
+ export * as renameproperty from './renameproperty/index.js'
39
39
  export * as spread from './spread/index.js'
40
40
  export * as toarray from './toarray/index.js'
41
41
  export * as toboolean from './toboolean/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as toggleclass from './toggleclass/index.js'
44
44
  export * as tonodelist from './tonodelist/index.js'
45
- export * as tonull from './tonull/index.js'
46
45
  export * as tonumber from './tonumber/index.js'
47
46
  export * as torecord from './torecord/index.js'
48
- export * as toref from './toref/index.js'
49
47
  export * as tostring from './tostring/index.js'
50
48
  export * as totext from './totext/index.js'
49
+ export * as toref from './toref/index.js'
50
+ export * as tonull from './tonull/index.js'
51
51
  export * as transformselected from './transformselected/index.js'
52
52
  export * as trim from './trim/index.js'
@@ -4,10 +4,10 @@ export * as boolean from './boolean/index.js'
4
4
  export * as element from './element/index.js'
5
5
  export * as get from './get/index.js'
6
6
  export * as guess from './guess/index.js'
7
- export * as null from './null/index.js'
8
7
  export * as nodelist from './nodelist/index.js'
8
+ export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
10
  export * as ref from './ref/index.js'
11
- export * as record from './record/index.js'
12
- export * as string from './string/index.js'
13
11
  export * as text from './text/index.js'
12
+ export * as string from './string/index.js'
13
+ export * as record from './record/index.js'
@@ -4,10 +4,10 @@ export * as boolean from './boolean/index.js'
4
4
  export * as element from './element/index.js'
5
5
  export * as get from './get/index.js'
6
6
  export * as guess from './guess/index.js'
7
- export * as null from './null/index.js'
8
7
  export * as nodelist from './nodelist/index.js'
8
+ export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
10
  export * as ref from './ref/index.js'
11
- export * as record from './record/index.js'
12
- export * as string from './string/index.js'
13
11
  export * as text from './text/index.js'
12
+ export * as string from './string/index.js'
13
+ export * as record from './record/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
+ export * as getNodeAncestors from './get-node-ancestors/index.js'
2
3
  export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
4
  export * as hyperJson from './hyper-json/index.js'
4
5
  export * as insertNode from './insert-node/index.js'
5
- export * as getNodeAncestors from './get-node-ancestors/index.js'
6
6
  export * as placeholders from './placeholders/index.js'
7
7
  export * as replaceInElement from './replace-in-element/index.js'
8
+ export * as stringToNodes from './string-to-nodes/index.js'
8
9
  export * as selectorToElement from './selector-to-element/index.js'
9
10
  export * as watchSelection from './watch-selection/index.js'
10
- export * as stringToNodes from './string-to-nodes/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
+ export * as getNodeAncestors from './get-node-ancestors/index.js'
2
3
  export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
4
  export * as hyperJson from './hyper-json/index.js'
4
5
  export * as insertNode from './insert-node/index.js'
5
- export * as getNodeAncestors from './get-node-ancestors/index.js'
6
6
  export * as placeholders from './placeholders/index.js'
7
7
  export * as replaceInElement from './replace-in-element/index.js'
8
+ export * as stringToNodes from './string-to-nodes/index.js'
8
9
  export * as selectorToElement from './selector-to-element/index.js'
9
10
  export * as watchSelection from './watch-selection/index.js'
10
- export * as stringToNodes from './string-to-nodes/index.js'
@@ -1,17 +1,17 @@
1
1
  export * as arrays from './arrays/index.js'
2
+ export * as colors from './colors/index.js'
2
3
  export * as booleans from './booleans/index.js'
3
4
  export * as css from './css/index.js'
4
5
  export * as errors from './errors/index.js'
5
6
  export * as html from './html/index.js'
6
- export * as numbers from './numbers/index.js'
7
7
  export * as misc from './misc/index.js'
8
+ export * as numbers from './numbers/index.js'
8
9
  export * as objects from './objects/index.js'
9
- export * as colors from './colors/index.js'
10
10
  export * as optim from './optim/index.js'
11
- export * as regexps from './regexps/index.js'
12
11
  export * as random from './random/index.js'
12
+ export * as regexps from './regexps/index.js'
13
13
  export * as sanitization from './sanitization/index.js'
14
14
  export * as strings from './strings/index.js'
15
15
  export * as subtitles from './subtitles/index.js'
16
- export * as typescript from './typescript/index.js'
17
16
  export * as time from './time/index.js'
17
+ export * as typescript from './typescript/index.js'
package/agnostic/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  export * as arrays from './arrays/index.js'
2
+ export * as colors from './colors/index.js'
2
3
  export * as booleans from './booleans/index.js'
3
4
  export * as css from './css/index.js'
4
5
  export * as errors from './errors/index.js'
5
6
  export * as html from './html/index.js'
6
- export * as numbers from './numbers/index.js'
7
7
  export * as misc from './misc/index.js'
8
+ export * as numbers from './numbers/index.js'
8
9
  export * as objects from './objects/index.js'
9
- export * as colors from './colors/index.js'
10
10
  export * as optim from './optim/index.js'
11
- export * as regexps from './regexps/index.js'
12
11
  export * as random from './random/index.js'
12
+ export * as regexps from './regexps/index.js'
13
13
  export * as sanitization from './sanitization/index.js'
14
14
  export * as strings from './strings/index.js'
15
15
  export * as subtitles from './subtitles/index.js'
16
- export * as typescript from './typescript/index.js'
17
16
  export * as time from './time/index.js'
17
+ export * as typescript from './typescript/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
+ export * as connection from './connection/index.js'
3
4
  export * as crawler from './crawler/index.js'
4
5
  export * as crossenv from './crossenv/index.js'
5
- export * as connection from './connection/index.js'
6
6
  export * as dataSize from './data-size/index.js'
7
7
  export * as isConstructorFunction from './is-constructor-function/index.js'
8
8
  export * as isNullish from './is-nullish/index.js'
9
9
  export * as logs from './logs/index.js'
10
10
  export * as loremIpsum from './lorem-ipsum/index.js'
11
- export * as outcome from './outcome/index.js'
12
11
  export * as normalizeExtension from './normalize-extension/index.js'
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
+ export * as connection from './connection/index.js'
3
4
  export * as crawler from './crawler/index.js'
4
5
  export * as crossenv from './crossenv/index.js'
5
- export * as connection from './connection/index.js'
6
6
  export * as dataSize from './data-size/index.js'
7
7
  export * as isConstructorFunction from './is-constructor-function/index.js'
8
8
  export * as isNullish from './is-nullish/index.js'
9
9
  export * as logs from './logs/index.js'
10
10
  export * as loremIpsum from './lorem-ipsum/index.js'
11
- export * as outcome from './outcome/index.js'
12
11
  export * as normalizeExtension from './normalize-extension/index.js'
12
+ export * as outcome from './outcome/index.js'
@@ -1,3 +1,3 @@
1
1
  export * as logger from './logger/index.js'
2
- export * as makeTextBlock from './make-text-block/index.js'
3
2
  export * as styles from './styles/index.js'
3
+ export * as makeTextBlock from './make-text-block/index.js'
@@ -1,3 +1,3 @@
1
1
  export * as logger from './logger/index.js'
2
- export * as makeTextBlock from './make-text-block/index.js'
3
2
  export * as styles from './styles/index.js'
3
+ export * as makeTextBlock from './make-text-block/index.js'
@@ -1,9 +1,9 @@
1
1
  export * as deepGetProperty from './deep-get-property/index.js'
2
+ export * as enums from './enums/index.js'
2
3
  export * as flattenGetters from './flatten-getters/index.js'
3
4
  export * as isObject from './is-object/index.js'
4
- export * as recordFormat from './record-format/index.js'
5
5
  export * as isRecord from './is-record/index.js'
6
+ export * as recordFormat from './record-format/index.js'
6
7
  export * as recordMap from './record-map/index.js'
7
- export * as enums from './enums/index.js'
8
8
  export * as sortKeys from './sort-keys/index.js'
9
9
  export * as validation from './validation/index.js'
@@ -1,9 +1,9 @@
1
1
  export * as deepGetProperty from './deep-get-property/index.js'
2
+ export * as enums from './enums/index.js'
2
3
  export * as flattenGetters from './flatten-getters/index.js'
3
4
  export * as isObject from './is-object/index.js'
4
- export * as recordFormat from './record-format/index.js'
5
5
  export * as isRecord from './is-record/index.js'
6
+ export * as recordFormat from './record-format/index.js'
6
7
  export * as recordMap from './record-map/index.js'
7
- export * as enums from './enums/index.js'
8
8
  export * as sortKeys from './sort-keys/index.js'
9
9
  export * as validation from './validation/index.js'
@@ -1,8 +1,8 @@
1
1
  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
- export * as replaceAll from './replace-all/index.js'
5
4
  export * as parseTable from './parse-table/index.js'
5
+ export * as replaceAll from './replace-all/index.js'
6
6
  export * as splitTrim from './split-trim/index.js'
7
7
  export * as toAlphanum from './to-alphanum/index.js'
8
8
  export * as trim from './trim/index.js'
@@ -1,8 +1,8 @@
1
1
  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
- export * as replaceAll from './replace-all/index.js'
5
4
  export * as parseTable from './parse-table/index.js'
5
+ export * as replaceAll from './replace-all/index.js'
6
6
  export * as splitTrim from './split-trim/index.js'
7
7
  export * as toAlphanum from './to-alphanum/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
- export * as duration from './duration/index.js'
3
2
  export * as timeout from './timeout/index.js'
4
3
  export * as transitions from './transitions/index.js'
5
4
  export * as wait from './wait/index.js'
5
+ export * as duration from './duration/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as dates from './dates/index.js'
2
- export * as duration from './duration/index.js'
3
2
  export * as timeout from './timeout/index.js'
4
3
  export * as transitions from './transitions/index.js'
5
4
  export * as wait from './wait/index.js'
5
+ export * as duration from './duration/index.js'
@@ -25,7 +25,9 @@ type DirectionState = 'forwards' | 'backwards' | null;
25
25
  *
26
26
  * @property thresholdOffsetPercent - Optional percentage offset used to compute
27
27
  * the {@link IntersectionObserver} root margin. Determines how far into the viewport
28
- * a page must be before it is considered `'curr'`. Defaults to `0`.
28
+ * a page must be before it is considered `'curr'`. Defaults to `0`. Clamped to
29
+ * 0–100, with a `console.warn` naming the value received — outside that range the
30
+ * root margin is invalid and the observer would throw.
29
31
  *
30
32
  * @property onDirectionChanged - Called after the scroll direction changed, with
31
33
  * the new {@link DirectionState}. Repeated scrolls in the same direction do not
@@ -64,7 +66,10 @@ export type Props = PropsWithChildren<WithClassName<{
64
66
  * when the direction actually changes, using an internal ref to avoid stale
65
67
  * closure comparisons.
66
68
  * - Page visibility is tracked via a single {@link IntersectionObserver} instance
67
- * that is recreated when `thresholdOffsetPercent` or `children` change.
69
+ * that is recreated when `thresholdOffsetPercent` or the **number** of children
70
+ * changes. Not on `children` itself: a parent building its child list inline hands
71
+ * over a new array on every render, which would tear down and rebuild one observer
72
+ * per page each time, for nothing.
68
73
  * - `currCount` on each {@link PageState} increments each time a page transitions
69
74
  * into the `'curr'` position, making it useful as a re-entry counter.
70
75
  */
@@ -4,6 +4,18 @@ import { clss } from '../../agnostic/css/clss/index.js';
4
4
  import { mergeClassNames, useChangeDispatch } from '../utils/index.js';
5
5
  import { paginator as publicClassName } from '../public-classnames.js';
6
6
  import cssModule from './styles.module.css';
7
+ /**
8
+ * Brings `thresholdOffsetPercent` back into the 0–100 range `rootMargin` accepts.
9
+ *
10
+ * Outside it the margin comes out as `--20%`, which the `IntersectionObserver`
11
+ * constructor rejects by throwing — taking the whole component down with it over a
12
+ * single setting. A non-finite value falls back to `0` for the same reason.
13
+ */
14
+ function toThresholdPercent(percent) {
15
+ if (percent === undefined || !Number.isFinite(percent))
16
+ return 0;
17
+ return Math.min(100, Math.max(0, percent));
18
+ }
7
19
  /**
8
20
  * A scroll-driven pagination component that tracks which child page is currently
9
21
  * visible in the viewport and the direction of scroll.
@@ -23,7 +35,10 @@ import cssModule from './styles.module.css';
23
35
  * when the direction actually changes, using an internal ref to avoid stale
24
36
  * closure comparisons.
25
37
  * - Page visibility is tracked via a single {@link IntersectionObserver} instance
26
- * that is recreated when `thresholdOffsetPercent` or `children` change.
38
+ * that is recreated when `thresholdOffsetPercent` or the **number** of children
39
+ * changes. Not on `children` itself: a parent building its child list inline hands
40
+ * over a new array on every render, which would tear down and rebuild one observer
41
+ * per page each time, for nothing.
27
42
  * - `currCount` on each {@link PageState} increments each time a page transitions
28
43
  * into the `'curr'` position, making it useful as a re-entry counter.
29
44
  */
@@ -33,6 +48,20 @@ export const Paginator = ({ thresholdOffsetPercent, onDirectionChanged, onPagesC
33
48
  const [directionState, setDirectionState] = useState(null);
34
49
  const pagesRef = useRef(null);
35
50
  const directionRef = useRef(null);
51
+ const childrenArr = Children.toArray(children);
52
+ const pagesCount = childrenArr.length;
53
+ const thresholdPercent = toThresholdPercent(thresholdOffsetPercent);
54
+ // Fx. dep. thresholdOffsetPercent, thresholdPercent - Says it once per offending
55
+ // value rather than on every render. Clamping without a word would turn a caller's
56
+ // bug into a scrolling glitch, hunted for somewhere else entirely.
57
+ useEffect(() => {
58
+ if (thresholdOffsetPercent === undefined)
59
+ return;
60
+ if (thresholdPercent === thresholdOffsetPercent)
61
+ return;
62
+ // eslint-disable-next-line no-console
63
+ console.warn('Paginator: thresholdOffsetPercent must be a number between 0 and 100, received', thresholdOffsetPercent, `— clamped to ${thresholdPercent}.`);
64
+ }, [thresholdOffsetPercent, thresholdPercent]);
36
65
  // State dispatch
37
66
  useChangeDispatch(pagesState, pages => onPagesChanged?.(Array
38
67
  .from(pages)
@@ -62,15 +91,24 @@ export const Paginator = ({ thresholdOffsetPercent, onDirectionChanged, onPagesC
62
91
  window.removeEventListener('resize', handleScroll);
63
92
  };
64
93
  }, []);
65
- // Detect active pages with Intersection Observer
94
+ // Fx. dep. pagesCount - The page slots are this component's own divs, reused as
95
+ // long as their number holds, so the set only changes when the count does.
66
96
  useEffect(() => {
67
97
  if (pagesRef.current === null)
68
98
  return;
69
99
  const pages = Array.from(pagesRef.current.children);
70
100
  onPageElementsChanged?.(pages.filter(page => page instanceof HTMLElement));
71
- const observerRootMargin = `-${thresholdOffsetPercent ?? 0}%`
101
+ }, [pagesCount]);
102
+ // Detect active pages with Intersection Observer
103
+ // Fx. dep. thresholdPercent, pagesCount - Same reasoning: rebuilding one observer
104
+ // per page on every render would cost a full measurement pass for an unchanged set.
105
+ useEffect(() => {
106
+ if (pagesRef.current === null)
107
+ return;
108
+ const pages = Array.from(pagesRef.current.children);
109
+ const observerRootMargin = `-${thresholdPercent}%`
72
110
  + ' 0px'
73
- + ` -${100 - (thresholdOffsetPercent ?? 0)}%`
111
+ + ` -${100 - thresholdPercent}%`
74
112
  + ' 0px';
75
113
  const observer = new IntersectionObserver(entries => {
76
114
  setPagesState(prevState => {
@@ -100,7 +138,7 @@ export const Paginator = ({ thresholdOffsetPercent, onDirectionChanged, onPagesC
100
138
  observer.observe(page);
101
139
  });
102
140
  return () => observer.disconnect();
103
- }, [thresholdOffsetPercent, children]);
141
+ }, [thresholdPercent, pagesCount]);
104
142
  // Rendering
105
143
  const c = clss(publicClassName, { cssModule });
106
144
  const rootClss = mergeClassNames(c(null, {
@@ -108,7 +146,6 @@ export const Paginator = ({ thresholdOffsetPercent, onDirectionChanged, onPagesC
108
146
  backwards: directionState === 'backwards'
109
147
  }), className);
110
148
  const pagesClss = c('pages');
111
- const childrenArr = Children.toArray(children);
112
149
  return _jsx("div", { className: rootClss, children: _jsx("div", { className: pagesClss, ref: pagesRef, children: childrenArr.map((child, pos) => {
113
150
  const state = pagesState.get(pos);
114
151
  const pageClss = c('page', {
@@ -38,7 +38,9 @@ type TrackData = {
38
38
  * @property loudBtnContent - React content for the "loud" (unmute) button.
39
39
  * @property muteBtnContent - React content for the mute button.
40
40
  * @property fullscreenBtnContent - React content for the fullscreen button.
41
- * @property play - External control of play state (true = play, false = pause).
41
+ * @property play - Whether the media should be playing. A **request**, not a
42
+ * setting: a browser holds a veto over playback — an unmuted media outside a user
43
+ * gesture is refused — so this prop asks, and `onIsPlayingChanged` answers.
42
44
  * @property fullscreen - External control of fullscreen mode.
43
45
  * @property volume - External control of volume (0 to 1).
44
46
  * @property mute - External control of mute (true = muted).
@@ -67,7 +69,10 @@ type TrackData = {
67
69
  * @property onTimelineClicked - Called when the timeline is clicked, before the
68
70
  * component reacts, with the target and current times (in seconds). The component
69
71
  * seeks to the target right after, unless the time is controlled.
70
- * @property onIsPlayingChanged - Called once the playback state has changed.
72
+ * @property onIsPlayingChanged - Called with what the **element** is doing, not
73
+ * with what `play` asked for. It is how a refused play surfaces, that being the one
74
+ * case where nothing else does: the promise rejects, no event fires, and without
75
+ * this a parent would go on believing a media that never started. Never on mount.
71
76
  * @property onIsFullscreenChanged - Called once the fullscreen state has changed.
72
77
  * @property onIsEndedChanged - Called after playback reached the end, and again
73
78
  * once it left it — a seek back or a new play. Never on mount.
@@ -59,6 +59,10 @@ export const ControlledVideo = ({ sources, tracks, subtitles, playBtnContent, pa
59
59
  // element, and the two events that turn it on and off are joined by a sync on
60
60
  // every time update, which covers a seek away from the end.
61
61
  const [isEnded, setIsEnded] = useState(false);
62
+ // What the element is actually doing, as opposed to what `play` asked for. The
63
+ // two part ways whenever a browser refuses a play, which it does without firing
64
+ // anything — see `forcePlay`.
65
+ const [isElementPlaying, setIsElementPlaying] = useState(false);
62
66
  const isTimeControlled = givenCurrentTimeMs !== undefined;
63
67
  // The parent owns the time as soon as it provides one, so that is what gets
64
68
  // displayed — not what the element reported one render later.
@@ -92,12 +96,18 @@ export const ControlledVideo = ({ sources, tracks, subtitles, playBtnContent, pa
92
96
  }, [intrinsicVideoAttributes.onTimeUpdate]);
93
97
  const handleEndedEvent = useCallback((e) => {
94
98
  setIsEnded(true);
99
+ setIsElementPlaying(false);
95
100
  intrinsicVideoAttributes.onEnded?.(e);
96
101
  }, [intrinsicVideoAttributes.onEnded]);
97
102
  const handlePlayEvent = useCallback((e) => {
98
103
  setIsEnded(false);
104
+ setIsElementPlaying(true);
99
105
  intrinsicVideoAttributes.onPlay?.(e);
100
106
  }, [intrinsicVideoAttributes.onPlay]);
107
+ const handlePauseEvent = useCallback((e) => {
108
+ setIsElementPlaying(false);
109
+ intrinsicVideoAttributes.onPause?.(e);
110
+ }, [intrinsicVideoAttributes.onPause]);
101
111
  // Custom action handlers
102
112
  const handlePlayButtonClick = useCallback((e) => {
103
113
  const wasPlaying = videoRef.current?.paused === false;
@@ -239,12 +249,18 @@ export const ControlledVideo = ({ sources, tracks, subtitles, playBtnContent, pa
239
249
  void forcePause(videoRef.current);
240
250
  return;
241
251
  }
242
- if (play === true) {
243
- void forcePlay(videoRef.current);
244
- }
245
- else {
252
+ if (play !== true) {
246
253
  void forcePause(videoRef.current);
254
+ return;
247
255
  }
256
+ let isCurrent = true;
257
+ void forcePlay(videoRef.current).then(isNowPlaying => {
258
+ // A refused play fires nothing, so without this the component would go on
259
+ // believing a media that never started.
260
+ if (isCurrent && !isNowPlaying)
261
+ setIsElementPlaying(false);
262
+ });
263
+ return () => { isCurrent = false; };
248
264
  }, [play, isTimeControlled]);
249
265
  useEffect(() => {
250
266
  forceVolume(videoRef.current, volume);
@@ -276,13 +292,13 @@ export const ControlledVideo = ({ sources, tracks, subtitles, playBtnContent, pa
276
292
  }, [onFullscreenChange]);
277
293
  // State handlers
278
294
  useChangeDispatch(currentTimeMs, onCurrentTimeMsChanged);
279
- useChangeDispatch(isPlaying, onIsPlayingChanged);
295
+ useChangeDispatch(isElementPlaying, onIsPlayingChanged);
280
296
  useChangeDispatch(isFullscreen, onIsFullscreenChanged);
281
297
  useChangeDispatch(isLoud, onIsLoudChanged);
282
298
  useChangeDispatch(isEnded, onIsEndedChanged);
283
299
  useChangeDispatch(volume, onVolumeChanged);
284
300
  useChangeDispatch(playbackRate, onPlaybackRateChanged);
285
- return _jsxs("figure", { className: rootClss, style: rootStyles, ...rootAttributes, children: [_jsxs("video", { ref: videoRef, className: videoClss, ...intrinsicVideoAttributes, autoPlay: isTimeControlled ? false : intrinsicVideoAttributes.autoPlay, onLoadedMetadata: handleMetadataLoadEvent, onTimeUpdate: handleOnTimeUpdateEvent, onEnded: handleEndedEvent, onPlay: handlePlayEvent, children: [parsedSources.map((source, index) => typeof source === 'string'
301
+ return _jsxs("figure", { className: rootClss, style: rootStyles, ...rootAttributes, children: [_jsxs("video", { ref: videoRef, className: videoClss, ...intrinsicVideoAttributes, autoPlay: isTimeControlled ? false : intrinsicVideoAttributes.autoPlay, onLoadedMetadata: handleMetadataLoadEvent, onTimeUpdate: handleOnTimeUpdateEvent, onEnded: handleEndedEvent, onPlay: handlePlayEvent, onPause: handlePauseEvent, children: [parsedSources.map((source, index) => typeof source === 'string'
286
302
  ? _jsx("source", { src: source }, index)
287
303
  : _jsx("source", { src: source.src, type: source.type }, index)), parsedTracks.map((track, index) => typeof track === 'string'
288
304
  ? _jsx("track", { src: track }, index)
@@ -74,8 +74,10 @@ export type Props = WithViewportObservation<Omit<ControlledProps, 'play' | 'full
74
74
  * behaviour is the same as setting the `…When…` one alone.
75
75
  *
76
76
  * Browsers refuse an unmuted `play()` outside a user gesture, so pairing an
77
- * `autoLoud…` with an `autoPlay…` will usually have the playback rejected: the
78
- * element stays paused while the controls believe otherwise. Autoplay muted, and
79
- * leave unmuting to the reader.
77
+ * `autoLoud…` with an `autoPlay…` will usually have the playback rejected. The
78
+ * refusal is caught rather than ignored — the element is read back once the attempt
79
+ * settles, and the play state follows what it says — so the controls stay truthful.
80
+ * The media still won't play, though: autoplay muted, and leave unmuting to the
81
+ * reader.
80
82
  */
81
83
  export declare const Video: FunctionComponent<Props>;
@@ -35,9 +35,11 @@ import { ControlledVideo } from './index.controlled.js';
35
35
  * behaviour is the same as setting the `…When…` one alone.
36
36
  *
37
37
  * Browsers refuse an unmuted `play()` outside a user gesture, so pairing an
38
- * `autoLoud…` with an `autoPlay…` will usually have the playback rejected: the
39
- * element stays paused while the controls believe otherwise. Autoplay muted, and
40
- * leave unmuting to the reader.
38
+ * `autoLoud…` with an `autoPlay…` will usually have the playback rejected. The
39
+ * refusal is caught rather than ignored — the element is read back once the attempt
40
+ * settles, and the play state follows what it says — so the controls stay truthful.
41
+ * The media still won't play, though: autoplay muted, and leave unmuting to the
42
+ * reader.
41
43
  */
42
44
  export const Video = ({ loop, autoPlayWhenVisible, autoPlayOnceVisible, autoPauseWhenHidden, autoPauseOnceHidden, autoMuteWhenHidden, autoMuteOnceHidden, autoLoudWhenVisible, autoLoudOnceVisible, threshold, root, rootMargin, onVisibilityChanged, wrapperClassName, onPlayButtonClicked, onPauseButtonClicked, onLoudButtonClicked, onMuteButtonClicked, onVolumeRangeChanged, onRateRangeChanged, onFullscreenButtonClicked, ...controlledProps }) => {
43
45
  // State & refs
@@ -87,6 +89,14 @@ export const Video = ({ loop, autoPlayWhenVisible, autoPlayOnceVisible, autoPaus
87
89
  setPlay(false);
88
90
  controlledProps.onPause?.(e);
89
91
  }, [controlledProps.onPause]);
92
+ // The element's own account of whether it is playing. It covers what the `play`
93
+ // and `pause` events do, plus the one case they can't: a play the browser refused,
94
+ // which fires nothing at all. Without it the controls would stay on `--play-on`
95
+ // over a media that never started.
96
+ const handleIsPlayingChanged = useCallback((isPlaying) => {
97
+ setPlay(isPlaying);
98
+ controlledProps.onIsPlayingChanged?.(isPlaying);
99
+ }, [controlledProps.onIsPlayingChanged]);
90
100
  const handleOnVolumeChangeEvent = useCallback((e) => {
91
101
  setMute(e.currentTarget.muted);
92
102
  setVolume(e.currentTarget.volume);
@@ -178,7 +188,7 @@ export const Video = ({ loop, autoPlayWhenVisible, autoPlayOnceVisible, autoPaus
178
188
  // Render
179
189
  const c = clss(publicClassName, { cssModule });
180
190
  const rootClss = mergeClassNames(c(), wrapperClassName);
181
- const videoContent = _jsx(ControlledVideo, { ...controlledProps, play: play && !isTimeControlled, volume: volume, mute: mute, playbackRate: playbackRate, fullscreen: fullscreen, onPlay: handleOnPlayEvent, onPause: handleOnPauseEvent, onVolumeChange: handleOnVolumeChangeEvent, onRateChange: handleOnRateChangeEvent, onLoadedMetadata: handleOnLoadedMetadataEvent, onFullscreenChange: handleFullscreenChange, onPlayButtonClicked: handlePlayButtonClick, onPauseButtonClicked: handlePauseButtonClick, onLoudButtonClicked: handleLoudButtonClick, onMuteButtonClicked: handleMuteButtonClick, onVolumeRangeChanged: handleVolumeRangeChange, onRateRangeChanged: handleRateRangeChange, onFullscreenButtonClicked: handleFullscreenButtonClick });
191
+ const videoContent = _jsx(ControlledVideo, { ...controlledProps, play: play && !isTimeControlled, volume: volume, mute: mute, playbackRate: playbackRate, fullscreen: fullscreen, onPlay: handleOnPlayEvent, onPause: handleOnPauseEvent, onIsPlayingChanged: handleIsPlayingChanged, onVolumeChange: handleOnVolumeChangeEvent, onRateChange: handleOnRateChangeEvent, onLoadedMetadata: handleOnLoadedMetadataEvent, onFullscreenChange: handleFullscreenChange, onPlayButtonClicked: handlePlayButtonClick, onPauseButtonClicked: handlePauseButtonClick, onLoudButtonClicked: handleLoudButtonClick, onMuteButtonClicked: handleMuteButtonClick, onVolumeRangeChanged: handleVolumeRangeChange, onRateRangeChanged: handleRateRangeChange, onFullscreenButtonClicked: handleFullscreenButtonClick });
182
192
  return _jsx("div", { className: rootClss, children: needsObserve
183
193
  ? _jsx(IntersectionObserverComponent, { threshold: threshold, root: root, rootMargin: rootMargin, onIntersected: onIntersected, children: videoContent })
184
194
  : videoContent });
@@ -2,6 +2,17 @@ export declare const muteAttributeWorkaround: (video: HTMLVideoElement | null, s
2
2
  export declare const forceMute: (video: HTMLVideoElement | null) => void;
3
3
  export declare const forceLoud: (video: HTMLVideoElement | null) => void;
4
4
  export declare const forceVolume: (video: HTMLVideoElement | null, volume: number) => void;
5
+ /**
6
+ * Asks the element to play, and reports what came of it.
7
+ *
8
+ * A browser may refuse — an unmuted media outside a user gesture, typically — and
9
+ * it refuses **silently**: the promise rejects and no event fires, so this is the
10
+ * only moment the outcome can be known. Hence the return value, and hence no
11
+ * logging: a refusal is not an anomaly to print, it is an answer to hand back.
12
+ *
13
+ * @param video - The element, or `null` before it mounts.
14
+ * @returns Whether it is playing now.
15
+ */
5
16
  export declare const forcePlay: (video: HTMLVideoElement | null) => Promise<boolean>;
6
17
  export declare const forcePause: (video: HTMLVideoElement | null) => boolean;
7
18
  export declare const forcePlaybackRate: (video: HTMLVideoElement | null, rate: number) => void;
@@ -28,6 +28,17 @@ export const forceVolume = (video, volume) => {
28
28
  // eslint-disable-next-line no-param-reassign
29
29
  video.volume = volume;
30
30
  };
31
+ /**
32
+ * Asks the element to play, and reports what came of it.
33
+ *
34
+ * A browser may refuse — an unmuted media outside a user gesture, typically — and
35
+ * it refuses **silently**: the promise rejects and no event fires, so this is the
36
+ * only moment the outcome can be known. Hence the return value, and hence no
37
+ * logging: a refusal is not an anomaly to print, it is an answer to hand back.
38
+ *
39
+ * @param video - The element, or `null` before it mounts.
40
+ * @returns Whether it is playing now.
41
+ */
31
42
  export const forcePlay = async (video) => {
32
43
  if (video === null)
33
44
  return false;
@@ -35,13 +46,11 @@ export const forcePlay = async (video) => {
35
46
  return true;
36
47
  try {
37
48
  await video.play();
38
- return video.paused;
39
49
  }
40
- catch (e) {
41
- // eslint-disable-next-line no-console
42
- console.error(e);
50
+ catch (err) {
51
+ // The refusal itself is the information, and it is in `video.paused` below.
43
52
  }
44
- return false;
53
+ return !video.paused;
45
54
  };
46
55
  export const forcePause = (video) => {
47
56
  if (video === null)
@@ -10,16 +10,16 @@ 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
12
  export * as jsonEditor from './JsonEditor/index.js'
13
- export * as overlayer from './Overlayer/index.js'
14
13
  export * as listLoader from './ListLoader/index.js'
15
- export * as scrollListener from './ScrollListener/index.js'
14
+ export * as overlayer from './Overlayer/index.js'
16
15
  export * as paginator from './Paginator/index.js'
17
- export * as sequencer from './Sequencer/index.js'
18
- export * as select from './Select/index.js'
16
+ export * as resizeObserver from './ResizeObserver/index.js'
19
17
  export * as scrllgngn from './Scrllgngn/index.js'
18
+ export * as scrollListener from './ScrollListener/index.js'
19
+ export * as select from './Select/index.js'
20
+ export * as sequencer from './Sequencer/index.js'
20
21
  export * as shadowRoot from './ShadowRoot/index.js'
21
22
  export * as subtitles from './Subtitles/index.js'
22
- export * as resizeObserver from './ResizeObserver/index.js'
23
23
  export * as textarea from './Textarea/index.js'
24
24
  export * as theatre from './Theatre/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
@@ -10,16 +10,16 @@ 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
12
  export * as jsonEditor from './JsonEditor/index.js'
13
- export * as overlayer from './Overlayer/index.js'
14
13
  export * as listLoader from './ListLoader/index.js'
15
- export * as scrollListener from './ScrollListener/index.js'
14
+ export * as overlayer from './Overlayer/index.js'
16
15
  export * as paginator from './Paginator/index.js'
17
- export * as sequencer from './Sequencer/index.js'
18
- export * as select from './Select/index.js'
16
+ export * as resizeObserver from './ResizeObserver/index.js'
19
17
  export * as scrllgngn from './Scrllgngn/index.js'
18
+ export * as scrollListener from './ScrollListener/index.js'
19
+ export * as select from './Select/index.js'
20
+ export * as sequencer from './Sequencer/index.js'
20
21
  export * as shadowRoot from './ShadowRoot/index.js'
21
22
  export * as subtitles from './Subtitles/index.js'
22
- export * as resizeObserver from './ResizeObserver/index.js'
23
23
  export * as textarea from './Textarea/index.js'
24
24
  export * as theatre from './Theatre/index.js'
25
25
  export * as uiModule from './UIModule/index.js'
package/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * as agnostic from './agnostic/index.js'
2
- export * as node from './node/index.js'
3
2
  export * as components from './components/index.js'
3
+ export * as node from './node/index.js'
package/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export * as agnostic from './agnostic/index.js'
2
- export * as node from './node/index.js'
3
2
  export * as components from './components/index.js'
3
+ export * as node from './node/index.js'
@@ -1,7 +1,7 @@
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 move from './move/index.js'
4
5
  export * as remove from './remove/index.js'
5
6
  export * as stat from './stat/index.js'
6
- export * as move from './move/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,7 +1,7 @@
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 move from './move/index.js'
4
5
  export * as remove from './remove/index.js'
5
6
  export * as stat from './stat/index.js'
6
- export * as move from './move/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,4 +1,4 @@
1
- export * as list from './list/index.js'
2
1
  export * as copyDir from './copy-dir/index.js'
2
+ export * as list from './list/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 list from './list/index.js'
2
1
  export * as copyDir from './copy-dir/index.js'
2
+ export * as list from './list/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'
2
3
  export * as exists from './exists/index.js'
3
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
4
5
  export * as getMetadata from './get-metadata/index.js'
5
6
  export * as getPermissions from './get-permissions/index.js'
6
7
  export * as move from './move/index.js'
7
- export * as download from './download/index.js'
8
8
  export * as remove from './remove/index.js'
9
- export * as stat from './stat/index.js'
10
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
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'
2
3
  export * as exists from './exists/index.js'
3
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
4
5
  export * as getMetadata from './get-metadata/index.js'
5
6
  export * as getPermissions from './get-permissions/index.js'
6
7
  export * as move from './move/index.js'
7
- export * as download from './download/index.js'
8
8
  export * as remove from './remove/index.js'
9
- export * as stat from './stat/index.js'
10
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
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,11 +1,11 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
- export * as copyFile from './copy-file/index.js'
3
2
  export * as downloadFile from './download-file/index.js'
3
+ export * as copyFile from './copy-file/index.js'
4
4
  export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
- export * as moveFile from './move-file/index.js'
7
6
  export * as moveDir from './move-dir/index.js'
8
7
  export * as removeDir from './remove-dir/index.js'
8
+ export * as moveFile from './move-file/index.js'
9
9
  export * as removeFile from './remove-file/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -1,11 +1,11 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
- export * as copyFile from './copy-file/index.js'
3
2
  export * as downloadFile from './download-file/index.js'
3
+ export * as copyFile from './copy-file/index.js'
4
4
  export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
- export * as moveFile from './move-file/index.js'
7
6
  export * as moveDir from './move-dir/index.js'
8
7
  export * as removeDir from './remove-dir/index.js'
8
+ export * as moveFile from './move-file/index.js'
9
9
  export * as removeFile from './remove-file/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -1,5 +1,5 @@
1
+ export * as create from './create/index.js'
1
2
  export * as format from './format/index.js'
2
3
  export * as metadata from './metadata/index.js'
3
4
  export * as transform from './transform/index.js'
4
5
  export * as utils from './utils/index.js'
5
- export * as create from './create/index.js'
@@ -1,5 +1,5 @@
1
+ export * as create from './create/index.js'
1
2
  export * as format from './format/index.js'
2
3
  export * as metadata from './metadata/index.js'
3
4
  export * as transform from './transform/index.js'
4
5
  export * as utils from './utils/index.js'
5
- export * as create from './create/index.js'
@@ -1,15 +1,15 @@
1
- export * as brighten from './brighten/index.js'
2
1
  export * as blur from './blur/index.js'
3
2
  export * as extend from './extend/index.js'
4
- export * as flatten from './flatten/index.js'
3
+ export * as brighten from './brighten/index.js'
5
4
  export * as extract from './extract/index.js'
5
+ export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
7
7
  export * as flop from './flop/index.js'
8
8
  export * as level from './level/index.js'
9
9
  export * as hue from './hue/index.js'
10
- export * as normalize from './normalize/index.js'
11
10
  export * as lighten from './lighten/index.js'
11
+ export * as normalize from './normalize/index.js'
12
12
  export * as overlay from './overlay/index.js'
13
13
  export * as resize from './resize/index.js'
14
- export * as saturate from './saturate/index.js'
15
14
  export * as rotate from './rotate/index.js'
15
+ export * as saturate from './saturate/index.js'
@@ -1,15 +1,15 @@
1
- export * as brighten from './brighten/index.js'
2
1
  export * as blur from './blur/index.js'
3
2
  export * as extend from './extend/index.js'
4
- export * as flatten from './flatten/index.js'
3
+ export * as brighten from './brighten/index.js'
5
4
  export * as extract from './extract/index.js'
5
+ export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
7
7
  export * as flop from './flop/index.js'
8
8
  export * as level from './level/index.js'
9
9
  export * as hue from './hue/index.js'
10
- export * as normalize from './normalize/index.js'
11
10
  export * as lighten from './lighten/index.js'
11
+ export * as normalize from './normalize/index.js'
12
12
  export * as overlay from './overlay/index.js'
13
13
  export * as resize from './resize/index.js'
14
- export * as saturate from './saturate/index.js'
15
14
  export * as rotate from './rotate/index.js'
15
+ export * as saturate from './saturate/index.js'
package/node/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
- export * as designEdito from './@design-edito/index.js'
3
2
  export * as express from './@express/index.js'
3
+ export * as designEdito from './@design-edito/index.js'
4
4
  export * as googleCloud from './@google-cloud/index.js'
5
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'
9
- export * as images from './images/index.js'
10
9
  export * as process from './process/index.js'
10
+ export * as images from './images/index.js'
11
11
  export * as sftp from './sftp/index.js'
package/node/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
- export * as designEdito from './@design-edito/index.js'
3
2
  export * as express from './@express/index.js'
3
+ export * as designEdito from './@design-edito/index.js'
4
4
  export * as googleCloud from './@google-cloud/index.js'
5
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'
9
- export * as images from './images/index.js'
10
9
  export * as process from './process/index.js'
10
+ export * as images from './images/index.js'
11
11
  export * as sftp from './sftp/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.5.8",
3
+ "version": "0.5.9",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",