@design-edito/tools 0.4.16 → 0.4.18

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 (44) hide show
  1. package/agnostic/colors/index.d.ts +1 -1
  2. package/agnostic/colors/index.js +1 -1
  3. package/agnostic/css/index.d.ts +2 -2
  4. package/agnostic/css/index.js +2 -2
  5. package/agnostic/errors/index.d.ts +1 -1
  6. package/agnostic/errors/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 +4 -4
  10. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +4 -4
  11. package/agnostic/html/index.d.ts +4 -4
  12. package/agnostic/html/index.js +4 -4
  13. package/agnostic/index.d.ts +4 -4
  14. package/agnostic/index.js +4 -4
  15. package/agnostic/misc/index.d.ts +1 -1
  16. package/agnostic/misc/index.js +1 -1
  17. package/agnostic/objects/index.d.ts +3 -3
  18. package/agnostic/objects/index.js +3 -3
  19. package/agnostic/optim/index.d.ts +1 -1
  20. package/agnostic/optim/index.js +1 -1
  21. package/agnostic/strings/index.d.ts +2 -2
  22. package/agnostic/strings/index.js +2 -2
  23. package/agnostic/time/index.d.ts +2 -2
  24. package/agnostic/time/index.js +2 -2
  25. package/components/BeforeAfter/index.controlled.d.ts +42 -32
  26. package/components/BeforeAfter/index.controlled.js +92 -70
  27. package/components/BeforeAfter/index.d.ts +20 -34
  28. package/components/BeforeAfter/index.js +40 -45
  29. package/components/Image/index.d.ts +2 -4
  30. package/components/index.d.ts +1 -1
  31. package/components/index.js +1 -1
  32. package/index.d.ts +1 -1
  33. package/index.js +1 -1
  34. package/node/@aws-s3/storage/file/index.d.ts +2 -2
  35. package/node/@aws-s3/storage/file/index.js +2 -2
  36. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  37. package/node/@google-cloud/storage/file/index.js +1 -1
  38. package/node/ftps/file/index.d.ts +2 -2
  39. package/node/ftps/file/index.js +2 -2
  40. package/node/images/index.d.ts +1 -1
  41. package/node/images/index.js +1 -1
  42. package/node/images/transform/operations/index.d.ts +1 -1
  43. package/node/images/transform/operations/index.js +1 -1
  44. package/package.json +1 -1
@@ -6,7 +6,7 @@ export * as grayscale from './grayscale/index.js'
6
6
  export * as invert from './invert/index.js'
7
7
  export * as lerp from './lerp/index.js'
8
8
  export * as luminance from './luminance/index.js'
9
- export * as palette from './palette/index.js'
10
9
  export * as rotate from './rotate/index.js'
10
+ export * as palette from './palette/index.js'
11
11
  export * as tidy from './tidy/index.js'
12
12
  export * as typechecks from './typechecks/index.js'
@@ -6,7 +6,7 @@ export * as grayscale from './grayscale/index.js'
6
6
  export * as invert from './invert/index.js'
7
7
  export * as lerp from './lerp/index.js'
8
8
  export * as luminance from './luminance/index.js'
9
- export * as palette from './palette/index.js'
10
9
  export * as rotate from './rotate/index.js'
10
+ export * as palette from './palette/index.js'
11
11
  export * as tidy from './tidy/index.js'
12
12
  export * as typechecks from './typechecks/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as bem from './bem/index.js'
2
- export * as clss from './clss/index.js'
3
- export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
2
  export * as generateNiceColor from './generate-nice-color/index.js'
3
+ export * as isValidCssClassName from './is-valid-css-class-name/index.js'
5
4
  export * as scale from './scale/index.js'
6
5
  export * as stylesSet from './styles-set/index.js'
6
+ export * as clss from './clss/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as bem from './bem/index.js'
2
- export * as clss from './clss/index.js'
3
- export * as isValidCssClassName from './is-valid-css-class-name/index.js'
4
2
  export * as generateNiceColor from './generate-nice-color/index.js'
3
+ export * as isValidCssClassName from './is-valid-css-class-name/index.js'
5
4
  export * as scale from './scale/index.js'
6
5
  export * as stylesSet from './styles-set/index.js'
6
+ export * as clss from './clss/index.js'
@@ -1,2 +1,2 @@
1
- export * as register from './register/index.js'
2
1
  export * as unknownToString from './unknown-to-string/index.js'
2
+ export * as register from './register/index.js'
@@ -1,2 +1,2 @@
1
- export * as register from './register/index.js'
2
1
  export * as unknownToString from './unknown-to-string/index.js'
2
+ export * as register from './register/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'
3
+ export * as addclass from './addclass/index.js'
4
4
  export * as append from './append/index.js'
5
5
  export * as at from './at/index.js'
6
- export * as call from './call/index.js'
7
6
  export * as clone from './clone/index.js'
8
- export * as deleteproperties from './deleteproperties/index.js'
9
7
  export * as equals from './equals/index.js'
10
8
  export * as getattribute from './getattribute/index.js'
11
9
  export * as getproperties from './getproperties/index.js'
12
10
  export * as getproperty from './getproperty/index.js'
13
11
  export * as hjparse from './hjparse/index.js'
14
- export * as hjstringify from './hjstringify/index.js'
12
+ export * as call from './call/index.js'
13
+ export * as deleteproperties from './deleteproperties/index.js'
15
14
  export * as if from './if/index.js'
16
- export * as join from './join/index.js'
15
+ export * as hjstringify from './hjstringify/index.js'
17
16
  export * as initialize from './initialize/index.js'
17
+ export * as join from './join/index.js'
18
18
  export * as length from './length/index.js'
19
19
  export * as map from './map/index.js'
20
- export * as negate from './negate/index.js'
21
20
  export * as notrailing from './notrailing/index.js'
22
21
  export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
- export * as print from './print/index.js'
25
23
  export * as populate from './populate/index.js'
24
+ export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
- export * as removeattribute from './removeattribute/index.js'
28
- export * as recordtoarray from './recordtoarray/index.js'
29
26
  export * as pusheach from './pusheach/index.js'
