@design-edito/tools 0.5.35 → 0.5.37
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.
- package/agnostic/arrays/index.d.ts +1 -1
- package/agnostic/arrays/index.js +1 -1
- package/agnostic/colors/index.d.ts +2 -2
- package/agnostic/colors/index.js +2 -2
- package/agnostic/css/index.d.ts +1 -1
- package/agnostic/css/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +9 -9
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +9 -9
- package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
- package/agnostic/html/index.d.ts +1 -1
- package/agnostic/html/index.js +1 -1
- package/agnostic/index.d.ts +2 -2
- package/agnostic/index.js +2 -2
- package/agnostic/misc/index.d.ts +2 -2
- package/agnostic/misc/index.js +2 -2
- package/agnostic/numbers/index.d.ts +2 -2
- package/agnostic/numbers/index.js +2 -2
- package/agnostic/objects/index.d.ts +1 -1
- package/agnostic/objects/index.js +1 -1
- package/agnostic/random/index.d.ts +1 -1
- package/agnostic/random/index.js +1 -1
- package/agnostic/sanitization/index.d.ts +1 -1
- package/agnostic/sanitization/index.js +1 -1
- package/agnostic/strings/index.d.ts +1 -1
- package/agnostic/strings/index.js +1 -1
- package/agnostic/time/dates/index.d.ts +1 -1
- package/agnostic/time/dates/index.js +1 -1
- package/components/BeforeAfter/index.controlled.d.ts +10 -4
- package/components/BeforeAfter/index.controlled.js +2 -2
- package/components/BeforeAfter/index.js +4 -4
- package/components/Clippable/index.d.ts +5 -2
- package/components/Clippable/index.js +1 -1
- package/components/UIModule/index.d.ts +6 -3
- package/components/UIModule/index.js +11 -2
- package/components/Video/index.controlled.d.ts +45 -10
- package/components/Video/index.controlled.js +15 -10
- package/components/Video/index.js +23 -23
- package/components/index.d.ts +4 -4
- package/components/index.js +4 -4
- package/node/@aws-s3/storage/file/index.d.ts +1 -1
- package/node/@aws-s3/storage/file/index.js +1 -1
- package/node/@google-cloud/storage/directory/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/index.js +1 -1
- package/node/@google-cloud/storage/file/index.d.ts +3 -3
- package/node/@google-cloud/storage/file/index.js +3 -3
- package/node/cloud-storage/operations/index.d.ts +1 -1
- package/node/cloud-storage/operations/index.js +1 -1
- package/node/images/index.d.ts +1 -1
- package/node/images/index.js +1 -1
- package/node/index.d.ts +1 -1
- package/node/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as dedupe from './dedupe/index.js'
|
|
2
|
-
export * as findDuplicates from './find-duplicates/index.js'
|
|
3
2
|
export * as isArrayOf from './is-array-of/index.js'
|
|
4
3
|
export * as make from './make/index.js'
|
|
5
4
|
export * as randomPick from './random-pick/index.js'
|
|
6
5
|
export * as shuffle from './shuffle/index.js'
|
|
6
|
+
export * as findDuplicates from './find-duplicates/index.js'
|
package/agnostic/arrays/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as dedupe from './dedupe/index.js'
|
|
2
|
-
export * as findDuplicates from './find-duplicates/index.js'
|
|
3
2
|
export * as isArrayOf from './is-array-of/index.js'
|
|
4
3
|
export * as make from './make/index.js'
|
|
5
4
|
export * as randomPick from './random-pick/index.js'
|
|
6
5
|
export * as shuffle from './shuffle/index.js'
|
|
6
|
+
export * as findDuplicates from './find-duplicates/index.js'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as channels from './channels/index.js'
|
|
2
2
|
export * as contrast from './contrast/index.js'
|
|
3
3
|
export * as convert from './convert/index.js'
|
|
4
|
-
export * as grayscale from './grayscale/index.js'
|
|
5
4
|
export * as distance from './distance/index.js'
|
|
5
|
+
export * as grayscale from './grayscale/index.js'
|
|
6
6
|
export * as invert from './invert/index.js'
|
|
7
|
+
export * as lerp from './lerp/index.js'
|
|
7
8
|
export * as luminance from './luminance/index.js'
|
|
8
9
|
export * as palette from './palette/index.js'
|
|
9
10
|
export * as rotate from './rotate/index.js'
|
|
10
11
|
export * as tidy from './tidy/index.js'
|
|
11
12
|
export * as typechecks from './typechecks/index.js'
|
|
12
|
-
export * as lerp from './lerp/index.js'
|
package/agnostic/colors/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as channels from './channels/index.js'
|
|
2
2
|
export * as contrast from './contrast/index.js'
|
|
3
3
|
export * as convert from './convert/index.js'
|
|
4
|
-
export * as grayscale from './grayscale/index.js'
|
|
5
4
|
export * as distance from './distance/index.js'
|
|
5
|
+
export * as grayscale from './grayscale/index.js'
|
|
6
6
|
export * as invert from './invert/index.js'
|
|
7
|
+
export * as lerp from './lerp/index.js'
|
|
7
8
|
export * as luminance from './luminance/index.js'
|
|
8
9
|
export * as palette from './palette/index.js'
|
|
9
10
|
export * as rotate from './rotate/index.js'
|
|
10
11
|
export * as tidy from './tidy/index.js'
|
|
11
12
|
export * as typechecks from './typechecks/index.js'
|
|
12
|
-
export * as lerp from './lerp/index.js'
|
package/agnostic/css/index.d.ts
CHANGED
|
@@ -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'
|
package/agnostic/css/index.js
CHANGED
|
@@ -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'
|
|
@@ -5,20 +5,20 @@ export * as and from './and/index.js'
|
|
|
5
5
|
export * as at from './at/index.js'
|
|
6
6
|
export * as call from './call/index.js'
|
|
7
7
|
export * as clone from './clone/index.js'
|
|
8
|
-
export * as deleteproperties from './deleteproperties/index.js'
|
|
9
8
|
export * as equals from './equals/index.js'
|
|
9
|
+
export * as deleteproperties from './deleteproperties/index.js'
|
|
10
10
|
export * as getattribute from './getattribute/index.js'
|
|
11
11
|
export * as getproperties from './getproperties/index.js'
|
|
12
|
+
export * as hjparse from './hjparse/index.js'
|
|
12
13
|
export * as getproperty from './getproperty/index.js'
|
|
13
|
-
export * as hjstringify from './hjstringify/index.js'
|
|
14
14
|
export * as if from './if/index.js'
|
|
15
15
|
export * as initialize from './initialize/index.js'
|
|
16
16
|
export * as join from './join/index.js'
|
|
17
17
|
export * as length from './length/index.js'
|
|
18
18
|
export * as map from './map/index.js'
|
|
19
|
+
export * as hjstringify from './hjstringify/index.js'
|
|
19
20
|
export * as negate from './negate/index.js'
|
|
20
21
|
export * as notrailing from './notrailing/index.js'
|
|
21
|
-
export * as hjparse from './hjparse/index.js'
|
|
22
22
|
export * as or from './or/index.js'
|
|
23
23
|
export * as pickrandom from './pickrandom/index.js'
|
|
24
24
|
export * as populate from './populate/index.js'
|
|
@@ -33,20 +33,20 @@ export * as replace from './replace/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
|
-
export * as setproperty from './setproperty/index.js'
|
|
37
36
|
export * as sorton from './sorton/index.js'
|
|
38
|
-
export * as split from './split/index.js'
|
|
39
37
|
export * as spread from './spread/index.js'
|
|
40
|
-
export * as toboolean from './toboolean/index.js'
|
|
41
|
-
export * as toggleclass from './toggleclass/index.js'
|
|
42
38
|
export * as toarray from './toarray/index.js'
|
|
39
|
+
export * as toboolean from './toboolean/index.js'
|
|
43
40
|
export * as toelement from './toelement/index.js'
|
|
41
|
+
export * as toggleclass from './toggleclass/index.js'
|
|
42
|
+
export * as setproperty from './setproperty/index.js'
|
|
43
|
+
export * as split from './split/index.js'
|
|
44
44
|
export * as tonodelist from './tonodelist/index.js'
|
|
45
45
|
export * as tonull from './tonull/index.js'
|
|
46
|
-
export * as torecord from './torecord/index.js'
|
|
47
|
-
export * as toref from './toref/index.js'
|
|
48
46
|
export * as tonumber from './tonumber/index.js'
|
|
47
|
+
export * as toref from './toref/index.js'
|
|
49
48
|
export * as tostring from './tostring/index.js'
|
|
49
|
+
export * as torecord from './torecord/index.js'
|
|
50
50
|
export * as totext from './totext/index.js'
|
|
51
51
|
export * as transformselected from './transformselected/index.js'
|
|
52
52
|
export * as trim from './trim/index.js'
|
|
@@ -5,20 +5,20 @@ export * as and from './and/index.js'
|
|
|
5
5
|
export * as at from './at/index.js'
|
|
6
6
|
export * as call from './call/index.js'
|
|
7
7
|
export * as clone from './clone/index.js'
|
|
8
|
-
export * as deleteproperties from './deleteproperties/index.js'
|
|
9
8
|
export * as equals from './equals/index.js'
|
|
9
|
+
export * as deleteproperties from './deleteproperties/index.js'
|
|
10
10
|
export * as getattribute from './getattribute/index.js'
|
|
11
11
|
export * as getproperties from './getproperties/index.js'
|
|
12
|
+
export * as hjparse from './hjparse/index.js'
|
|
12
13
|
export * as getproperty from './getproperty/index.js'
|
|
13
|
-
export * as hjstringify from './hjstringify/index.js'
|
|
14
14
|
export * as if from './if/index.js'
|
|
15
15
|
export * as initialize from './initialize/index.js'
|
|
16
16
|
export * as join from './join/index.js'
|
|
17
17
|
export * as length from './length/index.js'
|
|
18
18
|
export * as map from './map/index.js'
|
|
19
|
+
export * as hjstringify from './hjstringify/index.js'
|
|
19
20
|
export * as negate from './negate/index.js'
|
|
20
21
|
export * as notrailing from './notrailing/index.js'
|
|
21
|
-
export * as hjparse from './hjparse/index.js'
|
|
22
22
|
export * as or from './or/index.js'
|
|
23
23
|
export * as pickrandom from './pickrandom/index.js'
|
|
24
24
|
export * as populate from './populate/index.js'
|
|
@@ -33,20 +33,20 @@ export * as replace from './replace/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
|
-
export * as setproperty from './setproperty/index.js'
|
|
37
36
|
export * as sorton from './sorton/index.js'
|
|
38
|
-
export * as split from './split/index.js'
|
|
39
37
|
export * as spread from './spread/index.js'
|
|
40
|
-
export * as toboolean from './toboolean/index.js'
|
|
41
|
-
export * as toggleclass from './toggleclass/index.js'
|
|
42
38
|
export * as toarray from './toarray/index.js'
|
|
39
|
+
export * as toboolean from './toboolean/index.js'
|
|
43
40
|
export * as toelement from './toelement/index.js'
|
|
41
|
+
export * as toggleclass from './toggleclass/index.js'
|
|
42
|
+
export * as setproperty from './setproperty/index.js'
|
|
43
|
+
export * as split from './split/index.js'
|
|
44
44
|
export * as tonodelist from './tonodelist/index.js'
|
|
45
45
|
export * as tonull from './tonull/index.js'
|
|
46
|
-
export * as torecord from './torecord/index.js'
|
|
47
|
-
export * as toref from './toref/index.js'
|
|
48
46
|
export * as tonumber from './tonumber/index.js'
|
|
47
|
+
export * as toref from './toref/index.js'
|
|
49
48
|
export * as tostring from './tostring/index.js'
|
|
49
|
+
export * as torecord from './torecord/index.js'
|
|
50
50
|
export * as totext from './totext/index.js'
|
|
51
51
|
export * as transformselected from './transformselected/index.js'
|
|
52
52
|
export * as trim from './trim/index.js'
|
|
@@ -3,8 +3,8 @@ export * as array from './array/index.js'
|
|
|
3
3
|
export * as boolean from './boolean/index.js'
|
|
4
4
|
export * as element from './element/index.js'
|
|
5
5
|
export * as get from './get/index.js'
|
|
6
|
-
export * as guess from './guess/index.js'
|
|
7
6
|
export * as nodelist from './nodelist/index.js'
|
|
7
|
+
export * as guess from './guess/index.js'
|
|
8
8
|
export * as null from './null/index.js'
|
|
9
9
|
export * as number from './number/index.js'
|
|
10
10
|
export * as record from './record/index.js'
|
|
@@ -3,8 +3,8 @@ export * as array from './array/index.js'
|
|
|
3
3
|
export * as boolean from './boolean/index.js'
|
|
4
4
|
export * as element from './element/index.js'
|
|
5
5
|
export * as get from './get/index.js'
|
|
6
|
-
export * as guess from './guess/index.js'
|
|
7
6
|
export * as nodelist from './nodelist/index.js'
|
|
7
|
+
export * as guess from './guess/index.js'
|
|
8
8
|
export * as null from './null/index.js'
|
|
9
9
|
export * as number from './number/index.js'
|
|
10
10
|
export * as record from './record/index.js'
|
package/agnostic/html/index.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export * as insertNode from './insert-node/index.js'
|
|
|
6
6
|
export * as placeholders from './placeholders/index.js'
|
|
7
7
|
export * as replaceInElement from './replace-in-element/index.js'
|
|
8
8
|
export * as selectorToElement from './selector-to-element/index.js'
|
|
9
|
-
export * as stringToNodes from './string-to-nodes/index.js'
|
|
10
9
|
export * as watchSelection from './watch-selection/index.js'
|
|
10
|
+
export * as stringToNodes from './string-to-nodes/index.js'
|
package/agnostic/html/index.js
CHANGED
|
@@ -6,5 +6,5 @@ export * as insertNode from './insert-node/index.js'
|
|
|
6
6
|
export * as placeholders from './placeholders/index.js'
|
|
7
7
|
export * as replaceInElement from './replace-in-element/index.js'
|
|
8
8
|
export * as selectorToElement from './selector-to-element/index.js'
|
|
9
|
-
export * as stringToNodes from './string-to-nodes/index.js'
|
|
10
9
|
export * as watchSelection from './watch-selection/index.js'
|
|
10
|
+
export * as stringToNodes from './string-to-nodes/index.js'
|
package/agnostic/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * as arrays from './arrays/index.js'
|
|
1
2
|
export * as booleans from './booleans/index.js'
|
|
2
3
|
export * as colors from './colors/index.js'
|
|
3
4
|
export * as css from './css/index.js'
|
|
@@ -11,7 +12,6 @@ export * as random from './random/index.js'
|
|
|
11
12
|
export * as regexps from './regexps/index.js'
|
|
12
13
|
export * as sanitization from './sanitization/index.js'
|
|
13
14
|
export * as strings from './strings/index.js'
|
|
14
|
-
export * as subtitles from './subtitles/index.js'
|
|
15
15
|
export * as time from './time/index.js'
|
|
16
|
-
export * as
|
|
16
|
+
export * as subtitles from './subtitles/index.js'
|
|
17
17
|
export * as typescript from './typescript/index.js'
|
package/agnostic/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * as arrays from './arrays/index.js'
|
|
1
2
|
export * as booleans from './booleans/index.js'
|
|
2
3
|
export * as colors from './colors/index.js'
|
|
3
4
|
export * as css from './css/index.js'
|
|
@@ -11,7 +12,6 @@ export * as random from './random/index.js'
|
|
|
11
12
|
export * as regexps from './regexps/index.js'
|
|
12
13
|
export * as sanitization from './sanitization/index.js'
|
|
13
14
|
export * as strings from './strings/index.js'
|
|
14
|
-
export * as subtitles from './subtitles/index.js'
|
|
15
15
|
export * as time from './time/index.js'
|
|
16
|
-
export * as
|
|
16
|
+
export * as subtitles from './subtitles/index.js'
|
|
17
17
|
export * as typescript from './typescript/index.js'
|
package/agnostic/misc/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as assert from './assert/index.js'
|
|
2
2
|
export * as cast from './cast/index.js'
|
|
3
3
|
export * as connection from './connection/index.js'
|
|
4
|
+
export * as crawler from './crawler/index.js'
|
|
5
|
+
export * as crossenv from './crossenv/index.js'
|
|
4
6
|
export * as dataSize from './data-size/index.js'
|
|
5
7
|
export * as isConstructorFunction from './is-constructor-function/index.js'
|
|
6
8
|
export * as isNullish from './is-nullish/index.js'
|
|
7
9
|
export * as logs from './logs/index.js'
|
|
8
10
|
export * as loremIpsum from './lorem-ipsum/index.js'
|
|
9
11
|
export * as normalizeExtension from './normalize-extension/index.js'
|
|
10
|
-
export * as crawler from './crawler/index.js'
|
|
11
|
-
export * as crossenv from './crossenv/index.js'
|
|
12
12
|
export * as outcome from './outcome/index.js'
|
package/agnostic/misc/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as assert from './assert/index.js'
|
|
2
2
|
export * as cast from './cast/index.js'
|
|
3
3
|
export * as connection from './connection/index.js'
|
|
4
|
+
export * as crawler from './crawler/index.js'
|
|
5
|
+
export * as crossenv from './crossenv/index.js'
|
|
4
6
|
export * as dataSize from './data-size/index.js'
|
|
5
7
|
export * as isConstructorFunction from './is-constructor-function/index.js'
|
|
6
8
|
export * as isNullish from './is-nullish/index.js'
|
|
7
9
|
export * as logs from './logs/index.js'
|
|
8
10
|
export * as loremIpsum from './lorem-ipsum/index.js'
|
|
9
11
|
export * as normalizeExtension from './normalize-extension/index.js'
|
|
10
|
-
export * as crawler from './crawler/index.js'
|
|
11
|
-
export * as crossenv from './crossenv/index.js'
|
|
12
12
|
export * as outcome from './outcome/index.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as absoluteModulo from './absolute-modulo/index.js'
|
|
2
|
-
export * as clamp from './clamp/index.js'
|
|
3
2
|
export * as approximateRational from './approximate-rational/index.js'
|
|
4
|
-
export * as
|
|
3
|
+
export * as clamp from './clamp/index.js'
|
|
5
4
|
export * as interpolate from './interpolate/index.js'
|
|
6
5
|
export * as round from './round/index.js'
|
|
6
|
+
export * as geometricProgressions from './geometric-progressions/index.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as absoluteModulo from './absolute-modulo/index.js'
|
|
2
|
-
export * as clamp from './clamp/index.js'
|
|
3
2
|
export * as approximateRational from './approximate-rational/index.js'
|
|
4
|
-
export * as
|
|
3
|
+
export * as clamp from './clamp/index.js'
|
|
5
4
|
export * as interpolate from './interpolate/index.js'
|
|
6
5
|
export * as round from './round/index.js'
|
|
6
|
+
export * as geometricProgressions from './geometric-progressions/index.js'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * as deepGetProperty from './deep-get-property/index.js'
|
|
2
2
|
export * as enums from './enums/index.js'
|
|
3
3
|
export * as flattenGetters from './flatten-getters/index.js'
|
|
4
|
-
export * as isObject from './is-object/index.js'
|
|
5
4
|
export * as isRecord from './is-record/index.js'
|
|
6
5
|
export * as recordFormat from './record-format/index.js'
|
|
7
6
|
export * as recordMap from './record-map/index.js'
|
|
8
7
|
export * as sortKeys from './sort-keys/index.js'
|
|
9
8
|
export * as validation from './validation/index.js'
|
|
9
|
+
export * as isObject from './is-object/index.js'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * as deepGetProperty from './deep-get-property/index.js'
|
|
2
2
|
export * as enums from './enums/index.js'
|
|
3
3
|
export * as flattenGetters from './flatten-getters/index.js'
|
|
4
|
-
export * as isObject from './is-object/index.js'
|
|
5
4
|
export * as isRecord from './is-record/index.js'
|
|
6
5
|
export * as recordFormat from './record-format/index.js'
|
|
7
6
|
export * as recordMap from './record-map/index.js'
|
|
8
7
|
export * as sortKeys from './sort-keys/index.js'
|
|
9
8
|
export * as validation from './validation/index.js'
|
|
9
|
+
export * as isObject from './is-object/index.js'
|
package/agnostic/random/index.js
CHANGED
|
@@ -3,6 +3,6 @@ export * as matches from './matches/index.js'
|
|
|
3
3
|
export * as normalizeIndent from './normalize-indent/index.js'
|
|
4
4
|
export * as parseTable from './parse-table/index.js'
|
|
5
5
|
export * as replaceAll from './replace-all/index.js'
|
|
6
|
-
export * as toAlphanum from './to-alphanum/index.js'
|
|
7
6
|
export * as splitTrim from './split-trim/index.js'
|
|
7
|
+
export * as toAlphanum from './to-alphanum/index.js'
|
|
8
8
|
export * as trim from './trim/index.js'
|
|
@@ -3,6 +3,6 @@ export * as matches from './matches/index.js'
|
|
|
3
3
|
export * as normalizeIndent from './normalize-indent/index.js'
|
|
4
4
|
export * as parseTable from './parse-table/index.js'
|
|
5
5
|
export * as replaceAll from './replace-all/index.js'
|
|
6
|
-
export * as toAlphanum from './to-alphanum/index.js'
|
|
7
6
|
export * as splitTrim from './split-trim/index.js'
|
|
7
|
+
export * as toAlphanum from './to-alphanum/index.js'
|
|
8
8
|
export * as trim from './trim/index.js'
|
|
@@ -9,9 +9,9 @@ import type { WithClassName } from '../utils/types.js';
|
|
|
9
9
|
* @property before - Content rendered in the first (before) panel.
|
|
10
10
|
* @property after - Content rendered in the second (after) panel.
|
|
11
11
|
* @property onDragged - Called on each pointer move while dragging, with the
|
|
12
|
-
* pointer's
|
|
12
|
+
* pointer's `xRatio` and `yRatio` relative to the component's bounds.
|
|
13
13
|
* @property onClicked - Called on pointer release when no drag occurred, with
|
|
14
|
-
* the release position's
|
|
14
|
+
* the release position's `xRatio` and `yRatio`.
|
|
15
15
|
* @property className - Additional class name(s) applied to the root element.
|
|
16
16
|
* @property children - Arbitrary content to inject inside the component.
|
|
17
17
|
*/
|
|
@@ -20,8 +20,14 @@ export type Props = PropsWithChildren<WithClassName<{
|
|
|
20
20
|
ratio?: number;
|
|
21
21
|
before?: ReactNode;
|
|
22
22
|
after?: ReactNode;
|
|
23
|
-
onDragged?: (
|
|
24
|
-
|
|
23
|
+
onDragged?: (payload: {
|
|
24
|
+
xRatio: number;
|
|
25
|
+
yRatio: number;
|
|
26
|
+
}) => void;
|
|
27
|
+
onClicked?: (payload: {
|
|
28
|
+
xRatio: number;
|
|
29
|
+
yRatio: number;
|
|
30
|
+
}) => void;
|
|
25
31
|
}>>;
|
|
26
32
|
/**
|
|
27
33
|
* Controlled before/after comparison component.
|
|
@@ -55,12 +55,12 @@ export const ControlledBeforeAfter = ({ mode = 'horizontal', ratio = 0, before,
|
|
|
55
55
|
const reportDrag = (clientX, clientY) => {
|
|
56
56
|
const ratios = getRatios(clientX, clientY);
|
|
57
57
|
if (ratios !== null)
|
|
58
|
-
onDragged?.(ratios
|
|
58
|
+
onDragged?.(ratios);
|
|
59
59
|
};
|
|
60
60
|
const reportClick = (clientX, clientY) => {
|
|
61
61
|
const ratios = getRatios(clientX, clientY);
|
|
62
62
|
if (ratios !== null)
|
|
63
|
-
onClicked?.(ratios
|
|
63
|
+
onClicked?.(ratios);
|
|
64
64
|
};
|
|
65
65
|
// User action handlers
|
|
66
66
|
const handlePointerDown = () => {
|
|
@@ -45,16 +45,16 @@ export const BeforeAfter = ({ mode = 'horizontal', ratio, defaultRatio = 0.5, on
|
|
|
45
45
|
return;
|
|
46
46
|
setInternalRatio(mode === 'horizontal' ? xRatio : yRatio);
|
|
47
47
|
};
|
|
48
|
-
const handleDrag = (xRatio, yRatio) => {
|
|
48
|
+
const handleDrag = ({ xRatio, yRatio }) => {
|
|
49
49
|
const x = toDividerRatio(xRatio);
|
|
50
50
|
const y = toDividerRatio(yRatio);
|
|
51
|
-
onDragged?.(x, y);
|
|
51
|
+
onDragged?.({ xRatio: x, yRatio: y });
|
|
52
52
|
moveDividerTo(x, y);
|
|
53
53
|
};
|
|
54
|
-
const handleClick = (xRatio, yRatio) => {
|
|
54
|
+
const handleClick = ({ xRatio, yRatio }) => {
|
|
55
55
|
const x = toDividerRatio(xRatio);
|
|
56
56
|
const y = toDividerRatio(yRatio);
|
|
57
|
-
onClicked?.(x, y);
|
|
57
|
+
onClicked?.({ xRatio: x, yRatio: y });
|
|
58
58
|
moveDividerTo(x, y);
|
|
59
59
|
};
|
|
60
60
|
// Rendering
|
|
@@ -16,7 +16,7 @@ import type { WithClassName } from '../utils/types.js';
|
|
|
16
16
|
* say different things, and an article that names one without the other means the other
|
|
17
17
|
* to come from the stylesheet.
|
|
18
18
|
* @property onCopyClicked - Called when the copy button is clicked, before the
|
|
19
|
-
* clipboard content is resolved, with the container's
|
|
19
|
+
* clipboard content is resolved, with `event` and the container's `rawHtml`.
|
|
20
20
|
* @property onClipped - Called once content has been written to the clipboard.
|
|
21
21
|
* Not called when the write fails.
|
|
22
22
|
* @property onCopyFailed - Called when the clipboard write throws, with the
|
|
@@ -28,7 +28,10 @@ export type Props = PropsWithChildren<WithClassName<{
|
|
|
28
28
|
toClip?: string | ((curr: string | undefined) => string | undefined);
|
|
29
29
|
copyBtnContent?: ReactNode;
|
|
30
30
|
clippedBtnContent?: ReactNode;
|
|
31
|
-
onCopyClicked?: (
|
|
31
|
+
onCopyClicked?: (payload: {
|
|
32
|
+
event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>;
|
|
33
|
+
rawHtml: string | undefined;
|
|
34
|
+
}) => void;
|
|
32
35
|
onClipped?: (content: string) => void;
|
|
33
36
|
onCopyFailed?: (error: unknown) => void;
|
|
34
37
|
}>>;
|
|
@@ -34,7 +34,7 @@ export const Clippable = ({ className, children, toClip, copyBtnContent, clipped
|
|
|
34
34
|
// User action handlers
|
|
35
35
|
const handleCopyClick = async (e) => {
|
|
36
36
|
const rawHtml = contentRef.current?.innerHTML;
|
|
37
|
-
onCopyClicked?.(e, rawHtml);
|
|
37
|
+
onCopyClicked?.({ event: e, rawHtml });
|
|
38
38
|
const html = typeof toClip === 'string'
|
|
39
39
|
? toClip
|
|
40
40
|
: typeof toClip === 'function'
|
|
@@ -11,7 +11,9 @@ import type { WithClassName } from '../utils/types.js';
|
|
|
11
11
|
* error state.
|
|
12
12
|
* @property postInit - Optional. Called once, right after the element returned by
|
|
13
13
|
* `init` has been appended. First point at which the module holds an attached
|
|
14
|
-
* element: layout can be measured and ancestors reached.
|
|
14
|
+
* element: layout can be measured and ancestors reached. **May return a teardown
|
|
15
|
+
* function**, run at unmount before `destroy` — which lets whatever it set up stay in
|
|
16
|
+
* its own closure instead of being filed somewhere `destroy` can find it again.
|
|
15
17
|
* @property update - Optional. Called when the `props` object changes identity,
|
|
16
18
|
* once the module is live. Compared by reference, not by value — a consumer passing
|
|
17
19
|
* an inline object gets one call per render, one passing a stable reference gets one
|
|
@@ -25,7 +27,7 @@ import type { WithClassName } from '../utils/types.js';
|
|
|
25
27
|
*/
|
|
26
28
|
type ModuleData = {
|
|
27
29
|
init: (props: Record<string, unknown>) => Element;
|
|
28
|
-
postInit?: (target: Element, props: Record<string, unknown>) => void;
|
|
30
|
+
postInit?: (target: Element, props: Record<string, unknown>) => void | (() => void);
|
|
29
31
|
update?: (target: Element, props: Record<string, unknown>) => void;
|
|
30
32
|
destroy?: (target: Element) => void;
|
|
31
33
|
css?: string[];
|
|
@@ -69,7 +71,8 @@ export type Props = WithClassName<{
|
|
|
69
71
|
* ### Lifecycle
|
|
70
72
|
* `init(props)` builds the element, **detached**. It is appended, then `postInit`
|
|
71
73
|
* runs on it attached. `update` follows each change of the `props` object's
|
|
72
|
-
* identity
|
|
74
|
+
* identity. At unmount, or when `src` changes, the teardown `postInit` returned runs
|
|
75
|
+
* first, then `destroy`.
|
|
73
76
|
*
|
|
74
77
|
* ### CSS modifiers
|
|
75
78
|
* Reflecting the current load lifecycle:
|
|
@@ -20,7 +20,8 @@ import cssModule from './styles.module.css';
|
|
|
20
20
|
* ### Lifecycle
|
|
21
21
|
* `init(props)` builds the element, **detached**. It is appended, then `postInit`
|
|
22
22
|
* runs on it attached. `update` follows each change of the `props` object's
|
|
23
|
-
* identity
|
|
23
|
+
* identity. At unmount, or when `src` changes, the teardown `postInit` returned runs
|
|
24
|
+
* first, then `destroy`.
|
|
24
25
|
*
|
|
25
26
|
* ### CSS modifiers
|
|
26
27
|
* Reflecting the current load lifecycle:
|
|
@@ -113,6 +114,9 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
|
|
|
113
114
|
const liveInstance = liveInstanceRef.current;
|
|
114
115
|
if (liveInstance === null)
|
|
115
116
|
return;
|
|
117
|
+
// The teardown `postInit` handed back first: it undoes what `postInit` did, so it
|
|
118
|
+
// runs in reverse order of construction.
|
|
119
|
+
liveInstance.cleanup?.();
|
|
116
120
|
liveInstance.module.destroy?.(liveInstance.target);
|
|
117
121
|
liveInstanceRef.current = null;
|
|
118
122
|
};
|
|
@@ -132,7 +136,12 @@ export const UIModule = ({ src, props, onIdGenerated, onIsLoadingChanged, onLoad
|
|
|
132
136
|
if (rootRef.current === null)
|
|
133
137
|
return;
|
|
134
138
|
rootRef.current.appendChild(moduleTarget);
|
|
135
|
-
liveInstanceRef.current
|
|
139
|
+
const liveInstance = liveInstanceRef.current;
|
|
140
|
+
if (liveInstance === null)
|
|
141
|
+
return;
|
|
142
|
+
const cleanup = liveInstance.module.postInit?.(moduleTarget, propsRef.current ?? {});
|
|
143
|
+
if (typeof cleanup === 'function')
|
|
144
|
+
liveInstance.cleanup = cleanup;
|
|
136
145
|
}, [moduleTarget]);
|
|
137
146
|
// Fx. dep. `props` - hand a props change to a module that is already live. Compared
|
|
138
147
|
// by reference: the component knows nothing of the values, so it leaves the call to
|
|
@@ -33,6 +33,10 @@ import { type SourceData, type TrackData } from './utils.js';
|
|
|
33
33
|
* to update the prop instead. Because a playing element advances the time by
|
|
34
34
|
* itself, a controlled time also implies a stopped video: `play` and `autoPlay`
|
|
35
35
|
* are ignored for as long as this prop is provided.
|
|
36
|
+
*
|
|
37
|
+
* Every action handler below receives one {@link VideoActionPayload}: the `event` that
|
|
38
|
+
* triggered it, the `videoElement` it acted on, and the values named in its own entry.
|
|
39
|
+
*
|
|
36
40
|
* @property onPlayButtonClicked - Called when the play button is clicked, before
|
|
37
41
|
* the component reacts, with the playback state as it was.
|
|
38
42
|
* @property onPauseButtonClicked - Called when the pause button is clicked, before
|
|
@@ -93,6 +97,14 @@ import { type SourceData, type TrackData } from './utils.js';
|
|
|
93
97
|
*
|
|
94
98
|
* Also inherits all standard HTML props for a <video> element.
|
|
95
99
|
*/
|
|
100
|
+
/**
|
|
101
|
+
* What every action handler of this component carries: the event that triggered it, the
|
|
102
|
+
* `<video>` it acted on, and the values of that action.
|
|
103
|
+
*/
|
|
104
|
+
export type VideoActionPayload<E, T> = {
|
|
105
|
+
event: E;
|
|
106
|
+
videoElement: HTMLVideoElement | null;
|
|
107
|
+
} & T;
|
|
96
108
|
export type Props = PropsWithChildren<WithClassName<{
|
|
97
109
|
rootRef?: Ref<HTMLElement>;
|
|
98
110
|
videoRef?: RefObject<HTMLVideoElement | null>;
|
|
@@ -114,16 +126,39 @@ export type Props = PropsWithChildren<WithClassName<{
|
|
|
114
126
|
playbackRate?: number;
|
|
115
127
|
currentTimeMs?: number;
|
|
116
128
|
timeFormat?: string;
|
|
117
|
-
onPlayButtonClicked?: (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
129
|
+
onPlayButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
130
|
+
isPlaying: boolean;
|
|
131
|
+
}>) => void;
|
|
132
|
+
onPauseButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
133
|
+
isPlaying: boolean;
|
|
134
|
+
}>) => void;
|
|
135
|
+
onLoudButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
136
|
+
isLoud: boolean;
|
|
137
|
+
}>) => void;
|
|
138
|
+
onMuteButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
139
|
+
isLoud: boolean;
|
|
140
|
+
}>) => void;
|
|
141
|
+
onVolumeRangeChanged?: (payload: VideoActionPayload<React.ChangeEvent<HTMLInputElement>, {
|
|
142
|
+
targetVolume: number;
|
|
143
|
+
currentVolume: number;
|
|
144
|
+
}>) => void;
|
|
145
|
+
onRateRangeChanged?: (payload: VideoActionPayload<React.ChangeEvent<HTMLInputElement>, {
|
|
146
|
+
targetRate: number;
|
|
147
|
+
currentRate: number;
|
|
148
|
+
}>) => void;
|
|
149
|
+
onFullscreenButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
150
|
+
isFullscreen: boolean;
|
|
151
|
+
}>) => void;
|
|
152
|
+
onSubtitlesButtonClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLButtonElement>, {
|
|
153
|
+
isSubtitlesOn: boolean;
|
|
154
|
+
}>) => void;
|
|
155
|
+
onTimelineClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLDivElement>, {
|
|
156
|
+
targetTime: number;
|
|
157
|
+
currentTime: number;
|
|
158
|
+
}>) => void;
|
|
159
|
+
onVideoClicked?: (payload: VideoActionPayload<React.MouseEvent<HTMLVideoElement>, {
|
|
160
|
+
isPlaying: boolean;
|
|
161
|
+
}>) => void;
|
|
127
162
|
onIsPlayingChanged?: (isPlaying: boolean) => void;
|
|
128
163
|
onIsFullscreenChanged?: (isFullscreen: boolean) => void;
|
|
129
164
|
onIsLoudChanged?: (isLoud: boolean) => void;
|
|
@@ -120,7 +120,7 @@ timeFormat = '{{mm}}:{{ss}}:{{ms}}', onPlayButtonClicked, onPauseButtonClicked,
|
|
|
120
120
|
// Custom action handlers
|
|
121
121
|
const handlePlayButtonClick = useCallback((e) => {
|
|
122
122
|
const wasPlaying = videoRef.current?.paused === false;
|
|
123
|
-
onPlayButtonClicked?.(e, wasPlaying, videoRef.current);
|
|
123
|
+
onPlayButtonClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
|
|
124
124
|
}, [onPlayButtonClicked]);
|
|
125
125
|
// The picture as a play/pause surface. It reports and nothing more, like every other
|
|
126
126
|
// control here: the uncontrolled layer above owns the play state.
|
|
@@ -134,37 +134,42 @@ timeFormat = '{{mm}}:{{ss}}:{{ms}}', onPlayButtonClicked, onPauseButtonClicked,
|
|
|
134
134
|
if (togglePlayOnClick !== true)
|
|
135
135
|
return;
|
|
136
136
|
const wasPlaying = videoRef.current?.paused === false;
|
|
137
|
-
onVideoClicked?.(e, wasPlaying, videoRef.current);
|
|
137
|
+
onVideoClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
|
|
138
138
|
}, [togglePlayOnClick, onVideoClicked]);
|
|
139
139
|
const handlePauseButtonClick = useCallback((e) => {
|
|
140
140
|
const wasPlaying = videoRef.current?.paused === false;
|
|
141
|
-
onPauseButtonClicked?.(e, wasPlaying, videoRef.current);
|
|
141
|
+
onPauseButtonClicked?.({ event: e, isPlaying: wasPlaying, videoElement: videoRef.current });
|
|
142
142
|
}, [onPauseButtonClicked]);
|
|
143
143
|
const handleLoudButtonClick = useCallback((e) => {
|
|
144
|
-
onLoudButtonClicked?.(e, isLoud, videoRef.current);
|
|
144
|
+
onLoudButtonClicked?.({ event: e, isLoud, videoElement: videoRef.current });
|
|
145
145
|
}, [onLoudButtonClicked, isLoud]);
|
|
146
146
|
const handleMuteButtonClick = useCallback((e) => {
|
|
147
|
-
onMuteButtonClicked?.(e, isLoud, videoRef.current);
|
|
147
|
+
onMuteButtonClicked?.({ event: e, isLoud, videoElement: videoRef.current });
|
|
148
148
|
}, [onMuteButtonClicked, isLoud]);
|
|
149
149
|
const handleFullscreenButtonClick = useCallback((e) => {
|
|
150
|
-
onFullscreenButtonClicked?.(e, isFullscreen, videoRef.current);
|
|
150
|
+
onFullscreenButtonClicked?.({ event: e, isFullscreen, videoElement: videoRef.current });
|
|
151
151
|
}, [onFullscreenButtonClicked, isFullscreen]);
|
|
152
152
|
const handleSubtitlesButtonClick = useCallback((e) => {
|
|
153
|
-
onSubtitlesButtonClicked?.(e, subtitlesOn, videoRef.current);
|
|
153
|
+
onSubtitlesButtonClicked?.({ event: e, isSubtitlesOn: subtitlesOn, videoElement: videoRef.current });
|
|
154
154
|
}, [onSubtitlesButtonClicked, subtitlesOn]);
|
|
155
155
|
const handleVolumeRangeChange = useCallback((e) => {
|
|
156
156
|
const targetVolume = Number(e.currentTarget.value) / 100;
|
|
157
|
-
onVolumeRangeChanged?.(e, targetVolume, volume, videoRef.current);
|
|
157
|
+
onVolumeRangeChanged?.({ event: e, targetVolume, currentVolume: volume, videoElement: videoRef.current });
|
|
158
158
|
}, [onVolumeRangeChanged, volume]);
|
|
159
159
|
const handleRateRangeChange = useCallback((e) => {
|
|
160
|
-
onRateRangeChanged?.(
|
|
160
|
+
onRateRangeChanged?.({
|
|
161
|
+
event: e,
|
|
162
|
+
targetRate: Number(e.currentTarget.value),
|
|
163
|
+
currentRate: playbackRate,
|
|
164
|
+
videoElement: videoRef.current
|
|
165
|
+
});
|
|
161
166
|
}, [onRateRangeChanged, playbackRate]);
|
|
162
167
|
const handleTimelineClick = useCallback((e) => {
|
|
163
168
|
if (videoRef.current === null)
|
|
164
169
|
return;
|
|
165
170
|
const progress = getTimelineClickProgress(e);
|
|
166
171
|
const targetTime = progress * totalTime;
|
|
167
|
-
onTimelineClicked?.(e, targetTime, currentTime, videoRef.current);
|
|
172
|
+
onTimelineClicked?.({ event: e, targetTime, currentTime, videoElement: videoRef.current });
|
|
168
173
|
// A controlled time is the parent's to move: it is expected to update the
|
|
169
174
|
// prop in response to this very handler.
|
|
170
175
|
if (!isTimeControlled) {
|
|
@@ -144,54 +144,54 @@ export const Video = ({ defaultSubtitlesOn = true, behavioursSuspended, visibili
|
|
|
144
144
|
controlledProps.onLoadedMetadata?.(e);
|
|
145
145
|
}, [controlledProps.onLoadedMetadata, controlledProps.muted]);
|
|
146
146
|
// User actions
|
|
147
|
-
const handlePlayButtonClick = useCallback(
|
|
148
|
-
onPlayButtonClicked?.(
|
|
147
|
+
const handlePlayButtonClick = useCallback(payload => {
|
|
148
|
+
onPlayButtonClicked?.(payload);
|
|
149
149
|
surrender('playback');
|
|
150
150
|
setPlay(true);
|
|
151
151
|
}, [onPlayButtonClicked, surrender]);
|
|
152
|
-
const handlePauseButtonClick = useCallback(
|
|
153
|
-
onPauseButtonClicked?.(
|
|
152
|
+
const handlePauseButtonClick = useCallback(payload => {
|
|
153
|
+
onPauseButtonClicked?.(payload);
|
|
154
154
|
surrender('playback');
|
|
155
155
|
setPlay(false);
|
|
156
156
|
}, [onPauseButtonClicked, surrender]);
|
|
157
157
|
// The picture toggles, where the two buttons each say one thing. It is the same gesture
|
|
158
158
|
// as pressing one of them — a consumer tracking whether the reader has taken over
|
|
159
159
|
// playback has to count this one too, since it is the same decision made elsewhere.
|
|
160
|
-
const handleVideoClick = useCallback(
|
|
161
|
-
onVideoClicked?.(
|
|
160
|
+
const handleVideoClick = useCallback(payload => {
|
|
161
|
+
onVideoClicked?.(payload);
|
|
162
162
|
surrender('playback');
|
|
163
|
-
setPlay(!isPlaying);
|
|
163
|
+
setPlay(!payload.isPlaying);
|
|
164
164
|
}, [onVideoClicked, surrender]);
|
|
165
|
-
const handleLoudButtonClick = useCallback(
|
|
166
|
-
onLoudButtonClicked?.(
|
|
165
|
+
const handleLoudButtonClick = useCallback(payload => {
|
|
166
|
+
onLoudButtonClicked?.(payload);
|
|
167
167
|
surrender('sound');
|
|
168
168
|
setMute(false);
|
|
169
169
|
}, [onLoudButtonClicked, surrender]);
|
|
170
|
-
const handleMuteButtonClick = useCallback(
|
|
171
|
-
onMuteButtonClicked?.(
|
|
170
|
+
const handleMuteButtonClick = useCallback(payload => {
|
|
171
|
+
onMuteButtonClicked?.(payload);
|
|
172
172
|
surrender('sound');
|
|
173
173
|
setMute(true);
|
|
174
174
|
}, [onMuteButtonClicked, surrender]);
|
|
175
|
-
const handleRateRangeChange = useCallback(
|
|
176
|
-
onRateRangeChanged?.(
|
|
177
|
-
setPlaybackRate(targetRate);
|
|
175
|
+
const handleRateRangeChange = useCallback(payload => {
|
|
176
|
+
onRateRangeChanged?.(payload);
|
|
177
|
+
setPlaybackRate(payload.targetRate);
|
|
178
178
|
}, [onRateRangeChanged]);
|
|
179
|
-
const handleVolumeRangeChange = useCallback(
|
|
180
|
-
onVolumeRangeChanged?.(
|
|
179
|
+
const handleVolumeRangeChange = useCallback(payload => {
|
|
180
|
+
onVolumeRangeChanged?.(payload);
|
|
181
181
|
surrender('sound');
|
|
182
|
-
setVolume(targetVolume);
|
|
182
|
+
setVolume(payload.targetVolume);
|
|
183
183
|
}, [onVolumeRangeChanged, surrender]);
|
|
184
|
-
const handleFullscreenButtonClick = useCallback(
|
|
185
|
-
onFullscreenButtonClicked?.(
|
|
186
|
-
setFullscreen(!isFullscreen);
|
|
184
|
+
const handleFullscreenButtonClick = useCallback(payload => {
|
|
185
|
+
onFullscreenButtonClicked?.(payload);
|
|
186
|
+
setFullscreen(!payload.isFullscreen);
|
|
187
187
|
}, [onFullscreenButtonClicked]);
|
|
188
188
|
// Un seul bouton pour les deux sens, contrairement à lecture/pause et son/muet qui en
|
|
189
189
|
// ont un chacun : ceux-là existent en paire dans le DOM et la feuille en montre un,
|
|
190
190
|
// parce qu'ils portent deux glyphes opposés. Les sous-titres n'en portent qu'un, dont
|
|
191
191
|
// seul l'habillage change — inutile d'en rendre deux pour n'en montrer jamais qu'un.
|
|
192
|
-
const handleSubtitlesButtonClick = useCallback(
|
|
193
|
-
onSubtitlesButtonClicked?.(
|
|
194
|
-
setSubtitlesOn(!isSubtitlesOn);
|
|
192
|
+
const handleSubtitlesButtonClick = useCallback(payload => {
|
|
193
|
+
onSubtitlesButtonClicked?.(payload);
|
|
194
|
+
setSubtitlesOn(!payload.isSubtitlesOn);
|
|
195
195
|
}, [onSubtitlesButtonClicked]);
|
|
196
196
|
// `autoPlay` is forwarded to the element, but the play state is owned here, so
|
|
197
197
|
// it has to be seeded once on mount for the controls to agree with the element.
|
package/components/index.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
export * as beforeAfter from './BeforeAfter/index.js'
|
|
2
2
|
export * as clippable from './Clippable/index.js'
|
|
3
3
|
export * as button from './Button/index.js'
|
|
4
|
-
export * as disclaimer from './Disclaimer/index.js'
|
|
5
4
|
export * as drawer from './Drawer/index.js'
|
|
6
5
|
export * as eventListener from './EventListener/index.js'
|
|
6
|
+
export * as disclaimer from './Disclaimer/index.js'
|
|
7
7
|
export * as gallery from './Gallery/index.js'
|
|
8
8
|
export * as iframe from './Iframe/index.js'
|
|
9
9
|
export * as image from './Image/index.js'
|
|
10
10
|
export * as input from './Input/index.js'
|
|
11
11
|
export * as intersectionObserver from './IntersectionObserver/index.js'
|
|
12
|
-
export * as lightbox from './Lightbox/index.js'
|
|
13
12
|
export * as jsonEditor from './JsonEditor/index.js'
|
|
13
|
+
export * as lightbox from './Lightbox/index.js'
|
|
14
14
|
export * as listLoader from './ListLoader/index.js'
|
|
15
15
|
export * as overlayer from './Overlayer/index.js'
|
|
16
16
|
export * as paginator from './Paginator/index.js'
|
|
17
17
|
export * as resizeObserver from './ResizeObserver/index.js'
|
|
18
18
|
export * as scrllgngn from './Scrllgngn/index.js'
|
|
19
|
-
export * as scrollListener from './ScrollListener/index.js'
|
|
20
19
|
export * as select from './Select/index.js'
|
|
20
|
+
export * as scrollListener from './ScrollListener/index.js'
|
|
21
21
|
export * as sequencer from './Sequencer/index.js'
|
|
22
22
|
export * as shadowRoot from './ShadowRoot/index.js'
|
|
23
|
-
export * as textarea from './Textarea/index.js'
|
|
24
23
|
export * as subtitles from './Subtitles/index.js'
|
|
24
|
+
export * as textarea from './Textarea/index.js'
|
|
25
25
|
export * as uiModule from './UIModule/index.js'
|
|
26
26
|
export * as video from './Video/index.js'
|
|
27
27
|
export * as wipAudioQuote from './_WIP_AudioQuote/index.js'
|
package/components/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
export * as beforeAfter from './BeforeAfter/index.js'
|
|
2
2
|
export * as clippable from './Clippable/index.js'
|
|
3
3
|
export * as button from './Button/index.js'
|
|
4
|
-
export * as disclaimer from './Disclaimer/index.js'
|
|
5
4
|
export * as drawer from './Drawer/index.js'
|
|
6
5
|
export * as eventListener from './EventListener/index.js'
|
|
6
|
+
export * as disclaimer from './Disclaimer/index.js'
|
|
7
7
|
export * as gallery from './Gallery/index.js'
|
|
8
8
|
export * as iframe from './Iframe/index.js'
|
|
9
9
|
export * as image from './Image/index.js'
|
|
10
10
|
export * as input from './Input/index.js'
|
|
11
11
|
export * as intersectionObserver from './IntersectionObserver/index.js'
|
|
12
|
-
export * as lightbox from './Lightbox/index.js'
|
|
13
12
|
export * as jsonEditor from './JsonEditor/index.js'
|
|
13
|
+
export * as lightbox from './Lightbox/index.js'
|
|
14
14
|
export * as listLoader from './ListLoader/index.js'
|
|
15
15
|
export * as overlayer from './Overlayer/index.js'
|
|
16
16
|
export * as paginator from './Paginator/index.js'
|
|
17
17
|
export * as resizeObserver from './ResizeObserver/index.js'
|
|
18
18
|
export * as scrllgngn from './Scrllgngn/index.js'
|
|
19
|
-
export * as scrollListener from './ScrollListener/index.js'
|
|
20
19
|
export * as select from './Select/index.js'
|
|
20
|
+
export * as scrollListener from './ScrollListener/index.js'
|
|
21
21
|
export * as sequencer from './Sequencer/index.js'
|
|
22
22
|
export * as shadowRoot from './ShadowRoot/index.js'
|
|
23
|
-
export * as textarea from './Textarea/index.js'
|
|
24
23
|
export * as subtitles from './Subtitles/index.js'
|
|
24
|
+
export * as textarea from './Textarea/index.js'
|
|
25
25
|
export * as uiModule from './UIModule/index.js'
|
|
26
26
|
export * as video from './Video/index.js'
|
|
27
27
|
export * as wipAudioQuote from './_WIP_AudioQuote/index.js'
|
|
@@ -2,6 +2,6 @@ export * as copy from './copy/index.js'
|
|
|
2
2
|
export * as download from './download/index.js'
|
|
3
3
|
export * as exists from './exists/index.js'
|
|
4
4
|
export * as move from './move/index.js'
|
|
5
|
-
export * as stat from './stat/index.js'
|
|
6
5
|
export * as remove from './remove/index.js'
|
|
6
|
+
export * as stat from './stat/index.js'
|
|
7
7
|
export * as upload from './upload/index.js'
|
|
@@ -2,6 +2,6 @@ export * as copy from './copy/index.js'
|
|
|
2
2
|
export * as download from './download/index.js'
|
|
3
3
|
export * as exists from './exists/index.js'
|
|
4
4
|
export * as move from './move/index.js'
|
|
5
|
-
export * as stat from './stat/index.js'
|
|
6
5
|
export * as remove from './remove/index.js'
|
|
6
|
+
export * as stat from './stat/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
|
+
export * as download from './download/index.js'
|
|
2
3
|
export * as exists from './exists/index.js'
|
|
4
|
+
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
3
5
|
export * as getMetadata from './get-metadata/index.js'
|
|
4
6
|
export * as getPermissions from './get-permissions/index.js'
|
|
5
|
-
export * as
|
|
7
|
+
export * as move from './move/index.js'
|
|
6
8
|
export * as remove from './remove/index.js'
|
|
7
9
|
export * as revokeSignedUrls from './revoke-signed-urls/index.js'
|
|
8
|
-
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
9
|
-
export * as move from './move/index.js'
|
|
10
10
|
export * as stat from './stat/index.js'
|
|
11
11
|
export * as updateMetadata from './update-metadata/index.js'
|
|
12
12
|
export * as upload from './upload/index.js'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as copy from './copy/index.js'
|
|
2
|
+
export * as download from './download/index.js'
|
|
2
3
|
export * as exists from './exists/index.js'
|
|
4
|
+
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
3
5
|
export * as getMetadata from './get-metadata/index.js'
|
|
4
6
|
export * as getPermissions from './get-permissions/index.js'
|
|
5
|
-
export * as
|
|
7
|
+
export * as move from './move/index.js'
|
|
6
8
|
export * as remove from './remove/index.js'
|
|
7
9
|
export * as revokeSignedUrls from './revoke-signed-urls/index.js'
|
|
8
|
-
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
9
|
-
export * as move from './move/index.js'
|
|
10
10
|
export * as stat from './stat/index.js'
|
|
11
11
|
export * as updateMetadata from './update-metadata/index.js'
|
|
12
12
|
export * as upload from './upload/index.js'
|
|
@@ -5,7 +5,7 @@ export * as existsFile from './exists-file/index.js'
|
|
|
5
5
|
export * as listDir from './list-dir/index.js'
|
|
6
6
|
export * as moveDir from './move-dir/index.js'
|
|
7
7
|
export * as moveFile from './move-file/index.js'
|
|
8
|
-
export * as removeFile from './remove-file/index.js'
|
|
9
8
|
export * as removeDir from './remove-dir/index.js'
|
|
9
|
+
export * as removeFile from './remove-file/index.js'
|
|
10
10
|
export * as statFile from './stat-file/index.js'
|
|
11
11
|
export * as uploadFile from './upload-file/index.js'
|
|
@@ -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 removeFile from './remove-file/index.js'
|
|
9
8
|
export * as removeDir from './remove-dir/index.js'
|
|
9
|
+
export * as removeFile from './remove-file/index.js'
|
|
10
10
|
export * as statFile from './stat-file/index.js'
|
|
11
11
|
export * as uploadFile from './upload-file/index.js'
|
package/node/images/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * as create from './create/index.js'
|
|
2
2
|
export * as format from './format/index.js'
|
|
3
|
-
export * as transform from './transform/index.js'
|
|
4
3
|
export * as metadata from './metadata/index.js'
|
|
4
|
+
export * as transform from './transform/index.js'
|
|
5
5
|
export * as utils from './utils/index.js'
|
package/node/images/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * as create from './create/index.js'
|
|
2
2
|
export * as format from './format/index.js'
|
|
3
|
-
export * as transform from './transform/index.js'
|
|
4
3
|
export * as metadata from './metadata/index.js'
|
|
4
|
+
export * as transform from './transform/index.js'
|
|
5
5
|
export * as utils from './utils/index.js'
|
package/node/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * as awsS3 from './@aws-s3/index.js'
|
|
2
2
|
export * as designEdito from './@design-edito/index.js'
|
|
3
|
-
export * as express from './@express/index.js'
|
|
4
3
|
export * as googleCloud from './@google-cloud/index.js'
|
|
4
|
+
export * as express from './@express/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'
|
package/node/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * as awsS3 from './@aws-s3/index.js'
|
|
2
2
|
export * as designEdito from './@design-edito/index.js'
|
|
3
|
-
export * as express from './@express/index.js'
|
|
4
3
|
export * as googleCloud from './@google-cloud/index.js'
|
|
4
|
+
export * as express from './@express/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'
|