@design-edito/tools 0.5.22 → 0.5.24

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 (49) hide show
  1. package/agnostic/arrays/index.d.ts +3 -3
  2. package/agnostic/arrays/index.js +3 -3
  3. package/agnostic/colors/index.d.ts +2 -2
  4. package/agnostic/colors/index.js +2 -2
  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 +13 -13
  8. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +13 -13
  9. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +2 -2
  10. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +2 -2
  11. package/agnostic/index.d.ts +4 -4
  12. package/agnostic/index.js +4 -4
  13. package/agnostic/misc/index.d.ts +3 -3
  14. package/agnostic/misc/index.js +3 -3
  15. package/agnostic/numbers/index.d.ts +1 -1
  16. package/agnostic/numbers/index.js +1 -1
  17. package/agnostic/objects/index.d.ts +3 -3
  18. package/agnostic/objects/index.js +3 -3
  19. package/agnostic/random/index.d.ts +1 -1
  20. package/agnostic/random/index.js +1 -1
  21. package/agnostic/strings/index.d.ts +3 -3
  22. package/agnostic/strings/index.js +3 -3
  23. package/agnostic/time/dates/index.d.ts +1 -1
  24. package/agnostic/time/dates/index.js +1 -1
  25. package/agnostic/time/index.d.ts +1 -1
  26. package/agnostic/time/index.js +1 -1
  27. package/components/Sequencer/index.d.ts +41 -8
  28. package/components/Sequencer/index.js +120 -10
  29. package/components/Sequencer/types.d.ts +57 -0
  30. package/components/Sequencer/types.js +32 -0
  31. package/components/index.d.ts +3 -3
  32. package/components/index.js +3 -3
  33. package/node/@aws-s3/storage/file/index.d.ts +2 -2
  34. package/node/@aws-s3/storage/file/index.js +2 -2
  35. package/node/@google-cloud/storage/file/index.d.ts +3 -3
  36. package/node/@google-cloud/storage/file/index.js +3 -3
  37. package/node/@google-cloud/storage/index.d.ts +1 -1
  38. package/node/@google-cloud/storage/index.js +1 -1
  39. package/node/cloud-storage/operations/index.d.ts +1 -1
  40. package/node/cloud-storage/operations/index.js +1 -1
  41. package/node/ftps/file/index.d.ts +1 -1
  42. package/node/ftps/file/index.js +1 -1
  43. package/node/index.d.ts +1 -1
  44. package/node/index.js +1 -1
  45. package/node/sftp/file/index.d.ts +2 -2
  46. package/node/sftp/file/index.js +2 -2
  47. package/node/sftp/index.d.ts +1 -1
  48. package/node/sftp/index.js +1 -1
  49. package/package.json +5 -1
@@ -1,6 +1,6 @@
1
- export * as dedupe from './dedupe/index.js'
2
- export * as findDuplicates from './find-duplicates/index.js'
3
1
  export * as isArrayOf from './is-array-of/index.js'
2
+ export * as findDuplicates from './find-duplicates/index.js'
3
+ export * as make from './make/index.js'
4
4
  export * as randomPick from './random-pick/index.js'
5
5
  export * as shuffle from './shuffle/index.js'
6
- export * as make from './make/index.js'
6
+ export * as dedupe from './dedupe/index.js'
@@ -1,6 +1,6 @@
1
- export * as dedupe from './dedupe/index.js'
2
- export * as findDuplicates from './find-duplicates/index.js'
3
1
  export * as isArrayOf from './is-array-of/index.js'
2
+ export * as findDuplicates from './find-duplicates/index.js'
3
+ export * as make from './make/index.js'
4
4
  export * as randomPick from './random-pick/index.js'
5
5
  export * as shuffle from './shuffle/index.js'
6
- export * as make from './make/index.js'
6
+ export * as dedupe from './dedupe/index.js'
@@ -1,10 +1,10 @@
1
- export * as channels from './channels/index.js'
1
+ export * as contrast from './contrast/index.js'
2
2
  export * as convert from './convert/index.js'
3
+ export * as channels from './channels/index.js'
3
4
  export * as distance from './distance/index.js'
4
5
  export * as grayscale from './grayscale/index.js'
5
6
  export * as invert from './invert/index.js'
6
7
  export * as lerp from './lerp/index.js'
7
- export * as contrast from './contrast/index.js'
8
8
  export * as luminance from './luminance/index.js'
9
9
  export * as palette from './palette/index.js'
10
10
  export * as rotate from './rotate/index.js'
@@ -1,10 +1,10 @@
1
- export * as channels from './channels/index.js'
1
+ export * as contrast from './contrast/index.js'
2
2
  export * as convert from './convert/index.js'
3
+ export * as channels from './channels/index.js'
3
4
  export * as distance from './distance/index.js'
4
5
  export * as grayscale from './grayscale/index.js'
5
6
  export * as invert from './invert/index.js'
6
7
  export * as lerp from './lerp/index.js'
7
- export * as contrast from './contrast/index.js'
8
8
  export * as luminance from './luminance/index.js'
9
9
  export * as palette from './palette/index.js'
10
10
  export * as rotate from './rotate/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as bem from './bem/index.js'
2
2
  export * as clss from './clss/index.js'
3
3
  export * as generateNiceColor from './generate-nice-color/index.js'
4
- export * as isValidCssClassName from './is-valid-css-class-name/index.js'
5
4
  export * as scale from './scale/index.js'
5
+ export * as isValidCssClassName from './is-valid-css-class-name/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
2
  export * as clss from './clss/index.js'
3
3
  export * as generateNiceColor from './generate-nice-color/index.js'
4
- export * as isValidCssClassName from './is-valid-css-class-name/index.js'
5
4
  export * as scale from './scale/index.js'
5
+ export * as isValidCssClassName from './is-valid-css-class-name/index.js'
6
6
  export * as stylesSet from './styles-set/index.js'
@@ -2,32 +2,32 @@ export * as add from './add/index.js'
2
2
  export * as addclass from './addclass/index.js'
3
3
  export * as and from './and/index.js'
4
4
  export * as append from './append/index.js'
5
- export * as clone from './clone/index.js'
6
- export * as call from './call/index.js'
7
5
  export * as at from './at/index.js'