27
+ export * as recordtoarray from './recordtoarray/index.js'
28
+ export * as removeattribute from './removeattribute/index.js'
30
29
  export * as removeclass from './removeclass/index.js'
31
30
  export * as renameproperty from './renameproperty/index.js'
32
31
  export * as replace from './replace/index.js'
32
+ export * as negate from './negate/index.js'
33
33
  export * as select from './select/index.js'
34
34
  export * as set from './set/index.js'
35
35
  export * as setattribute from './setattribute/index.js'
36
36
  export * as setproperty from './setproperty/index.js'
37
37
  export * as split from './split/index.js'
38
- export * as sorton from './sorton/index.js'
39
38
  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 toggleclass from './toggleclass/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as tonodelist from './tonodelist/index.js'
44
+ export * as tonull from './tonull/index.js'
44
45
  export * as tonumber from './tonumber/index.js'
45
- export * as torecord from './torecord/index.js'
46
46
  export * as toref from './toref/index.js'
47
+ export * as torecord from './torecord/index.js'
47
48
  export * as tostring from './tostring/index.js'
49
+ export * as sorton from './sorton/index.js'
48
50
  export * as totext from './totext/index.js'
49
51
  export * as transformselected from './transformselected/index.js'
50
- export * as tonull from './tonull/index.js'
51
- export * as toggleclass from './toggleclass/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'
3
+ export * as addclass from './addclass/index.js'
4
4
  export * as append from './append/index.js'
5
5
  export * as at from './at/index.js'
6
- export * as call from './call/index.js'
7
6
  export * as clone from './clone/index.js'
8
- export * as deleteproperties from './deleteproperties/index.js'
9
7
  export * as equals from './equals/index.js'
10
8
  export * as getattribute from './getattribute/index.js'
11
9
  export * as getproperties from './getproperties/index.js'
12
10
  export * as getproperty from './getproperty/index.js'
13
11
  export * as hjparse from './hjparse/index.js'
14
- export * as hjstringify from './hjstringify/index.js'
12
+ export * as call from './call/index.js'
13
+ export * as deleteproperties from './deleteproperties/index.js'
15
14
  export * as if from './if/index.js'
16
- export * as join from './join/index.js'
15
+ export * as hjstringify from './hjstringify/index.js'
17
16
  export * as initialize from './initialize/index.js'
17
+ export * as join from './join/index.js'
18
18
  export * as length from './length/index.js'
19
19
  export * as map from './map/index.js'
20
- export * as negate from './negate/index.js'
21
20
  export * as notrailing from './notrailing/index.js'
22
21
  export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
- export * as print from './print/index.js'
25
23
  export * as populate from './populate/index.js'
24
+ export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
- export * as removeattribute from './removeattribute/index.js'
28
- export * as recordtoarray from './recordtoarray/index.js'
29
26
  export * as pusheach from './pusheach/index.js'
27
+ export * as recordtoarray from './recordtoarray/index.js'
28
+ export * as removeattribute from './removeattribute/index.js'
30
29
  export * as removeclass from './removeclass/index.js'
31
30
  export * as renameproperty from './renameproperty/index.js'
32
31
  export * as replace from './replace/index.js'
32
+ export * as negate from './negate/index.js'
33
33
  export * as select from './select/index.js'
34
34
  export * as set from './set/index.js'
35
35
  export * as setattribute from './setattribute/index.js'
36
36
  export * as setproperty from './setproperty/index.js'
37
37
  export * as split from './split/index.js'
38
- export * as sorton from './sorton/index.js'
39
38
  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 toggleclass from './toggleclass/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as tonodelist from './tonodelist/index.js'
44
+ export * as tonull from './tonull/index.js'
44
45
  export * as tonumber from './tonumber/index.js'
45
- export * as torecord from './torecord/index.js'
46
46
  export * as toref from './toref/index.js'
47
+ export * as torecord from './torecord/index.js'
47
48
  export * as tostring from './tostring/index.js'
49
+ export * as sorton from './sorton/index.js'
48
50
  export * as totext from './totext/index.js'
49
51
  export * as transformselected from './transformselected/index.js'
50
- export * as tonull from './tonull/index.js'
51
- export * as toggleclass from './toggleclass/index.js'
52
52
  export * as trim from './trim/index.js'
@@ -1,13 +1,13 @@
1
- export * as any from './any/index.js'
2
1
  export * as array from './array/index.js'
2
+ export * as any from './any/index.js'
3
3
  export * as boolean from './boolean/index.js'
4
4
  export * as element from './element/index.js'
5
- export * as get from './get/index.js'
6
5
  export * as guess from './guess/index.js'
6
+ export * as get from './get/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
- export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
12
- export * as text from './text/index.js'
11
+ export * as record from './record/index.js'
13
12
  export * as string from './string/index.js'
13
+ export * as text from './text/index.js'
@@ -1,13 +1,13 @@
1
- export * as any from './any/index.js'
2
1
  export * as array from './array/index.js'
2
+ export * as any from './any/index.js'
3
3
  export * as boolean from './boolean/index.js'
4
4
  export * as element from './element/index.js'
5
- export * as get from './get/index.js'
6
5
  export * as guess from './guess/index.js'
6
+ export * as get from './get/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
9
  export * as number from './number/index.js'
10
- export * as record from './record/index.js'
11
10
  export * as ref from './ref/index.js'
12
- export * as text from './text/index.js'
11
+ export * as record from './record/index.js'
13
12
  export * as string from './string/index.js'
13
+ export * as text from './text/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as getNodeAncestors from './get-node-ancestors/index.js'
2
- export * as deepSelect from './deep-select/index.js'
2
+ export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
3
  export * as hyperJson from './hyper-json/index.js'
4
+ export * as insertNode from './insert-node/index.js'
4
5
  export * as placeholders from './placeholders/index.js'
5
6
  export * as replaceInElement from './replace-in-element/index.js'
6
- export * as getPositionInsideParent from './get-position-inside-parent/index.js'
7
- export * as stringToNodes from './string-to-nodes/index.js'
8
7
  export * as selectorToElement from './selector-to-element/index.js'
8
+ export * as stringToNodes from './string-to-nodes/index.js'
9
9
  export * as watchSelection from './watch-selection/index.js'
