react-av-timeline 1.2.0 → 1.2.2

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/README.md CHANGED
@@ -36,8 +36,35 @@ import 'react-av-timeline/dist/index.css';
36
36
  ````
37
37
 
38
38
  效果如图
39
+
39
40
  ![](image/effect.png)
40
41
 
42
+ ## 垂直时间线
43
+ 适合类似导播台自动化等序列化的场景,将时间线垂直展示
44
+
45
+ ![](image/vertical.png)
46
+
47
+ ````jsx
48
+ // 注意,引入方式不一样,非default导出
49
+ import { Vertical } from 'react-av-timeline';
50
+ import 'react-av-timeline/dist/index.css'
51
+ ````
52
+
53
+ 基本参数与普通时间线一致,请参考[API](#API)
54
+
55
+ ````jsx
56
+ <Vertical height={190} left={20} items={[{
57
+ time:1,
58
+ content:'这是第一秒展示的内容',
59
+ style:{
60
+ background: "#EAEAAD"
61
+ }
62
+ },{
63
+ time:69,
64
+ content:'这是第69秒展示的内容'
65
+ }]} currentTime={currentTime} scale={10} totalTime={100} />
66
+ ````
67
+
41
68
  # 应用
42
69
 
43
70
  可以结合audio或video,通过监听timeupdate事件,实时更新currentTime,实现同步播放
@@ -46,4 +73,46 @@ import 'react-av-timeline/dist/index.css';
46
73
 
47
74
  # API
48
75
 
49
- TODO
76
+ ## 通用
77
+
78
+ ### 基本参数
79
+ ````typescript
80
+ interface PropsType {
81
+ /**时间轴 */
82
+ items: itemsType[],
83
+ /**时间轴样式 */
84
+ itemStyle?: CSSProperties,
85
+ /**当前时间点 */
86
+ currentTime: number,
87
+ /**总时长 */
88
+ totalTime: number,
89
+ /**缩放比例 */
90
+ scale?: number,
91
+ /**时间轴指示器属性 */
92
+ indicator?: HTMLAttributes<HTMLDivElement>
93
+ }
94
+ ````
95
+
96
+ ### itemsType
97
+ ````typescript
98
+ interface itemsType {
99
+ /**时间点 */
100
+ time: number,
101
+ /**该点对应的样式 */
102
+ style?: CSSProperties,
103
+ /**该点对应的文字 */
104
+ content?: ReactNode
105
+ }
106
+ ````
107
+
108
+ ## 垂直时间线
109
+ ````typescript
110
+ PropsType & {
111
+ /**保留前几个项目 */
112
+ prev?: number
113
+ /**距离左边距 */
114
+ left?: number,
115
+ /**总高度 */
116
+ height?: CSSProperties['height']
117
+ }
118
+ ````
@@ -1,7 +1,10 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { PropsType } from './utils';
3
3
  export default function Component({ items, currentTime, totalTime, scale, indicator, itemStyle, prev, height, left }: PropsType & {
4
+ /**保留前几个项目 */
4
5
  prev?: number;
6
+ /**距离左边距 */
5
7
  left?: number;
8
+ /**总高度 */
6
9
  height?: CSSProperties['height'];
7
10
  }): import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -1,689 +1,320 @@
1
- import De from "react";
2
- var J = { exports: {} }, W = {};
3
- /**
4
- * @license React
5
- * react-jsx-runtime.production.min.js
6
- *
7
- * Copyright (c) Facebook, Inc. and its affiliates.
8
- *
9
- * This source code is licensed under the MIT license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */
12
- var Pe;
13
- function mr() {
14
- if (Pe) return W;
15
- Pe = 1;
16
- var s = De, l = Symbol.for("react.element"), _ = Symbol.for("react.fragment"), p = Object.prototype.hasOwnProperty, O = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, w = { key: !0, ref: !0, __self: !0, __source: !0 };
17
- function T(h, c, R) {
18
- var f, g = {}, C = null, D = null;
19
- R !== void 0 && (C = "" + R), c.key !== void 0 && (C = "" + c.key), c.ref !== void 0 && (D = c.ref);
20
- for (f in c) p.call(c, f) && !w.hasOwnProperty(f) && (g[f] = c[f]);
21
- if (h && h.defaultProps) for (f in c = h.defaultProps, c) g[f] === void 0 && (g[f] = c[f]);
22
- return { $$typeof: l, type: h, key: C, ref: D, props: g, _owner: O.current };
1
+ import ae from "react";
2
+ var g = { exports: {} }, y = {};
3
+ var q;
4
+ function oe() {
5
+ if (q) return y;
6
+ q = 1;
7
+ var t = Symbol.for("react.transitional.element"), a = Symbol.for("react.fragment");
8
+ function i(l, c, u) {
9
+ var d = null;
10
+ if (u !== void 0 && (d = "" + u), c.key !== void 0 && (d = "" + c.key), "key" in c) {
11
+ u = {};
12
+ for (var f in c)
13
+ f !== "key" && (u[f] = c[f]);
14
+ } else u = c;
15
+ return c = u.ref, {
16
+ $$typeof: t,
17
+ type: l,
18
+ key: d,
19
+ ref: c !== void 0 ? c : null,
20
+ props: u
21
+ };
23
22
  }
24
- return W.Fragment = _, W.jsx = T, W.jsxs = T, W;
23
+ return y.Fragment = a, y.jsx = i, y.jsxs = i, y;
25
24
  }
26
- var Y = {};
27
- /**
28
- * @license React
29
- * react-jsx-runtime.development.js
30
- *
31
- * Copyright (c) Facebook, Inc. and its affiliates.
32
- *
33
- * This source code is licensed under the MIT license found in the
34
- * LICENSE file in the root directory of this source tree.
35
- */
36
- var xe;
37
- function _r() {
38
- return xe || (xe = 1, process.env.NODE_ENV !== "production" && (function() {
39
- var s = De, l = Symbol.for("react.element"), _ = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), O = Symbol.for("react.strict_mode"), w = Symbol.for("react.profiler"), T = Symbol.for("react.provider"), h = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), g = Symbol.for("react.memo"), C = Symbol.for("react.lazy"), D = Symbol.for("react.offscreen"), M = Symbol.iterator, K = "@@iterator";
40
- function ne(e) {
41
- if (e === null || typeof e != "object")
42
- return null;
43
- var r = M && e[M] || e[K];
44
- return typeof r == "function" ? r : null;
45
- }
46
- var S = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
47
- function m(e) {
48
- {
49
- for (var r = arguments.length, t = new Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++)
50
- t[n - 1] = arguments[n];
51
- Fe("error", e, t);
52
- }
53
- }
54
- function Fe(e, r, t) {
55
- {
56
- var n = S.ReactDebugCurrentFrame, o = n.getStackAddendum();
57
- o !== "" && (r += "%s", t = t.concat([o]));
58
- var u = t.map(function(i) {
59
- return String(i);
60
- });
61
- u.unshift("Warning: " + r), Function.prototype.apply.call(console[e], console, u);
62
- }
63
- }
64
- var $e = !1, Ie = !1, We = !1, Ye = !1, Me = !1, ae;
65
- ae = Symbol.for("react.module.reference");
66
- function Ne(e) {
67
- return !!(typeof e == "string" || typeof e == "function" || e === p || e === w || Me || e === O || e === R || e === f || Ye || e === D || $e || Ie || We || typeof e == "object" && e !== null && (e.$$typeof === C || e.$$typeof === g || e.$$typeof === T || e.$$typeof === h || e.$$typeof === c || // This needs to include all possible module reference object
68
- // types supported by any Flight configuration anywhere since
69
- // we don't know which Flight build this will end up being used
70
- // with.
71
- e.$$typeof === ae || e.getModuleId !== void 0));
72
- }
73
- function Ve(e, r, t) {
74
- var n = e.displayName;
75
- if (n)
76
- return n;
77
- var o = r.displayName || r.name || "";
78
- return o !== "" ? t + "(" + o + ")" : t;
79
- }
80
- function ie(e) {
81
- return e.displayName || "Context";
82
- }
83
- function j(e) {
84
- if (e == null)
85
- return null;
86
- if (typeof e.tag == "number" && m("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
87
- return e.displayName || e.name || null;
88
- if (typeof e == "string")
89
- return e;
25
+ var T = {};
26
+ var J;
27
+ function se() {
28
+ return J || (J = 1, process.env.NODE_ENV !== "production" && (function() {
29
+ function t(e) {
30
+ if (e == null) return null;
31
+ if (typeof e == "function")
32
+ return e.$$typeof === re ? null : e.displayName || e.name || null;
33
+ if (typeof e == "string") return e;
90
34
  switch (e) {
91
- case p:
35
+ case k:
92
36
  return "Fragment";
93
- case _:
94
- return "Portal";
95
- case w:
37
+ case N:
96
38
  return "Profiler";
97
- case O:
39
+ case S:
98
40
  return "StrictMode";
99
- case R:
41
+ case Z:
100
42
  return "Suspense";
101
- case f:
43
+ case Q:
102
44
  return "SuspenseList";
45
+ case ee:
46
+ return "Activity";
103
47
  }
104
48
  if (typeof e == "object")
105
- switch (e.$$typeof) {
106
- case h:
107
- var r = e;
108
- return ie(r) + ".Consumer";
109
- case T:
110
- var t = e;
111
- return ie(t._context) + ".Provider";
112
- case c:
113
- return Ve(e, e.render, "ForwardRef");
114
- case g:
115
- var n = e.displayName || null;
116
- return n !== null ? n : j(e.type) || "Memo";
117
- case C: {
118
- var o = e, u = o._payload, i = o._init;
49
+ switch (typeof e.tag == "number" && console.error(
50
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
51
+ ), e.$$typeof) {
52
+ case x:
53
+ return "Portal";
54
+ case B:
55
+ return e.displayName || "Context";
56
+ case X:
57
+ return (e._context.displayName || "Context") + ".Consumer";
58
+ case H:
59
+ var r = e.render;
60
+ return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
61
+ case K:
62
+ return r = e.displayName || null, r !== null ? r : t(e.type) || "Memo";
63
+ case P:
64
+ r = e._payload, e = e._init;
119
65
  try {
120
- return j(i(u));
66
+ return t(e(r));
121
67
  } catch {
122
- return null;
123
68
  }
124
- }
125
69
  }
126
70
  return null;
127
71
  }
128
- var x = Object.assign, $ = 0, oe, ue, se, le, ce, fe, de;
129
- function ve() {
130
- }
131
- ve.__reactDisabledLog = !0;
132
- function Le() {
133
- {
134
- if ($ === 0) {
135
- oe = console.log, ue = console.info, se = console.warn, le = console.error, ce = console.group, fe = console.groupCollapsed, de = console.groupEnd;
136
- var e = {
137
- configurable: !0,
138
- enumerable: !0,
139
- value: ve,
140
- writable: !0
141
- };
142
- Object.defineProperties(console, {
143
- info: e,
144
- log: e,
145
- warn: e,
146
- error: e,
147
- group: e,
148
- groupCollapsed: e,
149
- groupEnd: e
150
- });
151
- }
152
- $++;
153
- }
154
- }
155
- function Ue() {
156
- {
157
- if ($--, $ === 0) {
158
- var e = {
159
- configurable: !0,
160
- enumerable: !0,
161
- writable: !0
162
- };
163
- Object.defineProperties(console, {
164
- log: x({}, e, {
165
- value: oe
166
- }),
167
- info: x({}, e, {
168
- value: ue
169
- }),
170
- warn: x({}, e, {
171
- value: se
172
- }),
173
- error: x({}, e, {
174
- value: le
175
- }),
176
- group: x({}, e, {
177
- value: ce
178
- }),
179
- groupCollapsed: x({}, e, {
180
- value: fe
181
- }),
182
- groupEnd: x({}, e, {
183
- value: de
184
- })
185
- });
186
- }
187
- $ < 0 && m("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
188
- }
189
- }
190
- var G = S.ReactCurrentDispatcher, z;
191
- function N(e, r, t) {
192
- {
193
- if (z === void 0)
194
- try {
195
- throw Error();
196
- } catch (o) {
197
- var n = o.stack.trim().match(/\n( *(at )?)/);
198
- z = n && n[1] || "";
199
- }
200
- return `
201
- ` + z + e;
202
- }
203
- }
204
- var X = !1, V;
205
- {
206
- var Je = typeof WeakMap == "function" ? WeakMap : Map;
207
- V = new Je();
72
+ function a(e) {
73
+ return "" + e;
208
74
  }
209
- function pe(e, r) {
210
- if (!e || X)
211
- return "";
212
- {
213
- var t = V.get(e);
214
- if (t !== void 0)
215
- return t;
216
- }
217
- var n;
218
- X = !0;
219
- var o = Error.prepareStackTrace;
220
- Error.prepareStackTrace = void 0;
221
- var u;
222
- u = G.current, G.current = null, Le();
75
+ function i(e) {
223
76
  try {
224
- if (r) {
225
- var i = function() {
226
- throw Error();
227
- };
228
- if (Object.defineProperty(i.prototype, "props", {
229
- set: function() {
230
- throw Error();
231
- }
232
- }), typeof Reflect == "object" && Reflect.construct) {
233
- try {
234
- Reflect.construct(i, []);
235
- } catch (b) {
236
- n = b;
237
- }
238
- Reflect.construct(e, [], i);
239
- } else {
240
- try {
241
- i.call();
242
- } catch (b) {
243
- n = b;
244
- }
245
- e.call(i.prototype);
246
- }
247
- } else {
248
- try {
249
- throw Error();
250
- } catch (b) {
251
- n = b;
252
- }
253
- e();
254
- }
255
- } catch (b) {
256
- if (b && n && typeof b.stack == "string") {
257
- for (var a = b.stack.split(`
258
- `), y = n.stack.split(`
259
- `), d = a.length - 1, v = y.length - 1; d >= 1 && v >= 0 && a[d] !== y[v]; )
260
- v--;
261
- for (; d >= 1 && v >= 0; d--, v--)
262
- if (a[d] !== y[v]) {
263
- if (d !== 1 || v !== 1)
264
- do
265
- if (d--, v--, v < 0 || a[d] !== y[v]) {
266
- var E = `
267
- ` + a[d].replace(" at new ", " at ");
268
- return e.displayName && E.includes("<anonymous>") && (E = E.replace("<anonymous>", e.displayName)), typeof e == "function" && V.set(e, E), E;
269
- }
270
- while (d >= 1 && v >= 0);
271
- break;
272
- }
273
- }
274
- } finally {
275
- X = !1, G.current = u, Ue(), Error.prepareStackTrace = o;
276
- }
277
- var F = e ? e.displayName || e.name : "", k = F ? N(F) : "";
278
- return typeof e == "function" && V.set(e, k), k;
279
- }
280
- function qe(e, r, t) {
281
- return pe(e, !1);
282
- }
283
- function Be(e) {
284
- var r = e.prototype;
285
- return !!(r && r.isReactComponent);
286
- }
287
- function L(e, r, t) {
288
- if (e == null)
289
- return "";
290
- if (typeof e == "function")
291
- return pe(e, Be(e));
292
- if (typeof e == "string")
293
- return N(e);
294
- switch (e) {
295
- case R:
296
- return N("Suspense");
297
- case f:
298
- return N("SuspenseList");
299
- }
300
- if (typeof e == "object")
301
- switch (e.$$typeof) {
302
- case c:
303
- return qe(e.render);
304
- case g:
305
- return L(e.type, r, t);
306
- case C: {
307
- var n = e, o = n._payload, u = n._init;
308
- try {
309
- return L(u(o), r, t);
310
- } catch {
311
- }
312
- }
313
- }
314
- return "";
315
- }
316
- var I = Object.prototype.hasOwnProperty, me = {}, _e = S.ReactDebugCurrentFrame;
317
- function U(e) {
318
- if (e) {
319
- var r = e._owner, t = L(e.type, e._source, r ? r.type : null);
320
- _e.setExtraStackFrame(t);
321
- } else
322
- _e.setExtraStackFrame(null);
323
- }
324
- function Ke(e, r, t, n, o) {
325
- {
326
- var u = Function.call.bind(I);
327
- for (var i in e)
328
- if (u(e, i)) {
329
- var a = void 0;
330
- try {
331
- if (typeof e[i] != "function") {
332
- var y = Error((n || "React class") + ": " + t + " type `" + i + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[i] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
333
- throw y.name = "Invariant Violation", y;
334
- }
335
- a = e[i](r, i, n, t, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
336
- } catch (d) {
337
- a = d;
338
- }
339
- a && !(a instanceof Error) && (U(o), m("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", n || "React class", t, i, typeof a), U(null)), a instanceof Error && !(a.message in me) && (me[a.message] = !0, U(o), m("Failed %s type: %s", t, a.message), U(null));
340
- }
77
+ a(e);
78
+ var r = !1;
79
+ } catch {
80
+ r = !0;
341
81
  }
342
- }
343
- var Ge = Array.isArray;
344
- function H(e) {
345
- return Ge(e);
346
- }
347
- function ze(e) {
348
- {
349
- var r = typeof Symbol == "function" && Symbol.toStringTag, t = r && e[Symbol.toStringTag] || e.constructor.name || "Object";
350
- return t;
82
+ if (r) {
83
+ r = console;
84
+ var n = r.error, o = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
85
+ return n.call(
86
+ r,
87
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
88
+ o
89
+ ), a(e);
351
90
  }
352
91
  }
353
- function Xe(e) {
92
+ function l(e) {
93
+ if (e === k) return "<>";
94
+ if (typeof e == "object" && e !== null && e.$$typeof === P)
95
+ return "<...>";
354
96
  try {
355
- return ye(e), !1;
97
+ var r = t(e);
98
+ return r ? "<" + r + ">" : "<...>";
356
99
  } catch {
357
- return !0;
100
+ return "<...>";
358
101
  }
359
102
  }
360
- function ye(e) {
361
- return "" + e;
103
+ function c() {
104
+ var e = $.A;
105
+ return e === null ? null : e.getOwner();
362
106
  }
363
- function he(e) {
364
- if (Xe(e))
365
- return m("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", ze(e)), ye(e);
107
+ function u() {
108
+ return Error("react-stack-top-frame");
366
109
  }
367
- var ge = S.ReactCurrentOwner, He = {
368
- key: !0,
369
- ref: !0,
370
- __self: !0,
371
- __source: !0
372
- }, be, Ee;
373
- function Ze(e) {
374
- if (I.call(e, "ref")) {
375
- var r = Object.getOwnPropertyDescriptor(e, "ref").get;
376
- if (r && r.isReactWarning)
377
- return !1;
378
- }
379
- return e.ref !== void 0;
380
- }
381
- function Qe(e) {
110
+ function d(e) {
382
111
  if (I.call(e, "key")) {
383
112
  var r = Object.getOwnPropertyDescriptor(e, "key").get;
384
- if (r && r.isReactWarning)
385
- return !1;
113
+ if (r && r.isReactWarning) return !1;
386
114
  }
387
115
  return e.key !== void 0;
388
116
  }
389
- function er(e, r) {
390
- typeof e.ref == "string" && ge.current;
391
- }
392
- function rr(e, r) {
393
- {
394
- var t = function() {
395
- be || (be = !0, m("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
396
- };
397
- t.isReactWarning = !0, Object.defineProperty(e, "key", {
398
- get: t,
399
- configurable: !0
400
- });
117
+ function f(e, r) {
118
+ function n() {
119
+ F || (F = !0, console.error(
120
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
121
+ r
122
+ ));
401
123
  }
402
- }
403
- function tr(e, r) {
404
- {
405
- var t = function() {
406
- Ee || (Ee = !0, m("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
407
- };
408
- t.isReactWarning = !0, Object.defineProperty(e, "ref", {
409
- get: t,
410
- configurable: !0
411
- });
412
- }
413
- }
414
- var nr = function(e, r, t, n, o, u, i) {
415
- var a = {
416
- // This tag allows us to uniquely identify this as a React Element
417
- $$typeof: l,
418
- // Built-in properties that belong on the element
124
+ n.isReactWarning = !0, Object.defineProperty(e, "key", {
125
+ get: n,
126
+ configurable: !0
127
+ });
128
+ }
129
+ function E() {
130
+ var e = t(this.type);
131
+ return L[e] || (L[e] = !0, console.error(
132
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
133
+ )), e = this.props.ref, e !== void 0 ? e : null;
134
+ }
135
+ function R(e, r, n, o, A, Y) {
136
+ var s = n.ref;
137
+ return e = {
138
+ $$typeof: h,
419
139
  type: e,
420
140
  key: r,
421
- ref: t,
422
- props: i,
423
- // Record the component responsible for creating this element.
424
- _owner: u
425
- };
426
- return a._store = {}, Object.defineProperty(a._store, "validated", {
141
+ props: n,
142
+ _owner: o
143
+ }, (s !== void 0 ? s : null) !== null ? Object.defineProperty(e, "ref", {
144
+ enumerable: !1,
145
+ get: E
146
+ }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
427
147
  configurable: !1,
428
148
  enumerable: !1,
429
149
  writable: !0,
430
- value: !1
431
- }), Object.defineProperty(a, "_self", {
150
+ value: 0
151
+ }), Object.defineProperty(e, "_debugInfo", {
432
152
  configurable: !1,
433
153
  enumerable: !1,
434
- writable: !1,
435
- value: n
436
- }), Object.defineProperty(a, "_source", {
154
+ writable: !0,
155
+ value: null
156
+ }), Object.defineProperty(e, "_debugStack", {
437
157
  configurable: !1,
438
158
  enumerable: !1,
439
- writable: !1,
440
- value: o
441
- }), Object.freeze && (Object.freeze(a.props), Object.freeze(a)), a;
442
- };
443
- function ar(e, r, t, n, o) {
444
- {
445
- var u, i = {}, a = null, y = null;
446
- t !== void 0 && (he(t), a = "" + t), Qe(r) && (he(r.key), a = "" + r.key), Ze(r) && (y = r.ref, er(r, o));
447
- for (u in r)
448
- I.call(r, u) && !He.hasOwnProperty(u) && (i[u] = r[u]);
449
- if (e && e.defaultProps) {
450
- var d = e.defaultProps;
451
- for (u in d)
452
- i[u] === void 0 && (i[u] = d[u]);
453
- }
454
- if (a || y) {
455
- var v = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
456
- a && rr(i, v), y && tr(i, v);
457
- }
458
- return nr(e, a, y, o, n, ge.current, i);
459
- }
460
- }
461
- var Z = S.ReactCurrentOwner, Re = S.ReactDebugCurrentFrame;
462
- function A(e) {
463
- if (e) {
464
- var r = e._owner, t = L(e.type, e._source, r ? r.type : null);
465
- Re.setExtraStackFrame(t);
466
- } else
467
- Re.setExtraStackFrame(null);
468
- }
469
- var Q;
470
- Q = !1;
471
- function ee(e) {
472
- return typeof e == "object" && e !== null && e.$$typeof === l;
473
- }
474
- function Te() {
475
- {
476
- if (Z.current) {
477
- var e = j(Z.current.type);
478
- if (e)
479
- return `
480
-
481
- Check the render method of \`` + e + "`.";
482
- }
483
- return "";
484
- }
485
- }
486
- function ir(e) {
487
- return "";
488
- }
489
- var Oe = {};
490
- function or(e) {
491
- {
492
- var r = Te();
493
- if (!r) {
494
- var t = typeof e == "string" ? e : e.displayName || e.name;
495
- t && (r = `
496
-
497
- Check the top-level render call using <` + t + ">.");
498
- }
499
- return r;
500
- }
501
- }
502
- function we(e, r) {
503
- {
504
- if (!e._store || e._store.validated || e.key != null)
505
- return;
506
- e._store.validated = !0;
507
- var t = or(r);
508
- if (Oe[t])
509
- return;
510
- Oe[t] = !0;
511
- var n = "";
512
- e && e._owner && e._owner !== Z.current && (n = " It was passed a child from " + j(e._owner.type) + "."), A(e), m('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', t, n), A(null);
513
- }
514
- }
515
- function Ce(e, r) {
516
- {
517
- if (typeof e != "object")
518
- return;
519
- if (H(e))
520
- for (var t = 0; t < e.length; t++) {
521
- var n = e[t];
522
- ee(n) && we(n, r);
523
- }
524
- else if (ee(e))
525
- e._store && (e._store.validated = !0);
526
- else if (e) {
527
- var o = ne(e);
528
- if (typeof o == "function" && o !== e.entries)
529
- for (var u = o.call(e), i; !(i = u.next()).done; )
530
- ee(i.value) && we(i.value, r);
531
- }
532
- }
533
- }
534
- function ur(e) {
535
- {
536
- var r = e.type;
537
- if (r == null || typeof r == "string")
538
- return;
539
- var t;
540
- if (typeof r == "function")
541
- t = r.propTypes;
542
- else if (typeof r == "object" && (r.$$typeof === c || // Note: Memo only checks outer props here.
543
- // Inner props are checked in the reconciler.
544
- r.$$typeof === g))
545
- t = r.propTypes;
546
- else
547
- return;
548
- if (t) {
549
- var n = j(r);
550
- Ke(t, e.props, "prop", n, e);
551
- } else if (r.PropTypes !== void 0 && !Q) {
552
- Q = !0;
553
- var o = j(r);
554
- m("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", o || "Unknown");
555
- }
556
- typeof r.getDefaultProps == "function" && !r.getDefaultProps.isReactClassApproved && m("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
557
- }
558
- }
559
- function sr(e) {
560
- {
561
- for (var r = Object.keys(e.props), t = 0; t < r.length; t++) {
562
- var n = r[t];
563
- if (n !== "children" && n !== "key") {
564
- A(e), m("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", n), A(null);
565
- break;
566
- }
567
- }
568
- e.ref !== null && (A(e), m("Invalid attribute `ref` supplied to `React.Fragment`."), A(null));
569
- }
570
- }
571
- var Se = {};
572
- function je(e, r, t, n, o, u) {
573
- {
574
- var i = Ne(e);
575
- if (!i) {
576
- var a = "";
577
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (a += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
578
- var y = ir();
579
- y ? a += y : a += Te();
580
- var d;
581
- e === null ? d = "null" : H(e) ? d = "array" : e !== void 0 && e.$$typeof === l ? (d = "<" + (j(e.type) || "Unknown") + " />", a = " Did you accidentally export a JSX literal instead of a component?") : d = typeof e, m("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", d, a);
582
- }
583
- var v = ar(e, r, t, o, u);
584
- if (v == null)
585
- return v;
586
- if (i) {
587
- var E = r.children;
588
- if (E !== void 0)
589
- if (n)
590
- if (H(E)) {
591
- for (var F = 0; F < E.length; F++)
592
- Ce(E[F], e);
593
- Object.freeze && Object.freeze(E);
594
- } else
595
- m("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
596
- else
597
- Ce(E, e);
598
- }
599
- if (I.call(r, "key")) {
600
- var k = j(e), b = Object.keys(r).filter(function(pr) {
601
- return pr !== "key";
602
- }), re = b.length > 0 ? "{key: someKey, " + b.join(": ..., ") + ": ...}" : "{key: someKey}";
603
- if (!Se[k + re]) {
604
- var vr = b.length > 0 ? "{" + b.join(": ..., ") + ": ...}" : "{}";
605
- m(`A props object containing a "key" prop is being spread into JSX:
159
+ writable: !0,
160
+ value: A
161
+ }), Object.defineProperty(e, "_debugTask", {
162
+ configurable: !1,
163
+ enumerable: !1,
164
+ writable: !0,
165
+ value: Y
166
+ }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
167
+ }
168
+ function m(e, r, n, o, A, Y) {
169
+ var s = r.children;
170
+ if (s !== void 0)
171
+ if (o)
172
+ if (te(s)) {
173
+ for (o = 0; o < s.length; o++)
174
+ v(s[o]);
175
+ Object.freeze && Object.freeze(s);
176
+ } else
177
+ console.error(
178
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
179
+ );
180
+ else v(s);
181
+ if (I.call(r, "key")) {
182
+ s = t(e);
183
+ var b = Object.keys(r).filter(function(ne) {
184
+ return ne !== "key";
185
+ });
186
+ o = 0 < b.length ? "{key: someKey, " + b.join(": ..., ") + ": ...}" : "{key: someKey}", V[s + o] || (b = 0 < b.length ? "{" + b.join(": ..., ") + ": ...}" : "{}", console.error(
187
+ `A props object containing a "key" prop is being spread into JSX:
606
188
  let props = %s;
607
189
  <%s {...props} />
608
190
  React keys must be passed directly to JSX without using spread:
609
191
  let props = %s;
610
- <%s key={someKey} {...props} />`, re, k, vr, k), Se[k + re] = !0;
611
- }
612
- }
613
- return e === p ? sr(v) : ur(v), v;
192
+ <%s key={someKey} {...props} />`,
193
+ o,
194
+ s,
195
+ b,
196
+ s
197
+ ), V[s + o] = !0);
614
198
  }
615
- }
616
- function lr(e, r, t) {
617
- return je(e, r, t, !0);
618
- }
619
- function cr(e, r, t) {
620
- return je(e, r, t, !1);
621
- }
622
- var fr = cr, dr = lr;
623
- Y.Fragment = p, Y.jsx = fr, Y.jsxs = dr;
624
- })()), Y;
199
+ if (s = null, n !== void 0 && (i(n), s = "" + n), d(r) && (i(r.key), s = "" + r.key), "key" in r) {
200
+ n = {};
201
+ for (var D in r)
202
+ D !== "key" && (n[D] = r[D]);
203
+ } else n = r;
204
+ return s && f(
205
+ n,
206
+ typeof e == "function" ? e.displayName || e.name || "Unknown" : e
207
+ ), R(
208
+ e,
209
+ s,
210
+ n,
211
+ c(),
212
+ A,
213
+ Y
214
+ );
215
+ }
216
+ function v(e) {
217
+ w(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === P && (e._payload.status === "fulfilled" ? w(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
218
+ }
219
+ function w(e) {
220
+ return typeof e == "object" && e !== null && e.$$typeof === h;
221
+ }
222
+ var p = ae, h = Symbol.for("react.transitional.element"), x = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), S = Symbol.for("react.strict_mode"), N = Symbol.for("react.profiler"), X = Symbol.for("react.consumer"), B = Symbol.for("react.context"), H = Symbol.for("react.forward_ref"), Z = Symbol.for("react.suspense"), Q = Symbol.for("react.suspense_list"), K = Symbol.for("react.memo"), P = Symbol.for("react.lazy"), ee = Symbol.for("react.activity"), re = Symbol.for("react.client.reference"), $ = p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, I = Object.prototype.hasOwnProperty, te = Array.isArray, C = console.createTask ? console.createTask : function() {
223
+ return null;
224
+ };
225
+ p = {
226
+ react_stack_bottom_frame: function(e) {
227
+ return e();
228
+ }
229
+ };
230
+ var F, L = {}, W = p.react_stack_bottom_frame.bind(
231
+ p,
232
+ u
233
+ )(), U = C(l(u)), V = {};
234
+ T.Fragment = k, T.jsx = function(e, r, n) {
235
+ var o = 1e4 > $.recentlyCreatedOwnerStacks++;
236
+ return m(
237
+ e,
238
+ r,
239
+ n,
240
+ !1,
241
+ o ? Error("react-stack-top-frame") : W,
242
+ o ? C(l(e)) : U
243
+ );
244
+ }, T.jsxs = function(e, r, n) {
245
+ var o = 1e4 > $.recentlyCreatedOwnerStacks++;
246
+ return m(
247
+ e,
248
+ r,
249
+ n,
250
+ !0,
251
+ o ? Error("react-stack-top-frame") : W,
252
+ o ? C(l(e)) : U
253
+ );
254
+ };
255
+ })()), T;
625
256
  }
626
- var ke;
627
- function yr() {
628
- return ke || (ke = 1, process.env.NODE_ENV === "production" ? J.exports = mr() : J.exports = _r()), J.exports;
257
+ var z;
258
+ function ie() {
259
+ return z || (z = 1, process.env.NODE_ENV === "production" ? g.exports = oe() : g.exports = se()), g.exports;
629
260
  }
630
- var P = yr();
631
- const hr = "_timeline_100yd_1", q = {
632
- timeline: hr,
261
+ var _ = ie();
262
+ const le = "_timeline_100yd_1", j = {
263
+ timeline: le,
633
264
  "timeline-items": "_timeline-items_100yd_6",
634
265
  "timeline-item": "_timeline-item_100yd_6",
635
266
  "timeline-indicator": "_timeline-indicator_100yd_24"
636
267
  };
637
- function Ae() {
638
- var s = Math.floor(120 + Math.random() * 91), l = Math.floor(120 + Math.random() * 91), _ = Math.floor(120 + Math.random() * 91);
639
- return `rgb(${s},${l},${_})`;
268
+ function G() {
269
+ var t = Math.floor(120 + Math.random() * 91), a = Math.floor(120 + Math.random() * 91), i = Math.floor(120 + Math.random() * 91);
270
+ return `rgb(${t},${a},${i})`;
640
271
  }
641
- function te(s, l) {
642
- return l === s.length - 1 ? s[l] - s[l - 1] : s[l + 1] - s[l];
272
+ function M(t, a) {
273
+ return a === t.length - 1 ? t[a] - t[a - 1] : t[a + 1] - t[a];
643
274
  }
644
- function gr(s, l, _ = 1) {
645
- return l + _ >= s.length ? s.at(-1) : s[l + _];
275
+ function ce(t, a, i = 1) {
276
+ return a + i >= t.length ? t.at(-1) : t[a + i];
646
277
  }
647
- const br = new Array(20).fill(0).map(Ae);
648
- function Or({ items: s, currentTime: l, totalTime: _, scale: p = 1, indicator: O, itemStyle: w }) {
649
- const T = s.map((h) => h.time);
650
- return P.jsxs("div", { className: q.timeline, children: [P.jsx("div", { className: q["timeline-indicator"], ...O }), P.jsx("div", { className: q["timeline-items"], style: {
651
- "--translate": `${p * 50 / p - l / _ * p * 100}%`
652
- }, children: s.map((h, c) => {
653
- const f = te(T, c) / _ * p * 100 + "%";
654
- return P.jsx("span", { className: q["timeline-item"], style: {
655
- "--bg": h.style?.background || br[c % 20],
656
- width: f,
657
- left: f,
658
- ...w
659
- }, children: h.content });
278
+ const ue = new Array(20).fill(0).map(G);
279
+ function _e({ items: t, currentTime: a, totalTime: i, scale: l = 1, indicator: c, itemStyle: u }) {
280
+ const d = t.map((f) => f.time);
281
+ return _.jsxs("div", { className: j.timeline, children: [_.jsx("div", { className: j["timeline-indicator"], ...c }), _.jsx("div", { className: j["timeline-items"], style: {
282
+ "--translate": `${l * 50 / l - a / i * l * 100}%`
283
+ }, children: t.map((f, E) => {
284
+ const m = M(d, E) / i * l * 100 + "%";
285
+ return _.jsx("span", { className: j["timeline-item"], style: {
286
+ "--bg": f.style?.background || ue[E % 20],
287
+ width: m,
288
+ left: m,
289
+ ...u
290
+ }, children: f.content });
660
291
  }) })] });
661
292
  }
662
- const Er = "_timeline_212s7_1", B = {
663
- timeline: Er,
293
+ const fe = "_timeline_212s7_1", O = {
294
+ timeline: fe,
664
295
  "timeline-items": "_timeline-items_212s7_6",
665
296
  "timeline-item": "_timeline-item_212s7_6",
666
297
  "timeline-indicator": "_timeline-indicator_212s7_20"
667
- }, Rr = new Array(20).fill(0).map(Ae);
668
- function wr({ items: s, currentTime: l, totalTime: _, scale: p = 1, indicator: O, itemStyle: w, prev: T = 2, height: h, left: c = 10 }) {
669
- const R = s.map((f) => f.time);
670
- return P.jsxs("div", { className: B.timeline, style: { height: h }, children: [P.jsx("div", { className: B["timeline-indicator"], ...O, style: { left: `${c}%` } }), P.jsx("div", { className: B["timeline-items"], style: {
671
- "--translate": `${p * c / p - l / _ * p * 100}%`
672
- }, children: s.map((f, g) => {
673
- const D = te(R, g) / _ * p * 100 + "%", M = s.slice(0, g).reduce((K, ne, S) => {
674
- const m = te(R, S);
675
- return K + m / _ * p * 100;
298
+ }, me = new Array(20).fill(0).map(G);
299
+ function Ee({ items: t, currentTime: a, totalTime: i, scale: l = 1, indicator: c, itemStyle: u, prev: d = 2, height: f, left: E = 10 }) {
300
+ const R = t.map((m) => m.time);
301
+ return _.jsxs("div", { className: O.timeline, style: { height: f }, children: [_.jsx("div", { className: O["timeline-indicator"], ...c, style: { left: `${E}%` } }), _.jsx("div", { className: O["timeline-items"], style: {
302
+ "--translate": `${l * E / l - a / i * l * 100}%`
303
+ }, children: t.map((m, v) => {
304
+ const p = M(R, v) / i * l * 100 + "%", h = t.slice(0, v).reduce((x, k, S) => {
305
+ const N = M(R, S);
306
+ return x + N / i * l * 100;
676
307
  }, 0) + "%";
677
- if (l <= gr(s, g, T).time)
678
- return P.jsx("div", { className: B["timeline-item"], style: {
679
- "--bg": f.style?.background || Rr[g % 20],
680
- width: D,
681
- left: M,
682
- ...w
683
- }, children: f.content });
308
+ if (a <= ce(t, v, d).time)
309
+ return _.jsx("div", { className: O["timeline-item"], style: {
310
+ "--bg": m.style?.background || me[v % 20],
311
+ width: p,
312
+ left: h,
313
+ ...u
314
+ }, children: m.content });
684
315
  }) })] });
685
316
  }
686
317
  export {
687
- wr as Vertical,
688
- Or as default
318
+ Ee as Vertical,
319
+ _e as default
689
320
  };
package/dist/utils.d.ts CHANGED
@@ -4,15 +4,24 @@ export declare function getDuration(timeline: number[], i: number): number;
4
4
  export declare function getPrevElement<T>(item: T[], i: number, number?: number): T;
5
5
  export declare function getNextElement<T>(item: T[], i: number, number?: number): T;
6
6
  export interface PropsType {
7
+ /**时间轴 */
7
8
  items: itemsType[];
9
+ /**时间轴样式 */
8
10
  itemStyle?: CSSProperties;
11
+ /**当前时间点 */
9
12
  currentTime: number;
13
+ /**总时长 */
10
14
  totalTime: number;
15
+ /**缩放比例 */
11
16
  scale?: number;
17
+ /**时间轴指示器属性 */
12
18
  indicator?: HTMLAttributes<HTMLDivElement>;
13
19
  }
14
20
  export interface itemsType {
21
+ /**时间点 */
15
22
  time: number;
23
+ /**该点对应的样式 */
16
24
  style?: CSSProperties;
25
+ /**该点对应的文字 */
17
26
  content?: ReactNode;
18
27
  }
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-av-timeline",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "React 音视频时间线组件",
5
5
  "type": "module",
6
6
  "files": [
@@ -39,27 +39,21 @@
39
39
  "url": "https://cnb.cool/arsrna/os/react-timeline/-/issues"
40
40
  },
41
41
  "homepage": "https://os.arsrna.cn/demo/nodejs/react-timeline",
42
- "peerDependencies": {
43
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
44
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
45
- },
46
42
  "devDependencies": {
47
43
  "@rollup/plugin-typescript": "^12.1.4",
48
44
  "@types/node": "^24.7.0",
49
45
  "@types/react": "^19.2.2",
50
46
  "@types/react-dom": "^19.2.1",
51
47
  "@vitejs/plugin-react": "^5.0.4",
52
- "react": "^18.3.1",
53
- "react-dom": "^18.2.0",
54
48
  "sass": "^1.93.2",
55
49
  "tslib": "^2.8.1",
56
50
  "typescript-plugin-css-modules": "^5.2.0",
57
51
  "vite": "^7.1.9",
52
+ "typescript": "^5.9.3",
58
53
  "vite-plugin-sass": "^0.1.0"
59
54
  },
60
- "dependencies": {
61
- "react": "^18.3.1",
62
- "react-dom": "^18.3.1",
63
- "typescript": "^5.9.3"
55
+ "peerDependencies": {
56
+ "react": ">16",
57
+ "react-dom": ">16"
64
58
  }
65
59
  }