6
+ export * as call from './call/index.js'
7
+ export * as clone from './clone/index.js'
8
8
  export * as deleteproperties from './deleteproperties/index.js'
9
- export * as equals from './equals/index.js'
10
- export * as getproperties from './getproperties/index.js'
11
9
  export * as getattribute from './getattribute/index.js'
10
+ export * as getproperties from './getproperties/index.js'
12
11
  export * as getproperty from './getproperty/index.js'
13
12
  export * as hjparse from './hjparse/index.js'
13
+ export * as equals from './equals/index.js'
14
14
  export * as hjstringify from './hjstringify/index.js'
15
15
  export * as if from './if/index.js'
16
- export * as join from './join/index.js'
16
+ export * as initialize from './initialize/index.js'
17
17
  export * as length from './length/index.js'
18
- export * as negate from './negate/index.js'
18
+ export * as join from './join/index.js'
19
19
  export * as map from './map/index.js'
20
+ export * as negate from './negate/index.js'
20
21
  export * as notrailing from './notrailing/index.js'
21
22
  export * as or from './or/index.js'
22
23
  export * as pickrandom from './pickrandom/index.js'
23
24
  export * as populate from './populate/index.js'
24
- export * as initialize from './initialize/index.js'
25
- export * as push from './push/index.js'
26
25
  export * as print from './print/index.js'
26
+ export * as push from './push/index.js'
27
27
  export * as pusheach from './pusheach/index.js'
28
+ export * as removeattribute from './removeattribute/index.js'
28
29
  export * as recordtoarray from './recordtoarray/index.js'
29
30
  export * as removeclass from './removeclass/index.js'
30
- export * as removeattribute from './removeattribute/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
32
32
  export * as replace from './replace/index.js'
33
33
  export * as select from './select/index.js'
@@ -36,17 +36,17 @@ 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
38
  export * as split from './split/index.js'
39
- export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
41
40
  export * as toboolean from './toboolean/index.js'
41
+ export * as spread from './spread/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 tonumber from './tonumber/index.js'
45
46
  export * as tonull from './tonull/index.js'
46
47
  export * as torecord from './torecord/index.js'
47
48
  export * as toref from './toref/index.js'
48
- export * as tonumber from './tonumber/index.js'
49
49
  export * as tostring from './tostring/index.js'
50
- export * as totext from './totext/index.js'
51
- export * as trim from './trim/index.js'
52
50
  export * as transformselected from './transformselected/index.js'
51
+ export * as trim from './trim/index.js'
52
+ export * as totext from './totext/index.js'
@@ -2,32 +2,32 @@ export * as add from './add/index.js'
2
2
  export * as addclass from './addclass/index.js'
3
3
  export * as and from './and/index.js'
4
4
  export * as append from './append/index.js'
5
- export * as clone from './clone/index.js'
6
- export * as call from './call/index.js'
7
5
  export * as at from './at/index.js'
6
+ export * as call from './call/index.js'
7
+ export * as clone from './clone/index.js'
8
8
  export * as deleteproperties from './deleteproperties/index.js'
9
- export * as equals from './equals/index.js'
10
- export * as getproperties from './getproperties/index.js'
11
9
  export * as getattribute from './getattribute/index.js'
10
+ export * as getproperties from './getproperties/index.js'
12
11
  export * as getproperty from './getproperty/index.js'
13
12
  export * as hjparse from './hjparse/index.js'
13
+ export * as equals from './equals/index.js'
14
14
  export * as hjstringify from './hjstringify/index.js'
15
15
  export * as if from './if/index.js'
16
- export * as join from './join/index.js'
16
+ export * as initialize from './initialize/index.js'
17
17
  export * as length from './length/index.js'
18
- export * as negate from './negate/index.js'
18
+ export * as join from './join/index.js'
19
19
  export * as map from './map/index.js'
20
+ export * as negate from './negate/index.js'
20
21
  export * as notrailing from './notrailing/index.js'
21
22
  export * as or from './or/index.js'
22
23
  export * as pickrandom from './pickrandom/index.js'
23
24
  export * as populate from './populate/index.js'
24
- export * as initialize from './initialize/index.js'
25
- export * as push from './push/index.js'
26
25
  export * as print from './print/index.js'
26
+ export * as push from './push/index.js'
27
27
  export * as pusheach from './pusheach/index.js'
28
+ export * as removeattribute from './removeattribute/index.js'
28
29
  export * as recordtoarray from './recordtoarray/index.js'
29
30
  export * as removeclass from './removeclass/index.js'
30
- export * as removeattribute from './removeattribute/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
32
32
  export * as replace from './replace/index.js'
33
33
  export * as select from './select/index.js'
@@ -36,17 +36,17 @@ 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
38
  export * as split from './split/index.js'
39
- export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
41
40
  export * as toboolean from './toboolean/index.js'
41
+ export * as spread from './spread/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 tonumber from './tonumber/index.js'
45
46
  export * as tonull from './tonull/index.js'
46
47
  export * as torecord from './torecord/index.js'
47
48
  export * as toref from './toref/index.js'
48
- export * as tonumber from './tonumber/index.js'
49
49
  export * as tostring from './tostring/index.js'
50
- export * as totext from './totext/index.js'
51
- export * as trim from './trim/index.js'
52
50
  export * as transformselected from './transformselected/index.js'
51
+ export * as trim from './trim/index.js'
52
+ export * as totext from './totext/index.js'
@@ -1,13 +1,13 @@
1
1
  export * as any from './any/index.js'
2
- export * as array from './array/index.js'
3
2
  export * as boolean from './boolean/index.js'
3
+ export * as array from './array/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
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as number from './number/index.js'
9
- export * as null from './null/index.js'
10
9
  export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
12
11
  export * as text from './text/index.js'
13
12
  export * as string from './string/index.js'
13
+ export * as null from './null/index.js'
@@ -1,13 +1,13 @@
1
1
  export * as any from './any/index.js'
2
- export * as array from './array/index.js'
3
2
  export * as boolean from './boolean/index.js'
3
+ export * as array from './array/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
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as number from './number/index.js'
9
- export * as null from './null/index.js'
10
9
  export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