10
- export * as insertNode from './insert-node/index.js'
10
+ export * as deepSelect from './deep-select/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as getNodeAncestors from './get-node-ancestors/index.js'
2
- export * as deepSelect from './deep-select/index.js'
2
+ export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
3
  export * as hyperJson from './hyper-json/index.js'
4
+ export * as insertNode from './insert-node/index.js'
4
5
  export * as placeholders from './placeholders/index.js'
5
6
  export * as replaceInElement from './replace-in-element/index.js'
6
- export * as getPositionInsideParent from './get-position-inside-parent/index.js'
7
- export * as stringToNodes from './string-to-nodes/index.js'
8
7
  export * as selectorToElement from './selector-to-element/index.js'
8
+ export * as stringToNodes from './string-to-nodes/index.js'
9
9
  export * as watchSelection from './watch-selection/index.js'
10
- export * as insertNode from './insert-node/index.js'
10
+ export * as deepSelect from './deep-select/index.js'
@@ -1,16 +1,16 @@
1
1
  export * as arrays from './arrays/index.js'
2
2
  export * as booleans from './booleans/index.js'
3
- export * as colors from './colors/index.js'
4
3
  export * as css from './css/index.js'
5
4
  export * as errors from './errors/index.js'
6
- export * as html from './html/index.js'
7
5
  export * as misc from './misc/index.js'
6
+ export * as html from './html/index.js'
8
7
  export * as numbers from './numbers/index.js'
9
8
  export * as objects from './objects/index.js'
10
9
  export * as optim from './optim/index.js'
11
10
  export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
- export * as sanitization from './sanitization/index.js'
14
12
  export * as strings from './strings/index.js'
15
- export * as time from './time/index.js'
13
+ export * as colors from './colors/index.js'
16
14
  export * as typescript from './typescript/index.js'
15
+ export * as time from './time/index.js'
16
+ export * as sanitization from './sanitization/index.js'
package/agnostic/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  export * as arrays from './arrays/index.js'
2
2
  export * as booleans from './booleans/index.js'
3
- export * as colors from './colors/index.js'
4
3
  export * as css from './css/index.js'
5
4
  export * as errors from './errors/index.js'
6
- export * as html from './html/index.js'
7
5
  export * as misc from './misc/index.js'
6
+ export * as html from './html/index.js'
8
7
  export * as numbers from './numbers/index.js'
9
8
  export * as objects from './objects/index.js'
10
9
  export * as optim from './optim/index.js'
11
10
  export * as random from './random/index.js'
12
11
  export * as regexps from './regexps/index.js'
13
- export * as sanitization from './sanitization/index.js'
14
12
  export * as strings from './strings/index.js'
15
- export * as time from './time/index.js'
13
+ export * as colors from './colors/index.js'
16
14
  export * as typescript from './typescript/index.js'
15
+ export * as time from './time/index.js'
16
+ export * as sanitization from './sanitization/index.js'
@@ -7,6 +7,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
- export * as loremIpsum from './lorem-ipsum/index.js'
11
10
  export * as normalizeExtension from './normalize-extension/index.js'
12
11
  export * as outcome from './outcome/index.js'
12
+ export * as loremIpsum from './lorem-ipsum/index.js'
@@ -7,6 +7,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
- export * as loremIpsum from './lorem-ipsum/index.js'
11
10
  export * as normalizeExtension from './normalize-extension/index.js'
12
11
  export * as outcome from './outcome/index.js'
12
+ export * as loremIpsum from './lorem-ipsum/index.js'
@@ -1,9 +1,9 @@
1
- export * as deepGetProperty from './deep-get-property/index.js'
1
+ export * as enums from './enums/index.js'
2
2
  export * as flattenGetters from './flatten-getters/index.js'
3
3
  export * as isObject from './is-object/index.js'
4
4
  export * as isRecord from './is-record/index.js'
5
5
  export * as recordFormat from './record-format/index.js'
6
+ export * as deepGetProperty from './deep-get-property/index.js'
6
7
  export * as recordMap from './record-map/index.js'
7
- export * as sortKeys from './sort-keys/index.js'
8
8
  export * as validation from './validation/index.js'
9
- export * as enums from './enums/index.js'
9
+ export * as sortKeys from './sort-keys/index.js'
@@ -1,9 +1,9 @@
1
- export * as deepGetProperty from './deep-get-property/index.js'
1
+ export * as enums from './enums/index.js'
2
2
  export * as flattenGetters from './flatten-getters/index.js'
3
3
  export * as isObject from './is-object/index.js'
4
4
  export * as isRecord from './is-record/index.js'
5
5
  export * as recordFormat from './record-format/index.js'
6
+ export * as deepGetProperty from './deep-get-property/index.js'
6
7
  export * as recordMap from './record-map/index.js'
7
- export * as sortKeys from './sort-keys/index.js'
8
8
  export * as validation from './validation/index.js'
9
- export * as enums from './enums/index.js'
9
+ export * as sortKeys from './sort-keys/index.js'
@@ -1,2 +1,2 @@
1
- export * as memoize from './memoize/index.js'
2
1
  export * as throttleDebounce from './throttle-debounce/index.js'
2
+ export * as memoize from './memoize/index.js'
@@ -1,2 +1,2 @@
1
- export * as memoize from './memoize/index.js'
2
1
  export * as throttleDebounce from './throttle-debounce/index.js'
2
+ export * as memoize from './memoize/index.js'
@@ -1,8 +1,8 @@
1
1
  export * as charCodes from './char-codes/index.js'
2
+ export * as matches from './matches/index.js'
2
3
  export * as normalizeIndent from './normalize-indent/index.js'
3
- export * as parseTable from './parse-table/index.js'
4
4
  export * as replaceAll from './replace-all/index.js'
5
5
  export * as splitTrim from './split-trim/index.js'
6
6
  export * as toAlphanum from './to-alphanum/index.js'
7
7
  export * as trim from './trim/index.js'
8
- export * as matches from './matches/index.js'
8
+ export * as parseTable from './parse-table/index.js'
@@ -1,8 +1,8 @@
1
1
  export * as charCodes from './char-codes/index.js'
2
+ export * as matches from './matches/index.js'
2
3
  export * as normalizeIndent from './normalize-indent/index.js'
3
- export * as parseTable from './parse-table/index.js'
4
4
  export * as replaceAll from './replace-all/index.js'
5
5
  export * as splitTrim from './split-trim/index.js'
6
6
  export * as toAlphanum from './to-alphanum/index.js'
7
7
  export * as trim from './trim/index.js'
8
- export * as matches from './matches/index.js'
8
+ export * as parseTable from './parse-table/index.js'
@@ -1,5 +1,5 @@
1
- export * as dates from './dates/index.js'
1
+ export * as duration from './duration/index.js'
2
2
  export * as timeout from './timeout/index.js'
3
3
  export * as transitions from './transitions/index.js'
4
- export * as duration from './duration/index.js'
5
4
  export * as wait from './wait/index.js'
5
+ export * as dates from './dates/index.js'
@@ -1,5 +1,5 @@
1
- export * as dates from './dates/index.js'
1
+ export * as duration from './duration/index.js'
2
2
  export * as timeout from './timeout/index.js'
3
3
  export * as transitions from './transitions/index.js'
4
- export * as duration from './duration/index.js'
5
4
  export * as wait from './wait/index.js'
5
+ export * as dates from './dates/index.js'
@@ -1,46 +1,56 @@
1
- import React, { type FunctionComponent, type HTMLAttributes } from 'react';
1
+ import { type ReactNode, type FunctionComponent, type PropsWithChildren } from 'react';
2
2
  import type { WithClassName } from '../utils/types.js';
3
- export type Props = WithClassName<{
4
- content?: React.ReactNode;
5
- beforeContent?: React.ReactNode;
6
- afterContent?: React.ReactNode;
7
- ratio?: number;
8
- actionHandlers?: {
9
- pointer?: (e: PointerEvent, targetHRatio: number, targetVRatio: number, ratio: number | null, element: HTMLDivElement) => void;
10
- };
11
- _modifiers?: {
12
- horizontal?: boolean;
13
- vertical?: boolean;
14
- };
15
- }> & HTMLAttributes<HTMLDivElement>;
16
3
  /**
17
4
  * Props for the {@link BeforeAfterControlled} component.
18
5
  *
19
- * @property beforeContent - Content shown first.
20
- * @property afterContent - Content shown second.
21
- * @property ratio - Split ratio (0 to 1). Controlled by parent.
22
- * @property actionHandlers - Optional pointer (drag) callbacks:
23
- * - `pointer` — called on pointer events with ratio and element info.
24
- * @property _modifiers - Orientation modifiers: `horizontal` or `vertical`.
25
- * @property className - Custom CSS class.
6
+ * Extends {@link WithClassName} with layout, content, and interaction configuration.
26
7
  *
27
- * @see {@link BeforeAfter}
8
+ * @property mode - Layout orientation of the split. Defaults to `'horizontal'`.
9
+ * @property ratio - Position of the divider as a value between `0` and `1`.
10
+ * Values outside this range are clamped automatically. Defaults to `0`.
11
+ * @property before - Content rendered in the first (before) panel.
12
+ * @property after - Content rendered in the second (after) panel.
13
+ * @property actionHandlers - Optional user action callbacks:
14
+ * - `dragged` — called on each pointer move while dragging, with the current
15
+ * x and y ratios relative to the component bounds.
16
+ * - `clicked` — called on pointer release when no drag occurred, with the
17
+ * x and y ratios of the release position.
18
+ * @property className - Additional class name(s) applied to the root element.
19
+ * @property children - Arbitrary content to inject inside the component
28
20
  */
21
+ export type Props = PropsWithChildren<WithClassName<{
22
+ mode?: 'vertical' | 'horizontal';
23
+ ratio?: number;
24
+ before?: ReactNode;
25
+ after?: ReactNode;
26
+ actionHandlers?: {
27
+ dragged?: (xRatio: number, yRatio: number) => void;
28
+ clicked?: (xRatio: number, yRatio: number) => void;
29
+ };
30
+ }>>;
29
31
  /**
30
- * Controlled before/after slider component. Renders two contents separated by a slider,
31
- * whose ratio is managed by the parent component. Handles pointer interactions (mouse/touch/pen)
32
- * to update the ratio via callbacks.
32
+ * Controlled before/after comparison component.
33
+ *
34
+ * Renders two content panels separated by a draggable divider whose position
35
+ * is expressed as a ratio between `0` and `1`. Supports both mouse and touch
36
+ * interactions, distinguishing clicks from drags.
37
+ *
38
+ * The active ratio is exposed as:
39
+ * - CSS custom properties:
40
+ * - `--{prefix}-ratio`
41
+ * - `--{prefix}-ratio-percent`
42
+ * - A `data-ratio` attribute on the root element.
33
43
  *
34
- * ### Forwarded CSS custom properties
35
- * - `--before-after-ratio` — the current ratio value (0 to 1, fixed to 8 decimals).
36
- * - `--before-after-ratio-percent` — the current ratio as a percentage (0 to 100).
44
+ * ### CSS modifiers
45
+ * - `horizontal`applied when `mode` is `'horizontal'`.
46
+ * - `vertical`applied when `mode` is `'vertical'`.
37
47
  *
38
- * ### Forwarded data attributes
39
- * - `data-ratio` — the current ratio value.
48
+ * ### CSS elements
49
+ * - `before`
50
+ * - `after`
40
51
  *
41
52
  * @param props - Component properties.
42
53
  * @see {@link Props}
43
- * @see {@link BeforeAfter}
44
- * @returns A div containing used to render "before/after" content, with pointer event handling for ratio updates.
54
+ * @returns A split-panel container with pointer interaction handlers and ratio state applied.
45
55
  */
46
56
  export declare const BeforeAfterControlled: FunctionComponent<Props>;
@@ -1,95 +1,117 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useRef } from 'react';
3
- import { clss } from '../../agnostic/css/clss/index.js';
2
+ import { useRef } from 'react';
4
3
  import { clamp } from '../../agnostic/numbers/clamp/index.js';