12
11
  export * as text from './text/index.js'
13
12
  export * as string from './string/index.js'
13
+ export * as null from './null/index.js'
@@ -1,17 +1,17 @@
1
1
  export * as arrays from './arrays/index.js'
2
2
  export * as booleans from './booleans/index.js'
3
- export * as errors from './errors/index.js'
4
- export * as colors from './colors/index.js'
5
3
  export * as css from './css/index.js'
4
+ export * as colors from './colors/index.js'
6
5
  export * as html from './html/index.js'
6
+ export * as errors from './errors/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'
10
10
  export * as optim from './optim/index.js'
11
- export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
- export * as sanitization from './sanitization/index.js'
12
+ export * as random from './random/index.js'
14
13
  export * as strings from './strings/index.js'
14
+ export * as sanitization from './sanitization/index.js'
15
15
  export * as subtitles from './subtitles/index.js'
16
16
  export * as time from './time/index.js'
17
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
2
  export * as booleans from './booleans/index.js'
3
- export * as errors from './errors/index.js'
4
- export * as colors from './colors/index.js'
5
3
  export * as css from './css/index.js'
4
+ export * as colors from './colors/index.js'
6
5
  export * as html from './html/index.js'
6
+ export * as errors from './errors/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'
10
10
  export * as optim from './optim/index.js'
11
- export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
- export * as sanitization from './sanitization/index.js'
12
+ export * as random from './random/index.js'
14
13
  export * as strings from './strings/index.js'
14
+ export * as sanitization from './sanitization/index.js'
15
15
  export * as subtitles from './subtitles/index.js'
16
16
  export * as time from './time/index.js'
17
17
  export * as typescript from './typescript/index.js'
@@ -1,12 +1,12 @@
1
+ export * as assert from './assert/index.js'
1
2
  export * as cast from './cast/index.js'
2
3
  export * as connection from './connection/index.js'
3
4
  export * as crawler from './crawler/index.js'
4
- export * as crossenv from './crossenv/index.js'
5
5
  export * as dataSize from './data-size/index.js'
6
- export * as assert from './assert/index.js'
7
6
  export * as isConstructorFunction from './is-constructor-function/index.js'
8
7
  export * as isNullish from './is-nullish/index.js'
9
- export * as logs from './logs/index.js'
10
8
  export * as loremIpsum from './lorem-ipsum/index.js'
9
+ export * as logs from './logs/index.js'
11
10
  export * as normalizeExtension from './normalize-extension/index.js'
11
+ export * as crossenv from './crossenv/index.js'
12
12
  export * as outcome from './outcome/index.js'
@@ -1,12 +1,12 @@
1
+ export * as assert from './assert/index.js'
1
2
  export * as cast from './cast/index.js'
2
3
  export * as connection from './connection/index.js'
3
4
  export * as crawler from './crawler/index.js'
4
- export * as crossenv from './crossenv/index.js'
5
5
  export * as dataSize from './data-size/index.js'
6
- export * as assert from './assert/index.js'
7
6
  export * as isConstructorFunction from './is-constructor-function/index.js'
8
7
  export * as isNullish from './is-nullish/index.js'
9
- export * as logs from './logs/index.js'
10
8
  export * as loremIpsum from './lorem-ipsum/index.js'
9
+ export * as logs from './logs/index.js'
11
10
  export * as normalizeExtension from './normalize-extension/index.js'
11
+ export * as crossenv from './crossenv/index.js'
12
12
  export * as outcome from './outcome/index.js'
@@ -1,6 +1,6 @@
1
+ export * as absoluteModulo from './absolute-modulo/index.js'
1
2
  export * as approximateRational from './approximate-rational/index.js'
2
3
  export * as clamp from './clamp/index.js'
3
4
  export * as geometricProgressions from './geometric-progressions/index.js'
4
5
  export * as interpolate from './interpolate/index.js'
5
6
  export * as round from './round/index.js'
6
- export * as absoluteModulo from './absolute-modulo/index.js'
@@ -1,6 +1,6 @@
1
+ export * as absoluteModulo from './absolute-modulo/index.js'
1
2
  export * as approximateRational from './approximate-rational/index.js'
2
3
  export * as clamp from './clamp/index.js'
3
4
  export * as geometricProgressions from './geometric-progressions/index.js'
4
5
  export * as interpolate from './interpolate/index.js'
5
6
  export * as round from './round/index.js'
6
- export * as absoluteModulo from './absolute-modulo/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'
3
2
  export * as flattenGetters from './flatten-getters/index.js'
4
3
  export * as isObject from './is-object/index.js'
5
- export * as isRecord from './is-record/index.js'
6
4
  export * as recordFormat from './record-format/index.js'
7
- export * as sortKeys from './sort-keys/index.js'
5
+ export * as isRecord from './is-record/index.js'
8
6
  export * as recordMap from './record-map/index.js'
7
+ export * as sortKeys from './sort-keys/index.js'
9
8
  export * as validation from './validation/index.js'
9
+ export * as enums from './enums/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'
3
2
  export * as flattenGetters from './flatten-getters/index.js'
4
3
  export * as isObject from './is-object/index.js'
5
- export * as isRecord from './is-record/index.js'
6
4
  export * as recordFormat from './record-format/index.js'
7
- export * as sortKeys from './sort-keys/index.js'
5
+ export * as isRecord from './is-record/index.js'
8
6
  export * as recordMap from './record-map/index.js'
7
+ export * as sortKeys from './sort-keys/index.js'
9
8
  export * as validation from './validation/index.js'
9
+ export * as enums from './enums/index.js'
@@ -1,3 +1,3 @@
1
+ export * as hexChar from './hex-char/index.js'
1
2
  export * as random from './random/index.js'
2
3
  export * as uuid from './uuid/index.js'
3
- export * as hexChar from './hex-char/index.js'
@@ -1,3 +1,3 @@
1
+ export * as hexChar from './hex-char/index.js'
1
2
  export * as random from './random/index.js'
2
3
  export * as uuid from './uuid/index.js'
3
- export * as hexChar from './hex-char/index.js'
@@ -1,8 +1,8 @@
1
1
  export * as charCodes from './char-codes/index.js'
2
- export * as parseTable from './parse-table/index.js'
3
- export * as normalizeIndent from './normalize-indent/index.js'
4
2
  export * as matches from './matches/index.js'
3
+ export * as parseTable from './parse-table/index.js'
5
4
  export * as replaceAll from './replace-all/index.js'
5
+ export * as normalizeIndent from './normalize-indent/index.js'
6
6
  export * as splitTrim from './split-trim/index.js'
7
- export * as trim from './trim/index.js'
8
7
  export * as toAlphanum from './to-alphanum/index.js'
8
+ export * as trim from './trim/index.js'
@@ -1,8 +1,8 @@
1
1
  export * as charCodes from './char-codes/index.js'
2
- export * as parseTable from './parse-table/index.js'
3
- export * as normalizeIndent from './normalize-indent/index.js'
4
2
  export * as matches from './matches/index.js'
3
+ export * as parseTable from './parse-table/index.js'
5
4
  export * as replaceAll from './replace-all/index.js'
5
+ export * as normalizeIndent from './normalize-indent/index.js'
6
6
  export * as splitTrim from './split-trim/index.js'
7
- export * as trim from './trim/index.js'
8
7
  export * as toAlphanum from './to-alphanum/index.js'
8
+ export * as trim from './trim/index.js'
@@ -1,2 +1,2 @@
1
- export * as formatDate from './format-date/index.js'
2
1
  export * as toFrenchRepublican from './to-french-republican/index.js'
2
+ export * as formatDate from './format-date/index.js'
@@ -1,2 +1,2 @@
1
- export * as formatDate from './format-date/index.js'
2
1
  export * as toFrenchRepublican from './to-french-republican/index.js'
2
+ export * as formatDate from './format-date/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as duration from './duration/index.js'
2
- export * as dates from './dates/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 dates from './dates/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as duration from './duration/index.js'
2
- export * as dates from './dates/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 dates from './dates/index.js'
@@ -1,5 +1,7 @@
1
1
  import { type FunctionComponent, type PropsWithChildren } from 'react';
2
2
  import type { WithClassName } from '../utils/types.js';
3
+ import type { ViewportBehaviours } from '../utils/viewport-behaviours/types.js';
4
+ import type { SequencerAction } from './types.js';
3
5
  /**
4
6
  * @property totalSteps - How many steps the sequence has. Falls back to the number of
5
7
  * **element** children: text and whitespace never count, which matters more than it
@@ -13,9 +15,16 @@ import type { WithClassName } from '../utils/types.js';
13
15
  * @property step - The position, taken over by the consumer. Provided, the tempo stops
14
16
  * advancing anything: the counter is theirs.
15
17
  * @property defaultStep - The position to start from. Ignored when `step` is provided.
16
- * @property play - Whether the sequence advances. **There are no controls in this
17
- * component** — nothing to click, so nothing to surrender to — and this is the only way
18
- * it moves on its own.
18
+ * @property play - Whether the sequence advances, taken over by the consumer. Provided,
19
+ * it is the whole answer and the instructions no longer reach it, the way `step` takes
20
+ * the counter over from the tempo.
21
+ * @property defaultPlay - Whether it starts advancing. `false` by default, and the
22
+ * starting point a `'play'` instruction moves from — not a setting, hence `default…`.
23
+ * @property behavioursSuspended - Holds back the instructions that **start** something,
24
+ * and lets through those that stop it. For a consumer withholding the sequence behind
25
+ * something — a warning to accept, typically. What was held back is replayed the moment
26
+ * this goes false, so lifting the veil on an already-visible sequence does what was
27
+ * asked. `':force'` does not override it.
19
28
  * @property tempo - Speed in beats per minute: one step every `60000 / tempo` ms, so `60`
20
29
  * is a step per second. Clamped to a minimum of `1`.
21
30
  * @property loop - Whether the sequence wraps round. **`false` by default**, so a
@@ -24,11 +33,15 @@ import type { WithClassName } from '../utils/types.js';
24
33
  * active step it resolves to. Never on mount.
25
34
  * @property onIsPlayingChanged - Called once the effective play state changed — which
26
35
  * includes it dropping to `false` on its own at the end.
27
- * @property onIsEndedChanged - Called when the sequence reaches its last step, or leaves
28
- * it. A looping sequence never ends, so never emits.
36
+ * @property onIsEndedChanged - Called when the sequence ends, or leaves that state.
37
+ * **The end is the counter leaving the last step, not arriving on it** — the last step
38
+ * is owed its beat like every other one, and a sequence paused on it has not ended. A
39
+ * looping sequence never ends, so never emits.
29
40
  * @property onLooped - Called on each wrap, only while `loop` is `true`.
30
41
  * @property onReachedFirstStep - Called when the position becomes `0`.
31
- * @property onReachedLastStep - Called when the position becomes the last one.
42
+ * @property onReachedLastStep - Called when the position becomes the last one. This is
43
+ * the arrival, where `onIsEndedChanged` is the departure: on a playing sequence they are
44
+ * one beat apart.
32
45
  */