4
+ import { round } from '../../agnostic/numbers/round/index.js';
5
+ import { clss } from '../../agnostic/css/clss/index.js';
5
6
  import { mergeClassNames } from '../utils/index.js';
6
7
  import { beforeAfter as publicClassName } from '../public-classnames.js';
7
8
  import cssModule from './styles.module.css';
8
- import { getRelativePointerCoordinates } from './utils.js';
9
9
  /**
10
- * Props for the {@link BeforeAfterControlled} component.
10
+ * Controlled before/after comparison component.
11
11
  *
12
- * @property beforeContent - Content shown first.
13
- * @property afterContent - Content shown second.
14
- * @property ratio - Split ratio (0 to 1). Controlled by parent.
15
- * @property actionHandlers - Optional pointer (drag) callbacks:
16
- * - `pointer` — called on pointer events with ratio and element info.
17
- * @property _modifiers - Orientation modifiers: `horizontal` or `vertical`.
18
- * @property className - Custom CSS class.
12
+ * Renders two content panels separated by a draggable divider whose position
13
+ * is expressed as a ratio between `0` and `1`. Supports both mouse and touch
14
+ * interactions, distinguishing clicks from drags.
19
15
  *
20
- * @see {@link BeforeAfter}
21
- */
22
- /**
23
- * Controlled before/after slider component. Renders two contents separated by a slider,
24
- * whose ratio is managed by the parent component. Handles pointer interactions (mouse/touch/pen)
25
- * to update the ratio via callbacks.
16
+ * The active ratio is exposed as:
17
+ * - CSS custom properties:
18
+ * - `--{prefix}-ratio`
19
+ * - `--{prefix}-ratio-percent`
20
+ * - A `data-ratio` attribute on the root element.
26
21
  *
27
- * ### Forwarded CSS custom properties
28
- * - `--before-after-ratio` — the current ratio value (0 to 1, fixed to 8 decimals).
29
- * - `--before-after-ratio-percent` — the current ratio as a percentage (0 to 100).
22
+ * ### CSS modifiers
23
+ * - `horizontal`applied when `mode` is `'horizontal'`.
24
+ * - `vertical`applied when `mode` is `'vertical'`.
30
25
  *
31
- * ### Forwarded data attributes
32
- * - `data-ratio` — the current ratio value.
26
+ * ### CSS elements
27
+ * - `before`
28
+ * - `after`
33
29
  *
34
30
  * @param props - Component properties.
35
31
  * @see {@link Props}
36
- * @see {@link BeforeAfter}
37
- * @returns A div containing used to render "before/after" content, with pointer event handling for ratio updates.
32
+ * @returns A split-panel container with pointer interaction handlers and ratio state applied.
38
33
  */