33
46
  export type Props = PropsWithChildren<WithClassName<{
34
47
  totalSteps?: number;
@@ -36,6 +49,7 @@ export type Props = PropsWithChildren<WithClassName<{
36
49
  step?: number;
37
50
  defaultStep?: number;
38
51
  play?: boolean;
52
+ defaultPlay?: boolean;
39
53
  tempo?: number;
40
54
  loop?: boolean;
41
55
  onStepChanged?: (step: number, activeStep: number) => void;
@@ -44,7 +58,9 @@ export type Props = PropsWithChildren<WithClassName<{
44
58
  onLooped?: () => void;
45
59
  onReachedFirstStep?: () => void;
46
60
  onReachedLastStep?: () => void;
47
- }>>;
61
+ }>> & ViewportBehaviours<SequencerAction> & {
62
+ behavioursSuspended?: boolean;
63
+ };
48
64
  /**
49
65
  * A sequencer over its children, which it classifies and never moves.
50
66
  *
@@ -57,7 +73,24 @@ export type Props = PropsWithChildren<WithClassName<{
57
73
  * modifiers, silently.
58
74
  *
59
75
  * Children that are not elements — text, whitespace — are rendered untouched and take no
60
- * part: they carry no class, so they simply stay visible throughout.
76
+ * part: they carry no class, so they simply stay visible throughout. **A fragment is
77
+ * opened rather than counted**: it groups without rendering an element of its own, so
78
+ * there would be nothing to class and nothing to show for the step it would consume.
79
+ *
80
+ * @remarks
81
+ * **Viewport-driven behaviour is declared, not named by a prop.** `whenVisible` and
82
+ * `whenHidden` take a verb or a list of them, out of {@link SequencerAction} — `'play'`,
83
+ * `'jump-start'`, `'jump-by:1'` — each optionally suffixed by `':once'` and `':force'`.
84
+ * The old `playOnVisible`, `pauseOnHidden`, `resetOnVisible` and `resetOnHidden` are
85
+ * those four instructions written the long way: `whenHidden={['pause', 'jump-start']}`
86
+ * is the pair of them, and the order of a list is the order of execution. See
87
+ * `components/utils/viewport-behaviours` for the grammar, and the `visibility…` props
88
+ * for what « visible » means and how long it has to have been true.
89
+ *
90
+ * **Nothing surrenders here.** The layer lets a reader's hand switch an instruction off
91
+ * for the rest of the mount, and this component has no control for a hand to touch — so
92
+ * `':force'` has nothing to override, and the single `'playback'` domain is a formality.
93
+ * A gate still holds `'play'` back, which is a different brake. @see {@link SequencerDomain}
61
94
  *
62
95
  * ### On the root
63
96
  * `--playing`, `--at-start`, `--at-end`, `--ended`, plus `data-step`, `data-active-step`,
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Children, cloneElement, isValidElement, useEffect, useState } from 'react';
2
+ import { Children, cloneElement, Fragment, isValidElement, useEffect, useRef, useState } from 'react';
3
3
  import { absoluteModulo } from '../../agnostic/numbers/absolute-modulo/index.js';
4
4
  import { clamp } from '../../agnostic/numbers/clamp/index.js';
5
5
  import { clss } from '../../agnostic/css/clss/index.js';
6
6
  import { mergeClassNames, useChangeDispatch } from '../utils/index.js';
7
+ import { useViewportBehaviours } from '../utils/viewport-behaviours/index.js';
7
8
  import { sequencer as publicClassName } from '../public-classnames.js';
8
9
  import cssModule from './styles.module.css';
9
10
  /**
@@ -37,6 +38,29 @@ function parseSteps(raw) {
37
38
  return null;
38
39
  return steps;
39
40
  }
41
+ /**
42
+ * The children, with fragments opened.
43
+ *
44
+ * **`Children.toArray` does not go through a `<>…</>`**: a fragment is one element to it,
45
+ * and one that cannot be classed either — `cloneElement` on it would hand `className` to
46
+ * `React.Fragment`, which warns and drops it. So a consumer whose children arrive wrapped
47
+ * in one gets a sequence of exactly one step, stuck on position `0`.
48
+ *
49
+ * That consumer is not hypothetical: lm-link renders an article's `<nodelist>` through
50
+ * `lm-html`, which returns `<>{children}</>` — every sequence written in hyper-json
51
+ * therefore arrives wrapped. Opening them here rather than asking each consumer to
52
+ * flatten is the only place the fix belongs: a fragment is a grouping with no rendered
53
+ * element of its own, so it has no business consuming a step.
54
+ */
55
+ function flattenChildren(nodes) {
56
+ return Children.toArray(nodes).flatMap((child) => {
57
+ if (!isValidElement(child) || child.type !== Fragment)
58
+ return [child];
59
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- a fragment's props are its children and its key, whatever else they are
60
+ const { children } = child.props;
61
+ return flattenChildren(children);
62
+ });
63
+ }
40
64
  /** The steps a child answers to: what it declares, or where it sits. */
41
65
  function stepsOf(child, elementIndex) {
42
66
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- a React element's props are a record, whatever else they are
@@ -55,7 +79,24 @@ function stepsOf(child, elementIndex) {
55
79
  * modifiers, silently.
56
80
  *
57
81
  * Children that are not elements — text, whitespace — are rendered untouched and take no
58
- * part: they carry no class, so they simply stay visible throughout.
82
+ * part: they carry no class, so they simply stay visible throughout. **A fragment is
83
+ * opened rather than counted**: it groups without rendering an element of its own, so
84
+ * there would be nothing to class and nothing to show for the step it would consume.
85
+ *
86
+ * @remarks
87
+ * **Viewport-driven behaviour is declared, not named by a prop.** `whenVisible` and
88
+ * `whenHidden` take a verb or a list of them, out of {@link SequencerAction} — `'play'`,
89
+ * `'jump-start'`, `'jump-by:1'` — each optionally suffixed by `':once'` and `':force'`.
90
+ * The old `playOnVisible`, `pauseOnHidden`, `resetOnVisible` and `resetOnHidden` are
91
+ * those four instructions written the long way: `whenHidden={['pause', 'jump-start']}`
92
+ * is the pair of them, and the order of a list is the order of execution. See
93
+ * `components/utils/viewport-behaviours` for the grammar, and the `visibility…` props
94
+ * for what « visible » means and how long it has to have been true.
95
+ *
96
+ * **Nothing surrenders here.** The layer lets a reader's hand switch an instruction off
97
+ * for the rest of the mount, and this component has no control for a hand to touch — so
98
+ * `':force'` has nothing to override, and the single `'playback'` domain is a formality.
99
+ * A gate still holds `'play'` back, which is a different brake. @see {@link SequencerDomain}
59
100
  *
60
101
  * ### On the root
61
102
  * `--playing`, `--at-start`, `--at-end`, `--ended`, plus `data-step`, `data-active-step`,
@@ -73,11 +114,13 @@ function stepsOf(child, elementIndex) {
73
114
  * therefore `--is-first` at 1 and `--not-first` at 6, and the answer is the same on every
74
115
  * lap without anything being reset.
75
116
  */
76
- export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, tempo = 60, loop, onStepChanged, onIsPlayingChanged, onIsEndedChanged, onLooped, onReachedFirstStep, onReachedLastStep, className, children }) => {
117
+ export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, defaultPlay, tempo = 60, loop, onStepChanged, onIsPlayingChanged, onIsEndedChanged, onLooped, onReachedFirstStep, onReachedLastStep, behavioursSuspended, visibilityThreshold, visibilityRoot, visibilityRootMargin, visibilityOnAfterMs, visibilityOffAfterMs, whenVisible, whenHidden, onVisibilityChanged, className, children }) => {
77
118
  const [internalStep, setInternalStep] = useState(step ?? defaultStep ?? 0);
119
+ const [internalPlay, setInternalPlay] = useState(defaultPlay ?? false);
78
120
  const [hasLapped, setHasLapped] = useState(0);
121
+ const rootRef = useRef(null);
79
122
  // Children, split once: what takes part and what merely renders.
80
- const childrenArr = Children.toArray(children);
123
+ const childrenArr = flattenChildren(children);
81
124
  const elements = childrenArr.filter(isValidElement);
82
125
  const stepsCount = Math.max(totalSteps ?? elements.length, 0);
83
126
  // The two numbers
@@ -88,11 +131,14 @@ export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, tempo
88
131
  : clamp(rawStep, 0, stepsCount - 1))
89
132
  : 0;
90
133
  const activeStep = stepMap?.[position] ?? position;
91
- // A sequence that does not loop stops on its last step, and says so rather than
92
- // claiming to still be playing. Derived rather than held: nothing has to be unset when
93
- // `loop` or `step` changes under it.
94
- const isEnded = loop !== true && stepsCount > 0 && position >= stepsCount - 1;
95
- const isPlaying = (play ?? false) && !isEnded;
134
+ // **The end is the counter leaving the last step, not arriving on it.** The last step
135
+ // is owed its beat like every other one, so the counter runs one past the end while
136
+ // the position clamps to it — which is also what keeps the whole thing derived: nothing
137
+ // has to be unset when `loop` or `step` changes under it, and `onReachedLastStep` stays
138
+ // the arrival that this is not. A sequence merely paused on the last step has not
139
+ // ended, and a consumer driving `step` says so by naming the position after the last.
140
+ const isEnded = loop !== true && stepsCount > 0 && rawStep >= stepsCount;
141
+ const isPlaying = (play ?? internalPlay) && !isEnded;
96
142
  useEffect(() => {
97
143
  if (!isPlaying || step !== undefined || stepsCount <= 0)
98
144
  return;
@@ -110,6 +156,70 @@ export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, tempo
110
156
  setHasLapped(lap);
111
157
  onLooped?.();
112
158
  }, [lap, loop]);
159
+ // Viewport behaviours
160
+ // A jump names a position and lands on it **within the current lap**: the counter is
161
+ // absolute, so setting it to a bare position on a looping sequence would count as a
162
+ // wrap backwards and fire `onLooped` for a move nobody made. `jump-by` is left alone
163
+ // on purpose — stepping past the last position really is a wrap, and says so.
164
+ const jumpToPosition = (target) => {
165
+ if (step !== undefined || stepsCount <= 0)
166
+ return;
167
+ const resolved = target < 0 ? stepsCount + target : target;
168
+ const bounded = loop === true
169
+ ? absoluteModulo(resolved, stepsCount)
170
+ : clamp(resolved, 0, stepsCount - 1);
171
+ setInternalStep(lap * stepsCount + bounded);
172
+ };
173
+ const jumpBy = (offset) => {
174
+ if (step !== undefined || stepsCount <= 0)
175
+ return;
176
+ setInternalStep(current => current + offset);
177
+ };
178
+ // What each verb does. Rebuilt on every render — it closes over the setters — which is
179
+ // why the generic layer reads it through a ref rather than a dependency list.
180
+ //
181
+ // `play` and `pause` need no guard against a controlled `play`: the effective state
182
+ // reads the prop first, so the internal one they write is simply never consulted.
183
+ const actions = {
184
+ play: { kind: 'start', domain: 'playback', run: () => setInternalPlay(true) },
185
+ pause: { kind: 'stop', domain: 'playback', run: () => setInternalPlay(false) },
186
+ // A jump starts nothing on its own — it moves a counter, playing or not — so a gate
187
+ // has no reason to hold it back.
188
+ 'jump-to': {
189
+ kind: 'stop',
190
+ domain: 'playback',
191
+ run: arg => {
192
+ const target = Number(arg);
193
+ if (!Number.isFinite(target))
194
+ return;
195
+ jumpToPosition(target);
196
+ }
197
+ },
198
+ 'jump-start': { kind: 'stop', domain: 'playback', run: () => jumpToPosition(0) },
199
+ 'jump-end': { kind: 'stop', domain: 'playback', run: () => jumpToPosition(-1) },
200
+ 'jump-by': {
201
+ kind: 'stop',
202
+ domain: 'playback',
203
+ run: arg => {
204
+ const offset = Number(arg);
205
+ if (!Number.isFinite(offset))
206
+ return;
207
+ jumpBy(offset);
208
+ }
209
+ }
210
+ };
211
+ // The surrender half of the result is dropped, and that is the whole of what this
212
+ // component's lack of controls changes: nothing here can be taken over by hand.
213
+ useViewportBehaviours(rootRef, {
214
+ visibilityThreshold,
215
+ visibilityRoot,
216
+ visibilityRootMargin,
217
+ visibilityOnAfterMs,
218
+ visibilityOffAfterMs,
219
+ whenVisible,
220
+ whenHidden,
221
+ onVisibilityChanged
222
+ }, actions, behavioursSuspended === true);
113
223
  // State dispatch
114
224
  useChangeDispatch(position, () => onStepChanged?.(position, activeStep));
115
225
  useChangeDispatch(isPlaying, onIsPlayingChanged);
@@ -137,7 +247,7 @@ export const Sequencer = ({ totalSteps, stepMap, step, defaultStep, play, tempo
137
247
  return positions;
138
248
  };
139
249
  let elementIndex = -1;
140
- return _jsx("div", { className: rootClss, "data-step": position, "data-active-step": activeStep, "data-total-steps": stepsCount, "data-tempo": tempo, children: childrenArr.map((child, childPos) => {
250
+ return _jsx("div", { ref: rootRef, className: rootClss, "data-step": position, "data-active-step": activeStep, "data-total-steps": stepsCount, "data-tempo": tempo, children: childrenArr.map((child, childPos) => {
141
251
  if (!isValidElement(child))
142
252
  return child;
143
253
  elementIndex += 1;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The verbs a sequence answers to, as the table keys them.
3
+ *
4
+ * `jump-to` and `jump-by` are the two taking an argument, and the table is keyed by the
5
+ * verb alone — the argument is parsed out of the instruction before the lookup.
6
+ *
7
+ * The family is `Video`'s, word for word: a sequence and a player move a counter, and
8
+ * two vocabularies for that one gesture is exactly what the viewport-behaviours layer
9
+ * exists to stop. `jump-start` is the old `resetOnVisible` under the shared name.
10
+ */
11
+ export declare const SEQUENCER_VERBS: readonly ["play", "pause", "jump-to", "jump-start", "jump-end", "jump-by"];
12
+ export type SequencerVerb = typeof SEQUENCER_VERBS[number];
13
+ /**
14
+ * How to read the argument of each verb that takes one.
15
+ *
16
+ * **Exported because a consumer has to validate what it is handed**, and a type gives a
17
+ * runtime validator nothing to compare against: lm-link reads an article's props out of
18
+ * static XML and has to reject `'jump-to:banana'` before it reaches the component.
19
+ *
20
+ * A digit string, and deliberately not `Number`: that would take `'1e3'` and `'0x10'`,
21
+ * which nobody means to write in an article.
22
+ */
23
+ export declare const SEQUENCER_VERB_ARGUMENTS: {
24
+ readonly 'jump-to': (arg: string) => boolean;
25
+ readonly 'jump-by': (arg: string) => boolean;
26
+ };
27
+ /**
28
+ * The instructions a consumer writes in `whenVisible` / `whenHidden`.
29
+ *
30
+ * **A jump names a position, never an active step** — the counter, the thing `step` and
31
+ * `defaultStep` already name. What that position *means* stays `stepMap`'s answer, which
32
+ * is the one place the component's two numbers could be confused for one another.
33
+ *
34
+ * `'jump-to:2'` goes to position 2, and **a negative value counts from the end**:
35
+ * `'jump-to:-1'` is the last position, `-1` rather than `-0` because `-0 === 0` in
36
+ * JavaScript and would collide with the start. `'jump-start'` and `'jump-end'` are the
37
+ * shorthands for `'jump-to:0'` and `'jump-to:-1'`.
38
+ *
39
+ * `'jump-by:1'` is the next position and `'jump-by:-1'` the previous one — signed and
40
+ * relative, where `jump-to` is absolute. The two forms of `-1` therefore do not say the
41
+ * same thing, which is the price of keeping one family rather than adding `next` and
42
+ * `prev` beside it.
43
+ *
44
+ * Every one of them takes the `':once'` and `':force'` suffixes, which are the generic
45
+ * layer's and are not restated here.
46
+ */
47
+ export type SequencerAction = Exclude<SequencerVerb, 'jump-to' | 'jump-by'> | `jump-to:${number}` | `jump-by:${number}`;
48
+ /**
49
+ * What a verb competes with — one domain, and it is a formality.
50
+ *
51
+ * **This component has no controls**: nothing to click, so nothing a reader can take
52
+ * over and nothing that ever surrenders. The field is part of {@link ActionSpec} and is
53
+ * declared honestly rather than split into domains no hand could ever tell apart. The
54
+ * consequence is that `':force'` has no trigger here — it overrides a surrender, and
55
+ * there are none.
56
+ */
57
+ export type SequencerDomain = 'playback';
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The verbs a sequence answers to, as the table keys them.
3
+ *
4
+ * `jump-to` and `jump-by` are the two taking an argument, and the table is keyed by the
5
+ * verb alone — the argument is parsed out of the instruction before the lookup.
6
+ *
7
+ * The family is `Video`'s, word for word: a sequence and a player move a counter, and
8
+ * two vocabularies for that one gesture is exactly what the viewport-behaviours layer
9
+ * exists to stop. `jump-start` is the old `resetOnVisible` under the shared name.
10
+ */
11
+ export const SEQUENCER_VERBS = [
12
+ 'play',
13
+ 'pause',
14
+ 'jump-to',
15
+ 'jump-start',
16
+ 'jump-end',
17
+ 'jump-by'
18
+ ];
19
+ /**
20
+ * How to read the argument of each verb that takes one.
21
+ *
22
+ * **Exported because a consumer has to validate what it is handed**, and a type gives a
23
+ * runtime validator nothing to compare against: lm-link reads an article's props out of
24
+ * static XML and has to reject `'jump-to:banana'` before it reaches the component.
25
+ *
26
+ * A digit string, and deliberately not `Number`: that would take `'1e3'` and `'0x10'`,
27
+ * which nobody means to write in an article.
28
+ */
29
+ export const SEQUENCER_VERB_ARGUMENTS = {
30
+ 'jump-to': (arg) => /^-?\d+$/v.test(arg),
31
+ 'jump-by': (arg) => /^-?\d+$/v.test(arg)
32
+ };
@@ -3,10 +3,10 @@ export * as button from './Button/index.js'
3
3
  export * as clippable from './Clippable/index.js'
4
4
  export * as disclaimer from './Disclaimer/index.js'
5
5
  export * as drawer from './Drawer/index.js'
6
- export * as eventListener from './EventListener/index.js'
7
6
  export * as gallery from './Gallery/index.js'
8
- export * as image from './Image/index.js'
9
7
  export * as iframe from './Iframe/index.js'
8
+ export * as eventListener from './EventListener/index.js'
9
+ export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
12
  export * as jsonEditor from './JsonEditor/index.js'
@@ -15,8 +15,8 @@ export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
16
  export * as paginator from './Paginator/index.js'
17
17
  export * as resizeObserver from './ResizeObserver/index.js'
18
- export * as scrllgngn from './Scrllgngn/index.js'
19
18
  export * as scrollListener from './ScrollListener/index.js'
19
+ export * as scrllgngn from './Scrllgngn/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
22
22
  export * as shadowRoot from './ShadowRoot/index.js'
@@ -3,10 +3,10 @@ export * as button from './Button/index.js'
3
3
  export * as clippable from './Clippable/index.js'
4
4
  export * as disclaimer from './Disclaimer/index.js'
5
5
  export * as drawer from './Drawer/index.js'
6
- export * as eventListener from './EventListener/index.js'
7
6
  export * as gallery from './Gallery/index.js'
8
- export * as image from './Image/index.js'
9
7
  export * as iframe from './Iframe/index.js'
8
+ export * as eventListener from './EventListener/index.js'
9
+ export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
12
  export * as jsonEditor from './JsonEditor/index.js'
@@ -15,8 +15,8 @@ export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
16
  export * as paginator from './Paginator/index.js'
17
17
  export * as resizeObserver from './ResizeObserver/index.js'
18
- export * as scrllgngn from './Scrllgngn/index.js'
19
18
  export * as scrollListener from './ScrollListener/index.js'
19
+ export * as scrllgngn from './Scrllgngn/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
22
22
  export * as shadowRoot from './ShadowRoot/index.js'
@@ -1,7 +1,7 @@
1
- export * as copy from './copy/index.js'
2
1
  export * as download from './download/index.js'
2
+ export * as copy from './copy/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
5
  export * as stat from './stat/index.js'
6
+ export * as remove from './remove/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,7 +1,7 @@
1
- export * as copy from './copy/index.js'
2
1
  export * as download from './download/index.js'
2
+ export * as copy from './copy/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
5
  export * as stat from './stat/index.js'
6
+ export * as remove from './remove/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
- export * as exists from './exists/index.js'
4
3
  export * as generateSignedUrl from './generate-signed-url/index.js'
4
+ export * as exists from './exists/index.js'
5
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'
9
- export * as revokeSignedUrls from './revoke-signed-urls/index.js'
10
9
  export * as stat from './stat/index.js'
11
- export * as updateMetadata from './update-metadata/index.js'
10
+ export * as revokeSignedUrls from './revoke-signed-urls/index.js'
12
11
  export * as upload from './upload/index.js'
12
+ export * as updateMetadata from './update-metadata/index.js'
@@ -1,12 +1,12 @@
1
1
  export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
- export * as exists from './exists/index.js'
4
3
  export * as generateSignedUrl from './generate-signed-url/index.js'
4
+ export * as exists from './exists/index.js'
5
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'
9
- export * as revokeSignedUrls from './revoke-signed-urls/index.js'
10
9
  export * as stat from './stat/index.js'
11
- export * as updateMetadata from './update-metadata/index.js'
10
+ export * as revokeSignedUrls from './revoke-signed-urls/index.js'
12
11
  export * as upload from './upload/index.js'
12
+ export * as updateMetadata from './update-metadata/index.js'
@@ -1,3 +1,3 @@
1
- export * as directory from './directory/index.js'
2
1
  export * as bucket from './bucket/index.js'
2
+ export * as directory from './directory/index.js'
3
3
  export * as file from './file/index.js'
@@ -1,3 +1,3 @@
1
- export * as directory from './directory/index.js'
2
1
  export * as bucket from './bucket/index.js'
2
+ export * as directory from './directory/index.js'
3
3
  export * as file from './file/index.js'
@@ -5,7 +5,7 @@ export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
7
7
  export * as moveFile from './move-file/index.js'
8
- export * as removeDir from './remove-dir/index.js'
9
8
  export * as removeFile from './remove-file/index.js'
9
+ export * as removeDir from './remove-dir/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -5,7 +5,7 @@ export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
7
7
  export * as moveFile from './move-file/index.js'
8
- export * as removeDir from './remove-dir/index.js'
9
8
  export * as removeFile from './remove-file/index.js'
9
+ export * as removeDir from './remove-dir/index.js'
10
10
  export * as statFile from './stat-file/index.js'
11
11
  export * as uploadFile from './upload-file/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as download from './download/index.js'
3
2
  export * as exists from './exists/index.js'
3
+ export * as download from './download/index.js'
4
4
  export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as download from './download/index.js'
3
2
  export * as exists from './exists/index.js'
3
+ export * as download from './download/index.js'
4
4
  export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
package/node/index.d.ts CHANGED
@@ -5,7 +5,7 @@ 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
- export * as ftps from './ftps/index.js'
9
8
  export * as images from './images/index.js'
10
9
  export * as process from './process/index.js'
10
+ export * as ftps from './ftps/index.js'
11
11
  export * as sftp from './sftp/index.js'
package/node/index.js CHANGED
@@ -5,7 +5,7 @@ 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
- export * as ftps from './ftps/index.js'
9
8
  export * as images from './images/index.js'
10
9
  export * as process from './process/index.js'
10
+ export * as ftps from './ftps/index.js'
11
11
  export * as sftp from './sftp/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 remove from './remove/index.js'
5
4
  export * as move from './move/index.js'
6
- export * as upload from './upload/index.js'
5
+ export * as remove from './remove/index.js'
7
6
  export * as stat from './stat/index.js'
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 remove from './remove/index.js'
5
4
  export * as move from './move/index.js'
6
- export * as upload from './upload/index.js'
5
+ export * as remove from './remove/index.js'
7
6
  export * as stat from './stat/index.js'
7
+ export * as upload from './upload/index.js'
@@ -1,2 +1,2 @@
1
- export * as directory from './directory/index.js'
2
1
  export * as file from './file/index.js'
2
+ export * as directory from './directory/index.js'
@@ -1,2 +1,2 @@
1
- export * as directory from './directory/index.js'
2
1
  export * as file from './file/index.js'
2
+ export * as directory from './directory/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.5.22",
3
+ "version": "0.5.24",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",
@@ -1558,6 +1558,10 @@
1558
1558
  "./components/Sequencer/index.js": {
1559
1559
  "import": "./components/Sequencer/index.js"
1560
1560
  },
1561
+ "./components/Sequencer/types.js": {
1562
+ "import": "./components/Sequencer/types.js",
1563
+ "types": "./components/Sequencer/types.d.ts"
1564
+ },
1561
1565
  "./components/ShadowRoot": {
1562
1566
  "import": "./components/ShadowRoot/index.js",
1563
1567
  "types": "./components/ShadowRoot/index.d.ts"