39
- export const BeforeAfterControlled = ({ beforeContent, afterContent, className, ratio, actionHandlers, _modifiers, ...intrisicDivHTMLAttributes }) => {
40
- // Rendering
41
- const isPointerDown = useRef(false);
42
- const onPointerUpRef = useRef(null);
43
- const onPointerMoveRef = useRef(null);
34
+ export const BeforeAfterControlled = ({ mode = 'horizontal', ratio = 0, before, after, className, children, actionHandlers }) => {
35
+ ratio = clamp(ratio, 0, 1);
36
+ // State & refs
44
37
  const rootRef = useRef(null);
45
- const handleOnPointer = useCallback((event) => {
46
- if (actionHandlers?.pointer === undefined || rootRef.current === null)
38
+ const isPointerDown = useRef(false);
39
+ const hasDragged = useRef(false);
40
+ // Utils
41
+ const getRatios = (clientX, clientY) => {
42
+ const rect = rootRef.current?.getBoundingClientRect();
43
+ if (rect === undefined)
44
+ return null;
45
+ return {
46
+ xRatio: (clientX - rect.left) / rect.width,
47
+ yRatio: (clientY - rect.top) / rect.height
48
+ };
49
+ };
50
+ // Handlers
51
+ const handleMouseDown = event => {
52
+ isPointerDown.current = true;
53
+ hasDragged.current = false;
54
+ };
55
+ const handleMouseMove = event => {
56
+ if (!isPointerDown.current)
47
57
  return;
48
- const { x, y } = getRelativePointerCoordinates(event, rootRef.current);
49
- const ratioX = clamp(x / rootRef.current.clientWidth, 0, 1);
50
- const ratioY = clamp(y / rootRef.current.clientHeight, 0, 1);
51
- actionHandlers?.pointer?.(event, ratioX, ratioY, ratio ?? null, rootRef.current);
52
- }, [actionHandlers?.pointer, ratio]);
53
- const removePointerListeners = useCallback(() => {
54
- if (onPointerUpRef.current !== null) {
55
- document.removeEventListener('pointerup', onPointerUpRef.current);
56
- }
57
- if (onPointerMoveRef.current !== null) {
58
- document.removeEventListener('pointermove', onPointerMoveRef.current);
58
+ hasDragged.current = true;
59
+ const ratios = getRatios(event.clientX, event.clientY);
60
+ if (ratios !== null)
61
+ actionHandlers?.dragged?.(ratios.xRatio, ratios.yRatio);
62
+ };
63
+ const handleMouseUp = event => {
64
+ if (!hasDragged.current) {
65
+ const ratios = getRatios(event.clientX, event.clientY);
66
+ if (ratios !== null)
67
+ actionHandlers?.clicked?.(ratios.xRatio, ratios.yRatio);
59
68
  }
60
- onPointerUpRef.current = null;
61
- onPointerMoveRef.current = null;
62
- }, []);
63
- const onPointerMove = useCallback((event) => {
64
- if (!isPointerDown.current) {
69
+ isPointerDown.current = false;
70
+ hasDragged.current = false;
71
+ };
72
+ const handleTouchStart = event => {
73
+ isPointerDown.current = true;
74
+ hasDragged.current = false;
75
+ };
76
+ const handleTouchMove = event => {
77
+ const t = event.touches[0];
78
+ if (t === undefined)
79
+ return;
80
+ if (!isPointerDown.current)
65
81
  return;
82
+ hasDragged.current = true;
83
+ const ratios = getRatios(t.clientX, t.clientY);
84
+ if (ratios !== null)
85
+ actionHandlers?.dragged?.(ratios.xRatio, ratios.yRatio);
86
+ };
87
+ const handleTouchEnd = event => {
88
+ if (!hasDragged.current) {
89
+ const t = event.changedTouches[0];
90
+ if (t !== undefined) {
91
+ const ratios = getRatios(t.clientX, t.clientY);
92
+ if (ratios !== null)
93
+ actionHandlers?.clicked?.(ratios.xRatio, ratios.yRatio);
94
+ }
66
95
  }
67
- handleOnPointer(event);
68
- }, [handleOnPointer]);
69
- const onPointerUp = useCallback((event) => {
70
96
  isPointerDown.current = false;
71
- removePointerListeners();
72
- }, [removePointerListeners]);
73
- const onPointerDown = useCallback((event) => {
74
- removePointerListeners();
75
- isPointerDown.current = true;
76
- handleOnPointer(event.nativeEvent);
77
- onPointerUpRef.current = onPointerUp;
78
- onPointerMoveRef.current = onPointerMove;
79
- document.addEventListener('pointermove', onPointerMoveRef.current);
80
- document.addEventListener('pointerup', onPointerUpRef.current);
81
- }, [handleOnPointer, onPointerUp, onPointerMove, removePointerListeners]);
82
- const outputRatio = ratio !== undefined ? Math.max(0, Math.min(1, ratio)) : 0;
83
- const rootStyles = {
84
- [`--${publicClassName}-ratio`]: outputRatio.toFixed(8),
85
- [`--${publicClassName}-ratio-percent`]: `${(outputRatio * 100).toString()}%`
97
+ hasDragged.current = false;
86
98
  };
99
+ // Classes & attributes
87
100
  const c = clss(publicClassName, { cssModule });
88
- const rootClss = mergeClassNames(c(null, _modifiers), className);
89
- const rootAttributes = {
90
- 'data-ratio': ratio
91
- };
101
+ const rootClss = mergeClassNames(c(null, {
102
+ horizontal: mode === 'horizontal',
103
+ vertical: mode === 'vertical'
104
+ }), className);
92
105
  const beforeClass = c('before');
93
106
  const afterClass = c('after');
94
- return _jsxs("div", { className: rootClss, style: rootStyles, onPointerDown: onPointerDown, ref: rootRef, ...rootAttributes, ...intrisicDivHTMLAttributes, children: [_jsx("div", { className: beforeClass, children: beforeContent }), _jsx("div", { className: afterClass, children: afterContent })] });
107
+ const separatorClass = c('separator');
108
+ const customProps = {
109
+ [`--${publicClassName}-ratio`]: `${round(ratio, 4)}`,
110
+ [`--${publicClassName}-ratio-percent`]: `${round(ratio * 100, 2)}%`
111
+ };
112
+ const dataAttributes = {
113
+ 'data-ratio': `${round(ratio, 4)}`
114
+ };
115
+ // Rendering
116
+ return _jsxs("div", { ref: rootRef, className: rootClss, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, style: { ...customProps }, ...dataAttributes, children: [_jsx("div", { className: beforeClass, children: before }), _jsx("div", { className: afterClass, children: after }), _jsx("div", { className: separatorClass }), children] });
95
117
  };
@@ -3,53 +3,39 @@ import { type Props as ControlledProps } from './index.controlled.js';
3
3
  /**
4
4
  * Props for the {@link BeforeAfter} component.
5
5
  *
6
- * Extends {@link ControlledProps} (minus `_modifiers`, which are derived
7
- * internally) with uncontrolled ratio and direction management.
6
+ * Extends {@link ControlledProps} with uncontrolled defaults and state callbacks.
7
+ * When `ratio` is provided (inherited from {@link ControlledProps}), the component
8
+ * operates in controlled mode and internal state is ignored.
8
9
  *
9
- * @property defaultRatio - Initial ratio value (0 to 1). Used if `ratio` is not provided. Defaults to `0`.
10
- * @property direction - Slider orientation: `'horizontal'` (default) or `'vertical'`.
10
+ * @property defaultRatio - Initial divider position in uncontrolled mode, as a value
11
+ * between `0` and `1`. Ignored when `ratio` is provided. Defaults to `0.5`.
11
12
  * @property stateHandlers - Optional callbacks invoked when derived state changes:
12
- * - `ratio` — called with the new ratio whenever it changes.
13
+ * - `ratioChanged` — called after the internal ratio has been updated, with the new ratio value.
13
14
  */
14
15
  export type Props = ControlledProps & {
15
16
  defaultRatio?: number;
16
- direction?: 'horizontal' | 'vertical';
17
17
  stateHandlers?: {
18
- ratio?: (ratio: number) => void;
18
+ ratioChanged?: (ratio: number) => void;
19
19
  };
20
20
  };
21
21
  /**
22
- * Props for the {@link BeforeAfter} component.
23
- *
24
- * Extends {@link ControlledProps} with uncontrolled ratio and direction management.
25
- *
26
- * @property defaultRatio - Initial ratio value (0 to 1). Used if `ratio` is not provided. Defaults to `0`.
27
- * @property direction - Slider orientation: `'horizontal'` (default) or `'vertical'`. If horizontal, the ratio is calced as the horizontal pointer position over the element width. If vertical, it's the vertical pointer position over the element height.
28
- * @property stateHandlers - Optional callbacks invoked when derived state changes:
29
- * - `ratio` — called with the new ratio whenever it changes.
30
- *
31
- * @see {@link ControlledProps}
32
- */
33
- /**
34
- * Uncontrolled, self-updating before/after slider component. Drives a
35
- * {@link BeforeAfterControlled} instance with internal ratio state and direction,
36
- * supporting both controlled and uncontrolled usage.
37
- *
38
- * Supports mixed controlled/uncontrolled usage: passing `ratio` disables internal ratio state,
39
- * but still allows direction and stateHandlers to be used. Passing `defaultRatio` sets the initial ratio.
22
+ * Before/after comparison component with optional controlled and uncontrolled behavior.
40
23
  *
41
- * ### Forwarded modifiers to {@link BeforeAfterControlled}
42
- * The following `_modifiers` are computed and injected automatically:
43
- * - `horizontal` `true`.
44
- * - `vertical` `true`.
24
+ * Wraps {@link BeforeAfterControlled} and manages internal divider position when
25
+ * operating in uncontrolled mode. The active axis used to derive the ratio from
26
+ * pointer position depends on `mode`: horizontal interactions use the x ratio,
27
+ * vertical interactions use the y ratio.
45
28
  *
46
- * ### Forwarded CSS custom properties to {@link BeforeAfterControlled}
47
- * - `--before-after-ratio` the current ratio value (0 to 1, fixed to 8 decimals).
48
- * - `--before-after-ratio-percent` the current ratio as a percentage (0 to 100).
29
+ * @remarks
30
+ * - In controlled mode (`ratio` defined), divider position is fully driven by the prop
31
+ * and internal state is never updated.
32
+ * - In uncontrolled mode, internal state is initialized from `defaultRatio` and updated
33
+ * on both drag and click interactions.
34
+ * - `actionHandlers.dragged` and `actionHandlers.clicked` are always forwarded to the
35
+ * underlying controlled component, regardless of mode.
49
36
  *
50
37
  * @param props - Component properties.
51
38
  * @see {@link Props}
52
- * @see {@link BeforeAfterControlled}
53
- * @returns A {@link BeforeAfterControlled} with computed ratio and orientation modifiers applied.
39
+ * @returns A {@link BeforeAfterControlled} instance with ratio state managed internally when uncontrolled.
54
40
  */
55
41
  export declare const BeforeAfter: FunctionComponent<Props>;
@@ -1,55 +1,50 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState, useCallback, useEffect } from 'react';
2
+ import { useState } from 'react';
3
3
  import { BeforeAfterControlled } from './index.controlled.js';
4
4
  /**
5
- * Props for the {@link BeforeAfter} component.
5
+ * Before/after comparison component with optional controlled and uncontrolled behavior.
6
6
  *
7
- * Extends {@link ControlledProps} with uncontrolled ratio and direction management.
7
+ * Wraps {@link BeforeAfterControlled} and manages internal divider position when
8
+ * operating in uncontrolled mode. The active axis used to derive the ratio from
9
+ * pointer position depends on `mode`: horizontal interactions use the x ratio,
10
+ * vertical interactions use the y ratio.
8
11
  *
9
- * @property defaultRatio - Initial ratio value (0 to 1). Used if `ratio` is not provided. Defaults to `0`.
10
- * @property direction - Slider orientation: `'horizontal'` (default) or `'vertical'`. If horizontal, the ratio is calced as the horizontal pointer position over the element width. If vertical, it's the vertical pointer position over the element height.
11
- * @property stateHandlers - Optional callbacks invoked when derived state changes:
12
- * - `ratio` called with the new ratio whenever it changes.
13
- *
14
- * @see {@link ControlledProps}
15
- */
16
- /**
17
- * Uncontrolled, self-updating before/after slider component. Drives a
18
- * {@link BeforeAfterControlled} instance with internal ratio state and direction,
19
- * supporting both controlled and uncontrolled usage.
20
- *
21
- * Supports mixed controlled/uncontrolled usage: passing `ratio` disables internal ratio state,
22
- * but still allows direction and stateHandlers to be used. Passing `defaultRatio` sets the initial ratio.
23
- *
24
- * ### Forwarded modifiers to {@link BeforeAfterControlled}
25
- * The following `_modifiers` are computed and injected automatically:
26
- * - `horizontal` — `true`.
27
- * - `vertical` — `true`.
28
- *
29
- * ### Forwarded CSS custom properties to {@link BeforeAfterControlled}
30
- * - `--before-after-ratio` — the current ratio value (0 to 1, fixed to 8 decimals).
31
- * - `--before-after-ratio-percent` — the current ratio as a percentage (0 to 100).
12
+ * @remarks
13
+ * - In controlled mode (`ratio` defined), divider position is fully driven by the prop
14
+ * and internal state is never updated.
15
+ * - In uncontrolled mode, internal state is initialized from `defaultRatio` and updated
16
+ * on both drag and click interactions.
17
+ * - `actionHandlers.dragged` and `actionHandlers.clicked` are always forwarded to the
18
+ * underlying controlled component, regardless of mode.
32
19
  *
33
20
  * @param props - Component properties.
34
21
  * @see {@link Props}
35
- * @see {@link BeforeAfterControlled}
36
- * @returns A {@link BeforeAfterControlled} with computed ratio and orientation modifiers applied.
22
+ * @returns A {@link BeforeAfterControlled} instance with ratio state managed internally when uncontrolled.
37
23
  */
38
- export const BeforeAfter = ({ direction, defaultRatio, stateHandlers, ...controlledProps }) => {
39
- const { actionHandlers, ratio } = controlledProps;
40
- const [internalRatio, setInternalRatio] = useState(ratio ?? defaultRatio ?? 0);
41
- const handlePointer = useCallback((e, targetHRatio, targetVRatio, ratio, element) => {
42
- if (direction === 'vertical')
43
- setInternalRatio(targetVRatio);
44
- else
45
- setInternalRatio(targetHRatio);
46
- actionHandlers?.pointer?.(e, targetHRatio, targetVRatio, ratio, element);
47
- }, [direction, actionHandlers?.pointer]);
48
- useEffect(() => {
49
- stateHandlers?.ratio?.(internalRatio);
50
- }, [internalRatio, stateHandlers?.ratio]);
51
- return _jsx(BeforeAfterControlled, { ...controlledProps, _modifiers: {
52
- horizontal: direction !== 'vertical',
53
- vertical: direction === 'vertical'
54
- }, ratio: ratio ?? internalRatio, actionHandlers: { pointer: handlePointer } });
24
+ export const BeforeAfter = ({ mode = 'horizontal', actionHandlers, stateHandlers, ratio, defaultRatio = 0.5, ...controlledProps }) => {
25
+ const [internalRatio, setInternalRatio] = useState(defaultRatio);
26
+ const isControlled = ratio !== undefined;
27
+ const effectiveRatio = isControlled ? ratio : internalRatio;
28
+ const handleDrag = (x, y) => {
29
+ x = 1.02 * x - 0.01;
30
+ y = 1.02 * y - 0.01;
31
+ actionHandlers?.dragged?.(x, y);
32
+ if (!isControlled) {
33
+ setInternalRatio(mode === 'horizontal' ? x : y);
34
+ stateHandlers?.ratioChanged?.(mode === 'horizontal' ? x : y);
35
+ }
36
+ };
37
+ const handleClick = (x, y) => {
38
+ x = 1.02 * x - 0.01;
39
+ y = 1.02 * y - 0.01;
40
+ actionHandlers?.clicked?.(x, y);
41
+ if (!isControlled) {
42
+ setInternalRatio(mode === 'horizontal' ? x : y);
43
+ stateHandlers?.ratioChanged?.(mode === 'horizontal' ? x : y);
44
+ }
45
+ };
46
+ return _jsx(BeforeAfterControlled, { ...controlledProps, mode: mode, ratio: effectiveRatio, actionHandlers: {
47
+ dragged: handleDrag,
48
+ clicked: handleClick
49
+ } });
55
50
  };
@@ -5,11 +5,9 @@ import type { WithClassName } from '../utils/types.js';
5
5
  /**
6
6
  * Describes a single responsive image source for use in a `<picture>` element.
7
7
  *
8
- * @property srcSet - One or more image URLs with optional width/density descriptors
9
- * (e.g. `'img@2x.png 2x'`).
8
+ * @property srcSet - One or more image URLs with optional width/density descriptors (e.g. `'img@2x.png 2x'`).
10
9
  * @property type - MIME type hint for the source (e.g. `'image/webp'`).
11
- * @property media - Media condition under which this source is selected
12
- * (e.g. `'(max-width: 768px)'`).
10
+ * @property media - Media condition under which this source is selected (e.g. `'(max-width: 768px)'`).
13
11
  * @property sizes - Sizes attribute forwarded to the `<source>` element.
14
12
  */
15
13
  type SourceData = {
@@ -1,7 +1,7 @@
1
1
  export * as beforeAfter from './BeforeAfter/index.js'
2
- export * as clippable from './Clippable/index.js'
3
2
  export * as disclaimer from './Disclaimer/index.js'
4
3
  export * as drawer from './Drawer/index.js'
4
+ export * as clippable from './Clippable/index.js'
5
5
  export * as eventListener from './EventListener/index.js'
6
6
  export * as gallery from './Gallery/index.js'
7
7
  export * as iframe from './Iframe/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as beforeAfter from './BeforeAfter/index.js'
2
- export * as clippable from './Clippable/index.js'
3
2
  export * as disclaimer from './Disclaimer/index.js'
4
3
  export * as drawer from './Drawer/index.js'
4
+ export * as clippable from './Clippable/index.js'
5
5
  export * as eventListener from './EventListener/index.js'
6
6
  export * as gallery from './Gallery/index.js'
7
7
  export * as iframe from './Iframe/index.js'
package/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * as components from './components/index.js'
2
1
  export * as agnostic from './agnostic/index.js'
2
+ export * as components from './components/index.js'
3
3
  export * as node from './node/index.js'
package/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * as components from './components/index.js'
2
1
  export * as agnostic from './agnostic/index.js'
2
+ export * as components from './components/index.js'
3
3
  export * as node from './node/index.js'
@@ -1,7 +1,7 @@
1
- export * as download from './download/index.js'
2
1
  export * as copy from './copy/index.js'
2
+ export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
+ export * as remove from './remove/index.js'
5
6
  export * as stat from './stat/index.js'
6
7
  export * as upload from './upload/index.js'
7
- export * as remove from './remove/index.js'
@@ -1,7 +1,7 @@
1
- export * as download from './download/index.js'
2
1
  export * as copy from './copy/index.js'
2
+ export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as move from './move/index.js'
5
+ export * as remove from './remove/index.js'
5
6
  export * as stat from './stat/index.js'
6
7
  export * as upload from './upload/index.js'
7
- export * as remove from './remove/index.js'
@@ -2,8 +2,8 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getMetadata from './get-metadata/index.js'
6
5
  export * as getPermissions from './get-permissions/index.js'
6
+ export * as getMetadata from './get-metadata/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
9
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
@@ -2,8 +2,8 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getMetadata from './get-metadata/index.js'
6
5
  export * as getPermissions from './get-permissions/index.js'
6
+ export * as getMetadata from './get-metadata/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
9
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as exists from './exists/index.js'
3
2
  export * as download from './download/index.js'
4
- export * as move from './move/index.js'
3
+ export * as exists from './exists/index.js'
5
4
  export * as remove from './remove/index.js'
5
+ export * as move from './move/index.js'
6
6
  export * as stat from './stat/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
- export * as exists from './exists/index.js'
3
2
  export * as download from './download/index.js'
4
- export * as move from './move/index.js'
3
+ export * as exists from './exists/index.js'
5
4
  export * as remove from './remove/index.js'
5
+ export * as move from './move/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
- export * as format from './format/index.js'
3
2
  export * as metadata from './metadata/index.js'
4
3
  export * as transform from './transform/index.js'
5
4
  export * as utils from './utils/index.js'
5
+ export * as format from './format/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
- export * as format from './format/index.js'
3
2
  export * as metadata from './metadata/index.js'
4
3
  export * as transform from './transform/index.js'
5
4
  export * as utils from './utils/index.js'
5
+ export * as format from './format/index.js'
@@ -4,8 +4,8 @@ export * as extend from './extend/index.js'
4
4
  export * as extract from './extract/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
7
- export * as hue from './hue/index.js'
8
7
  export * as flop from './flop/index.js'
8
+ export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
10
  export * as lighten from './lighten/index.js'
11
11
  export * as normalize from './normalize/index.js'
@@ -4,8 +4,8 @@ export * as extend from './extend/index.js'
4
4
  export * as extract from './extract/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
6
  export * as flip from './flip/index.js'
7
- export * as hue from './hue/index.js'
8
7
  export * as flop from './flop/index.js'
8
+ export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
10
  export * as lighten from './lighten/index.js'
11
11
  export * as normalize from './normalize/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.4.16",
3
+ "version": "0.4.18",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",