Socket
Socket
Sign inDemoInstall

windups

Package Overview
Dependencies
5
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.0-alpha.2 to 1.2.0-alpha.3

2

dist/SuffixedWindup.d.ts

@@ -9,3 +9,3 @@ import { PlayedWindup, PlayedWindupMember, Windup } from "./Windup";

export declare function isUnplayed<ElementType, MetadataType>(windup: SuffixedWindup<ElementType, MetadataType>): boolean;
export declare function playedElements<ElementType, MetadataType>(suffixedWindup: SuffixedWindup<ElementType, MetadataType> | PlayedSuffixedWindup<ElementType, MetadataType>): Array<PlayedSuffixedWindupMember<ElementType, MetadataType>>;
export declare function playedSize<ElementType, MetadataType>(suffixedWindup: SuffixedWindup<ElementType, MetadataType> | PlayedSuffixedWindup<ElementType, MetadataType>): number;
export declare function playedElementsWithSuffix<ElementType, MetadataType>(windup: SuffixedWindup<ElementType, MetadataType> | PlayedSuffixedWindup<ElementType, MetadataType>): Array<PlayedSuffixedWindupMember<ElementType, MetadataType>>;

@@ -12,0 +12,0 @@ export declare function prev<ElementType, MetadataType>(suffixedWindup: SuffixedWindup<ElementType, MetadataType> | PlayedSuffixedWindup<ElementType, MetadataType>): SuffixedWindup<ElementType, MetadataType>;

@@ -10,3 +10,2 @@ 'use strict';

var breakLines = _interopDefault(require('break-styled-lines'));
var isEqual$1 = _interopDefault(require('fast-deep-equal/es6/react'));

@@ -358,21 +357,20 @@ // Is the windup of type PlayedWindup?

}
function playedElements$1(suffixedWindup) {
if (isPlayedSuffixedWindup(suffixedWindup)) {
return suffixedWindup[0];
}
function playedSize(suffixedWindup) {
var suffixedPlayed = suffixedWindup[0],
remaining = suffixedWindup[1];
var sizeOfPlayed = suffixedPlayed.reduce(function (acc, member) {
if (isPlayedSuffixedWindup(member)) {
return acc + playedSize(member);
}
return acc + 1;
}, 0);
var firstRemaining = remaining[0];
if (firstRemaining && isSuffixedWindup(firstRemaining)) {
var metadata = firstRemaining[3];
var playedFromFirstRemaining = playedElements$1(firstRemaining);
if (playedFromFirstRemaining.length > 0) {
return [].concat(suffixedPlayed, [[playedFromFirstRemaining, [], metadata]]);
}
var sizeFromFirstRemaining = playedSize(firstRemaining);
return sizeOfPlayed + sizeFromFirstRemaining;
}
return suffixedPlayed;
return sizeOfPlayed;
}

@@ -404,7 +402,2 @@ function playedElementsWithSuffix(windup) {

}, []);
console.log({
suffixedPlayed: suffixedPlayed,
middle: middle,
suffix: suffix
});
return [].concat(suffixedPlayed, middle, suffix.map(function (member) {

@@ -1887,3 +1880,3 @@ if (playedMemberIsWindup(member)) {

function isRewindupState(state) {
if ("rewindUntil" in state) {
if ("toRewind" in state) {
return true;

@@ -1896,3 +1889,3 @@ }

function isRewinding(state) {
return isRewindupState(state) ? !isEqual$1(state.rewindUntil, playedElements$1(state.toRewind)) : false;
return isRewindupState(state) ? playedSize(state.toRewind) > playedSize(state.toResume) : false;
}

@@ -1922,6 +1915,4 @@

var toResume = mergeWindupsToSuffixedWindup(action.againstWindup, action.baseWindup);
var rewindUntil = playedElements$1(toResume);
return {
toRewind: toRewind,
rewindUntil: rewindUntil,
toResume: toResume

@@ -1943,2 +1934,6 @@ };

console.log(state);
console.log(playedSize(state.toResume));
console.log(playedSize(state.toRewind));
if (isRewinding(state)) {

@@ -2032,3 +2027,3 @@ var nextToRewind = prev(state.toRewind);

var isPlayed = isPlayedSuffixedWindup(isRewindupState(state) ? state.toResume : state.toPlay);
var isRewindDone = isRewindupState(state) ? isEqual$1(playedElements$1(state.toRewind), state.rewindUntil) : true;
var isRewindDone = isRewindupState(state) ? playedSize(state.toResume) >= playedSize(state.toRewind) : true;

@@ -2087,2 +2082,5 @@ if (!state || isPlayed && isRewindDone) {

}, []);
console.log({
state: state
});
return {

@@ -2089,0 +2087,0 @@ windup: getActiveWindup(state),

@@ -1,2 +0,2 @@

"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,r=require("react"),t=e(require("fast-deep-equal")),i=e(require("break-styled-lines")),u=e(require("fast-deep-equal/es6/react"));function c(e){return!!Array.isArray(e)&&2===e.length&&!!Array.isArray(e[0])}function a(e){return!!Array.isArray(e)&&3===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function o(e){return!!Array.isArray(e)&&2===e.length&&!!Array.isArray(e[0])}function s(e,n){return[[],e.split(""),n]}function f(e,n){return[[],e,n]}function p(e){return!c(e)&&!(e[0].length>0)&&e[1].reduce((function(n,r){return a(r)&&a(e)&&n?p(r):n}),!0)}function d(e){if(c(e))return e;var n=v(e);return c(n)?n:d(n)}function l(e){if(!c(e)&&p(e))return e;var n=e[0],r=c(e)?e[1]:e[2],t=function(e){return o(e)?l(e):e};if(c(e))return[[],n.map(t),r];var i=e[1];return[[],[].concat(n.map(t),i.map((function(e){return a(e)?l(e):e}))),r]}function m(e){if(c(e)){var n=e[0];return n[n.length-1]}var r=e[0];return e[1].reduce((function(e,n){return a(n)&&!p(n)?h(n):e}),void 0)||r[r.length-1]}function h(e){var n=m(e);return o(n)?h(n):n}function y(e){if(c(e))return e[0];var n=e[0],r=e[1][0];if(a(r)&&!p(r)){var t=r[2];return[].concat(n,[[y(r),t]])}return n}function v(e){if(c(e))return e;var n=e[0],r=e[1],t=e[2],i=r[0],u=r.slice(1);if(!i)return[n,t];if(a(i)){var o=v(i);return c(o)?0===u.length?[[].concat(n,[o]),t]:[[].concat(n,[o]),u,t]:[n,[o].concat(u),t]}return 0===u.length?[[].concat(n,[i]),t]:[[].concat(n,[i]),u,t]}function g(){return(g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}function k(e){return!!Array.isArray(e)&&4===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function b(e){return!!Array.isArray(e)&&3===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function w(e){var n=e[0],r=e[1];return!b(e)&&!(n.length>0)&&r.reduce((function(n,r){return k(r)&&k(e)&&n?w(r):n}),!0)}function P(e){if(b(e))return e[0];var n=e[0],r=e[1][0];if(r&&k(r)){var t=r[3],i=P(r);if(i.length>0)return[].concat(n,[[i,[],t]])}return n}function E(e){if(b(e))return[].concat(e[0],e[1].map((function(e){return o(e)?x(e):e})));var n=e[0],r=e[2],t=e[1].reduce((function(e,n){if(k(n)){var r=n[3],t=[[],E(n),r];return[].concat(e,[t])}return e}),[]);return console.log({suffixedPlayed:n,middle:t,suffix:r}),[].concat(n,t,r.map((function(e){return o(e)?x(e):e})))}function W(e){if(b(e)){var n=e[0],r=e[1],t=e[2],i=n.slice(0,-1),u=n[n.length-1];return u?b(u)?[i,[W(u)],r,t]:[i,[u],r,t]:[n,[],r,t]}var c=e[0],a=e[1],o=e[2],s=e[3],f=a[0],p=a.slice(1);if(!f){var d=c.slice(0,-1),l=c[c.length-1];return l?b(l)?[d,[W(l)],o,s]:[d,[l],o,s]:[c,[],o,s]}if(k(f)&&!w(f))return[c,[W(f)].concat(p),o,s];var m=c.slice(0,-1),h=c[c.length-1];return b(h)?[m,[W(h)].concat(a),o,s]:[m,[h].concat(a),o,s]}function F(e){if(b(e))return e;var n=e[0],r=e[1],t=e[2],i=e[3],u=r[0],c=r.slice(1);if(!u)return[n,t,i];if(k(u)){var a=F(u);return b(a)?0===c.length?[[].concat(n,[a]),t,i]:[[].concat(n,[a]),c,t,i]:[n,[a].concat(c),t,i]}return 0===c.length?[[].concat(n,[u]),t,i]:[[].concat(n,[u]),c,t,i]}function A(e){var n=F(e);return b(n)?n:A(n)}function R(e){var n=e[1],r=e[2];return[e[0].map((function(e){return o(e)?x(e):e})),n.map((function(e){return a(e)?R(e):e})),[],r]}function x(e){var n=e[1];return[e[0].map((function(e){return o(e)?x(e):e})),[],n]}function C(e){var r=(c(e),e[0]),t=c(e)?[]:e[1];return[].concat(r.map((function(e){return o(e)?{member:e,kind:n.Played,isWindup:!0}:{member:e,kind:n.Played,isWindup:!1}})),t.map((function(e){return a(e)?{member:e,kind:n.InProgress,isWindup:!0}:{member:e,kind:n.InProgress,isWindup:!1}})))}function O(e,n){if(!e.isWindup&&n.isWindup||e.isWindup&&!n.isWindup)return!1;if(e.isWindup&&n.isWindup){var r=G(e.member),i=G(n.member);if(!t(r,i))return!1;var u=C(e.member),c=C(n.member);return u.length===c.length&&T(u,c).every((function(e){var n=e[1];return!!n&&O(e[0],n)}))}return t(e.member,n.member)}function j(e){return e.reduce((function(e,n){var r=n[0],t=n[1];return t&&O(r,t)&&0===e.unmatched.length?g({},e,{matched:[].concat(e.matched,[r])}):g({},e,{unmatched:[].concat(e.unmatched,[[r,t]])})}),{matched:[],unmatched:[]})}function S(e){return e.reduce((function(e,n){var r=n[0],t=n[1];return t&&O(r,t)&&0===e.unmatched.length?g({},e,{matched:[r].concat(e.matched)}):g({},e,{unmatched:[[r,t]].concat(e.unmatched)})}),{matched:[],unmatched:[]})}function T(e,n){return e.map((function(e,r){return[e,n[r]]}))}function I(e,n){for(var r=[],t=0;t<=e.length-1;t++)r.push([e[e.length-1-t],n[n.length-1-t]]);return r}function M(e){var r=e[0],t=e[1];if(r.isWindup&&null!=t&&t.isWindup){var i=G(r.member),u=j(T(C(r.member),C(t.member))),c=u.unmatched,a=u.matched.map((function(e){return e.kind===n.InProgress&&e.isWindup?x(d(e.member)):e.kind===n.Played&&e.isWindup?x(e.member):e.member})),o=M(c[0]),s=c.map((function(e){return e[0]})).map(q);if(o){var f=s.slice(1,0);return[a,[o].concat(f),[],i]}return[a,s,[],i]}}function V(e){var n=e[0],r=e[1];if(n.isWindup&&null!=r&&r.isWindup){var t=G(n.member),i=C(n.member),u=S(I(i,C(r.member))),c=u.matched,a=u.unmatched,o=M(a[a.length-1]),s=c.map(U);if(o){var f=i.slice(0,a.length-1).map(q);return[[],[].concat(f,[o]),s,t]}return[[],[].concat(a).map((function(e){return e[0]})).map(q),s,t]}}function q(e){return e.isWindup&&e.kind===n.Played?W(x(e.member)):e.isWindup?R(e.member):e.member}function U(e){return e.isWindup&&e.kind===n.InProgress?d(e.member):e.member}function D(e,r){var t=G(e),i=C(e),u=C(r),c=j(T(i,u)),a=c.unmatched,o=c.matched.map((function(e){return e.kind===n.InProgress&&e.isWindup?x(d(e.member)):e.kind===n.Played&&e.isWindup?x(e.member):e.member})),s=i.length-o.length,f=S(I(i,u).slice(0,s)),p=f.matched,l=f.unmatched,m=function(e,r){if(0===e.length||0===r.length)return{played:[],remaining:[]};var t=e[0],i=t[0],u=t[1],c=r[r.length-1],a=c[0],o=c[1];if(1===e.length&&1===r.length&&i.isWindup&&null!=u&&u.isWindup){var s=D(i.member,u.member);return b(s)?{played:[s],remaining:[]}:{played:[],remaining:[s]}}var f=e.filter((function(e){return e[0].kind===n.Played})),p=f.map((function(e){return e[0]})).map((function(e){return e.isWindup&&e.kind===n.InProgress?A(R(e.member)):e.isWindup?x(e.member):e.member})),d=e.slice(p.length);if(0===d.length&&0===f.length)return{played:p,remaining:[]};if(0===d.length){var l=r.slice(0,f.length),m=l[l.length-1],h=V([m[0],m[1]]);if(h){var y=p.slice(0,-1);return{played:[].concat(y,[A(h)]),remaining:[]}}return{played:p,remaining:[]}}var v=d[0],g=M([v[0],v[1]]),k=V([a,o]),w=d.map((function(e){return e[0]})).map(q);if(g&&k){var P=w.slice(1,-1);return{played:p,remaining:[g].concat(P,[k])}}if(!g&&k){var E=w.slice(0,-1);return{played:p,remaining:[].concat(E,[k])}}if(g&&!k){var W=w.slice(1);return{played:p,remaining:[g].concat(W)}}return{played:p,remaining:w}}(a.slice(0,l.length),l),h=m.played,y=m.remaining,v=p.map((function(e){return e.kind===n.InProgress&&e.isWindup?d(e.member):e.member}));return 0===y.length?[[].concat(o,h),v,t]:[[].concat(o,h),y,v,t]}function G(e){return c(e)?e[1]:e[2]}function _(e){if(b(e)){var n=e[0];return n[n.length-1]}var r=e[0];return e[1].reduce((function(e,n){return k(n)&&!w(n)?L(n):e}),void 0)||r[r.length-1]}function L(e){var n=_(e);return b(n)?L(n):n}function z(e){var n=e[1],r=e[2],t=e[3],i=e[0].map((function(e){return b(e)?B(e):e})),u=n.map((function(e){return k(e)?z(e):e})),c=r.map((function(e){return o(e)?l(e):e}));return[i,[].concat(u,c),t]}function B(e){var n=e[1],r=e[2],t=e[0].map((function(e){return b(e)?B(e):e}));return[[].concat(t,n),r]}function H(e,n){switch(e){case"—":case"…":return 200;case".":case",":return 150;case"?":case"!":return"!"!==n&&"?"!==n?150:20;case"-":case" ":case"\n":return 0;default:return 20}}!function(e){e[e.Played=0]="Played",e[e.InProgress=1]="InProgress"}(n||(n={}));var J=function(e){return r.createElement(r.Fragment,null,e.children)},K=function(e){return r.createElement(r.Fragment,null,e.children)};function N(e){return{windup:e,didFinishOnce:!1}}function Q(e,n){switch(n.type){case"replace":return N(n.windup);case"next":return c(e.windup)?e:g({},e,{windup:v(e.windup)});case"rewind":return{windup:l(e.windup),didFinishOnce:!1};case"fast-forward":return c(e.windup)?e:g({},e,{windup:d(e.windup)});case"finish":return g({},e,{didFinishOnce:!0});default:return e}}function X(e,n){var t=r.useReducer(Q,e,N),i=t[0],u=i.windup,s=i.didFinishOnce,f=t[1],d=r.useRef(null),l=function(e){return!!c(e)||0===e[1].length}(u),y=r.useCallback((function(){l||(d.current&&clearTimeout(d.current),f({type:"fast-forward"}))}),[l]),v=r.useCallback((function(){d.current&&clearTimeout(d.current),f({type:"rewind"})}),[]);return r.useEffect((function(){f({type:"replace",windup:e})}),[e]),r.useEffect((function(){d.current&&clearTimeout(d.current),n.skipped&&f({type:"fast-forward"}),!1===n.skipped&&f({type:"rewind"})}),[n.skipped]),r.useEffect((function(){var e=function e(n){if(c(n))return[];var r=n[1],t=n[2],i=m(n),u=r[0],s=[];return i&&o(i)&&s.push.apply(s,e(i)),u&&a(u)&&!p(u)&&s.push.apply(s,e(u)),t.onChar&&s.push(t.onChar),s}(u),n=h(u);e.length>0&&n&&e.forEach((function(e){e(n,!1)}))}),[u]),r.useEffect((function(){if(!1===s&&l){var e=setTimeout((function(){n.onFinished&&n.onFinished(),f({type:"finish"})}),0);return function(){clearTimeout(e)}}}),[s,l,n]),r.useEffect((function(){if(!l){var e=function e(n,r){if(!c(n)){var t=n[2],i=n[1][0];return i&&a(i)?e(i,t.pace||r):t.pace||r}}(u)||H,n=h(u),r=function e(n){if(!c(n)){var r=n[1][0];return a(r)?e(r):r}}(u);return d.current=setTimeout((function(){f({type:"next"})}),n?e(n,r):0),function(){d.current&&clearTimeout(d.current)}}}),[u,l]),{windup:u,skip:y,rewind:v,isFinished:l}}var Y=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Z=function(){return null},$=r.createContext({skip:function(){console.warn("Tried to use the useSkip hook outside of a WindupChildren component!!")},rewind:function(){console.warn("Tried to use the useRewind hook outside of a WindupChildren component!")},isFinished:!1});function ee(e,n){if("string"==typeof n)return[].concat(e,n.split(""));if("number"==typeof n)return[].concat(e,n.toString().split(""));if(!r.isValidElement(n))return e;var t=n.props,i=t.children,u=function(e,n){if(null==e)return{};var r,t,i={},u=Object.keys(e);for(t=0;t<u.length;t++)n.indexOf(r=u[t])>=0||(i[r]=e[r]);return i}(t,["children"]),c=n.type===J?function(e){if(function(e){return"ms"in e}(e)){var n=e.ms,r=e.reverseMs;return g({pace:function(){return n}},r?{reversePace:function(){return r}}:{})}if(function(e){return"reverseMs"in e}(e)){var t=e.ms,i=e.reverseMs;return g({reversePace:function(){return i}},t?{pace:function(){return t}}:{})}return function(e){return"reverseGetPace"in e}(e)?g({reversePace:e.getReversePace},e.getPace?{pace:e.getPace}:{}):g({pace:e.getPace},e.getReversePace?{reversePace:e.getReversePace}:{})}(n.props):{},o=function(e){return e.type===K}(n)?{onChar:n.props.fn}:{},p=n.key?{key:n.key}:{};if(function(e){return e.type===Z}(n))return[].concat(e,[s(" ",g({element:r.Fragment},p,{props:{children:void 0},pace:function(){return n.props.ms}}))]);if(void 0===i)return[].concat(e,[s(" ",g({element:n.type,props:g({},u,{children:void 0})},p,c,o))]);if("string"==typeof i)return[].concat(e,[s(i,g({element:n.type,props:u},p,c,o))]);if(i instanceof Function)return[].concat(e,[s(" ",g({element:n.type,props:g({children:i},u)},p,c,o))]);var d=r.Children.toArray(i).reduce(ee,[]).map((function(e){return a(e)?[e[0],e[1],g({},c,o,e[2])]:e}));return[].concat(e,[f(d,g({element:n.type,props:u},p,c,o))])}function ne(e){if(null==e)return"";var n=r.Children.map(e,(function(e){return"string"==typeof e?e:"number"==typeof e?e.toString():r.isValidElement(e)?"#"+(e.key||"")+"<"+ne(e.props.children)+">":""}));return n?n.join(","):""}function re(e,n){return r.useMemo(e,[ne(n)])}function te(e,n){var t=e[0],i=e[1];if("string"==typeof n||"number"==typeof n){var u=i[0],c=i.slice(1);return[[].concat(t,[u]),c]}if(!r.isValidElement(n))return[t,i];var a=r.Children.toArray(n.props.children).reduce(te,[[],i]),o=a[1];return[[].concat(t,[r.cloneElement(n,{children:a[0]})]),o]}function ie(e){return e.type===ue}function ue(e){return r.createElement(r.Fragment,null,e.children)}function ce(e){var n=r.useRef();return r.useEffect((function(){n.current=e}),[e]),n.current}function ae(e){return"rewindUntil"in e}function oe(e){return!!ae(e)&&!u(e.rewindUntil,P(e.toRewind))}function se(e){return ae(e)?oe(e)?e.toRewind:e.toResume:e.toPlay}function fe(e){return ae(e)?oe(e)?b(e.toRewind)?B(e.toRewind):z(e.toRewind):b(e.toResume)?B(e.toResume):z(e.toResume):b(e.toPlay)?B(e.toPlay):z(e.toPlay)}function pe(e,n){switch(n.type){case"start-rewindup":var r=D(n.baseWindup,n.againstWindup),t=D(n.againstWindup,n.baseWindup);return{toRewind:r,rewindUntil:P(t),toResume:t};case"proceed":return ae(e)?oe(e)?g({},e,{toRewind:W(e.toRewind)}):g({},e,{toResume:F(e.toResume)}):b(e.toPlay)?e:{toPlay:F(e.toPlay)};case"fast-forward":return{toPlay:A(se(e))};default:return e}}function de(e,n){var t=r.useReducer(pe,{toPlay:c(e)?x(e):R(e)}),i=t[0],a=t[1];r.useEffect((function(){if(i){var e=se(i),n=function e(n){if(b(n))return[];var r=n[1],t=n[3],i=_(n),u=r[0],c=[];return i&&b(i)&&c.push.apply(c,e(i)),u&&k(u)&&!w(u)&&c.push.apply(c,e(u)),t.onChar&&c.push(t.onChar),c}(e),r=L(e);n.length>0&&r&&n.forEach((function(e){e(r,ae(i))}))}}),[i]);var o=r.useRef(null);r.useEffect((function(){o.current&&clearTimeout(o.current),n.skipped&&a({type:"fast-forward"}),!1===n.skipped&&a({type:"start-rewindup",baseWindup:fe(i),againstWindup:e})}),[n.skipped]);var s=b(se(i)),p=ce(s);r.useEffect((function(){if(!1===p&&s){var e=setTimeout((function(){n.onFinished&&n.onFinished()}),0);return function(){clearTimeout(e)}}}),[p,s,n.onFinished]),r.useEffect((function(){var e=b(ae(i)?i.toResume:i.toPlay),n=!ae(i)||u(P(i.toRewind),i.rewindUntil);if(!(!i||e&&n)){var r=se(i),t=function e(n,r,t){if(!b(n)){var i=n[3],u=n[1][0],c=r?i.reversePace:i.pace;return u&&k(u)?e(u,r,c||t):c||t}}(r,ae(i))||H,c=L(r),s=function e(n){if(!b(n)){var r=n[1][0];return k(r)?e(r):r}}(r),f=c?t(c,s):0;return o.current=setTimeout((function(){a({type:"proceed"})}),f),function(){o.current&&clearTimeout(o.current)}}}),[i]);var d=ce(e);r.useEffect((function(){void 0!==d&&d!==e&&(n.onRewindStart&&n.onRewindStart(),a({type:"start-rewindup",baseWindup:fe(i),againstWindup:e}))}),[e,d]);var l=r.useCallback((function(){a({type:"fast-forward"})}),[]),m=r.useCallback((function(){a({type:"start-rewindup",baseWindup:f([],{}),againstWindup:e})}),[]);return{windup:se(i),skip:l,rewind:m,isFinished:s}}exports.CharWrapper=function(e){var n=e.element;return r.createElement(r.Fragment,null,r.Children.map(e.children,(function(e){return function e(n,t){if("string"==typeof n)return n.split("").map((function(e,n){return"\n"===e?e:r.createElement(t,{key:e+"-"+n},e)}));if("number"==typeof n)return n.toString().split("").map((function(e){return r.createElement(t,null,e)}));if(!r.isValidElement(n))return r.createElement(r.Fragment,null);if(n.props.children){var i=n.type;return n.props.children instanceof Function?r.createElement(i,Object.assign({key:n.key},n.props)):r.createElement(i,Object.assign({key:n.key},n.props),r.Children.map(n.props.children,(function(n){return e(n,t)})))}return n}(e,n)})))},exports.Effect=function(e){var n=e.fn;return r.useEffect((function(){n()}),[]),null},exports.Linebreaker=function(e){var n=e.fontStyle,t=e.width,u=r.Children.toArray(e.children),c=u.reduce(function e(n){return function(t,i){return"string"==typeof i?[].concat(t,[{text:i,font:n}]):"number"==typeof i?[].concat(t,[{text:i.toString(),font:n}]):r.isValidElement(i)?ie(i)&&"string"==typeof i.props.children?[].concat(t,[{text:i.props.children,font:i.props.fontStyle}]):ie(i)?[].concat(t,r.Children.toArray(i.props.children).reduce(e(i.props.fontStyle),[])):[].concat(t,r.Children.toArray(i.props.children).reduce(e(n),[])):t}}(n),[]),a=i(c,t,n),o=u.reduce(te,[[],a]);return r.createElement("div",{style:{whiteSpace:"pre"}},o[0])},exports.OnChar=K,exports.Pace=J,exports.Pause=Z,exports.RewindupChildren=function(e){var n=e.children,t=e.onFinished,i=e.onRewindStart,u=e.skipped,c=re((function(){return f(void 0===n?[]:r.Children.toArray(n).reduce(ee,[]),{element:void 0})}),n),a=de(r.useMemo((function(){return u?d(c):c}),[c,u]),{onFinished:t,onRewindStart:i,skipped:u});return r.createElement($.Provider,{value:{skip:a.skip,rewind:a.rewind,isFinished:a.isFinished}},function e(n){var t=b(n)?n[2]:n[3],i=E(n),u=t.element||r.Fragment;if(t.props&&Object.keys(t.props).includes("children"))return r.createElement(u,Object.assign({key:t.key},t.props));var c=i.reduce((function(n,r){return[].concat(n,"string"==typeof r?[r]:[e(r)])}),[]);return"string"==typeof t.element&&Y.includes(t.element)?r.createElement(u,Object.assign({key:t.key},t.props)):c.every((function(e){return"string"==typeof e}))?r.createElement(u,Object.assign({key:t.key},t.props),c.join("")):r.createElement(u,Object.assign({key:t.key},t.props),c)}(a.windup))},exports.StyledText=ue,exports.WindupChildren=function(e){var n=e.children,t=e.onFinished,i=e.skipped,u=X(re((function(){return f(r.Children.toArray(n).reduce(ee,[]),{element:void 0})}),n),{onFinished:t,skipped:i});return r.createElement($.Provider,{value:{skip:u.skip,rewind:u.rewind,isFinished:u.isFinished}},function e(n){var t=c(n)?n[1]:n[2],i=y(n),u=t.element||r.Fragment;if(t.props&&Object.keys(t.props).includes("children"))return r.createElement(u,Object.assign({key:t.key},t.props));var a=i.reduce((function(n,r){if("string"==typeof r){var t=n.slice(0,n.length-1),i=n[n.length-1];return i&&"string"==typeof i?[].concat(t,[i+r]):[].concat(n,[r])}return[].concat(n,[e(r)])}),[]);return"string"==typeof t.element&&Y.includes(t.element)?r.createElement(u,Object.assign({key:t.key},t.props)):a.every((function(e){return"string"==typeof e}))?r.createElement(u,Object.assign({key:t.key},t.props),a.join("")):r.createElement(u,Object.assign({key:t.key},t.props),a)}(u.windup))},exports.defaultGetPace=H,exports.textFromChildren=function e(n){var t=r.Children.map(n,(function(n){return"string"==typeof n?n:"number"==typeof n?n.toString():r.isValidElement(n)&&n.props.children?e(n.props.children):""}));return t?t.join(""):""},exports.useIsFinished=function(){return r.useContext($).isFinished},exports.useRewind=function(){return r.useContext($).rewind},exports.useRewindupString=function(e,n){void 0===n&&(n={});var t=de(r.useMemo((function(){return s(e,n)}),[e]),n),i=t.skip,u=t.rewind,c=t.isFinished,a=function e(n){return E(n).reduce((function(n,r){return"string"==typeof r?n+r:n+e(r)}),"")}(t.windup);return r.useDebugValue(a),[a,{skip:i,rewind:u,isFinished:c}]},exports.useSkip=function(){return r.useContext($).skip},exports.useWindupString=function(e,n){void 0===n&&(n={});var t=X(r.useMemo((function(){return s(e,n)}),[e]),n),i=t.skip,u=t.rewind,c=t.isFinished,a=function e(n){return y(n).reduce((function(n,r){return"string"==typeof r?n+r:n+e(r)}),"")}(t.windup);return r.useDebugValue(a),[a,{skip:i,rewind:u,isFinished:c}]};
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,r=require("react"),t=e(require("fast-deep-equal")),i=e(require("break-styled-lines"));function u(e){return!!Array.isArray(e)&&2===e.length&&!!Array.isArray(e[0])}function c(e){return!!Array.isArray(e)&&3===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function o(e){return!!Array.isArray(e)&&2===e.length&&!!Array.isArray(e[0])}function a(e,n){return[[],e.split(""),n]}function s(e,n){return[[],e,n]}function f(e){return!u(e)&&!(e[0].length>0)&&e[1].reduce((function(n,r){return c(r)&&c(e)&&n?f(r):n}),!0)}function p(e){if(u(e))return e;var n=y(e);return u(n)?n:p(n)}function d(e){if(!u(e)&&f(e))return e;var n=e[0],r=u(e)?e[1]:e[2],t=function(e){return o(e)?d(e):e};if(u(e))return[[],n.map(t),r];var i=e[1];return[[],[].concat(n.map(t),i.map((function(e){return c(e)?d(e):e}))),r]}function l(e){if(u(e)){var n=e[0];return n[n.length-1]}var r=e[0];return e[1].reduce((function(e,n){return c(n)&&!f(n)?m(n):e}),void 0)||r[r.length-1]}function m(e){var n=l(e);return o(n)?m(n):n}function h(e){if(u(e))return e[0];var n=e[0],r=e[1][0];if(c(r)&&!f(r)){var t=r[2];return[].concat(n,[[h(r),t]])}return n}function y(e){if(u(e))return e;var n=e[0],r=e[1],t=e[2],i=r[0],o=r.slice(1);if(!i)return[n,t];if(c(i)){var a=y(i);return u(a)?0===o.length?[[].concat(n,[a]),t]:[[].concat(n,[a]),o,t]:[n,[a].concat(o),t]}return 0===o.length?[[].concat(n,[i]),t]:[[].concat(n,[i]),o,t]}function v(){return(v=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}function g(e){return!!Array.isArray(e)&&4===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function k(e){return!!Array.isArray(e)&&3===e.length&&!(!Array.isArray(e[0])||!Array.isArray(e[1]))}function b(e){var n=e[0],r=e[1];return!k(e)&&!(n.length>0)&&r.reduce((function(n,r){return g(r)&&g(e)&&n?b(r):n}),!0)}function w(e){var n=e[1],r=e[0].reduce((function(e,n){return k(n)?e+w(n):e+1}),0),t=n[0];return t&&g(t)?r+w(t):r}function P(e){if(k(e))return[].concat(e[0],e[1].map((function(e){return o(e)?A(e):e})));var n=e[0],r=e[2],t=e[1].reduce((function(e,n){if(g(n)){var r=n[3],t=[[],P(n),r];return[].concat(e,[t])}return e}),[]);return[].concat(n,t,r.map((function(e){return o(e)?A(e):e})))}function E(e){if(k(e)){var n=e[0],r=e[1],t=e[2],i=n.slice(0,-1),u=n[n.length-1];return u?k(u)?[i,[E(u)],r,t]:[i,[u],r,t]:[n,[],r,t]}var c=e[0],o=e[1],a=e[2],s=e[3],f=o[0],p=o.slice(1);if(!f){var d=c.slice(0,-1),l=c[c.length-1];return l?k(l)?[d,[E(l)],a,s]:[d,[l],a,s]:[c,[],a,s]}if(g(f)&&!b(f))return[c,[E(f)].concat(p),a,s];var m=c.slice(0,-1),h=c[c.length-1];return k(h)?[m,[E(h)].concat(o),a,s]:[m,[h].concat(o),a,s]}function W(e){if(k(e))return e;var n=e[0],r=e[1],t=e[2],i=e[3],u=r[0],c=r.slice(1);if(!u)return[n,t,i];if(g(u)){var o=W(u);return k(o)?0===c.length?[[].concat(n,[o]),t,i]:[[].concat(n,[o]),c,t,i]:[n,[o].concat(c),t,i]}return 0===c.length?[[].concat(n,[u]),t,i]:[[].concat(n,[u]),c,t,i]}function R(e){var n=W(e);return k(n)?n:R(n)}function F(e){var n=e[1],r=e[2];return[e[0].map((function(e){return o(e)?A(e):e})),n.map((function(e){return c(e)?F(e):e})),[],r]}function A(e){var n=e[1];return[e[0].map((function(e){return o(e)?A(e):e})),[],n]}function C(e){var r=(u(e),e[0]),t=u(e)?[]:e[1];return[].concat(r.map((function(e){return o(e)?{member:e,kind:n.Played,isWindup:!0}:{member:e,kind:n.Played,isWindup:!1}})),t.map((function(e){return c(e)?{member:e,kind:n.InProgress,isWindup:!0}:{member:e,kind:n.InProgress,isWindup:!1}})))}function x(e,n){if(!e.isWindup&&n.isWindup||e.isWindup&&!n.isWindup)return!1;if(e.isWindup&&n.isWindup){var r=G(e.member),i=G(n.member);if(!t(r,i))return!1;var u=C(e.member),c=C(n.member);return u.length===c.length&&S(u,c).every((function(e){var n=e[1];return!!n&&x(e[0],n)}))}return t(e.member,n.member)}function O(e){return e.reduce((function(e,n){var r=n[0],t=n[1];return t&&x(r,t)&&0===e.unmatched.length?v({},e,{matched:[].concat(e.matched,[r])}):v({},e,{unmatched:[].concat(e.unmatched,[[r,t]])})}),{matched:[],unmatched:[]})}function j(e){return e.reduce((function(e,n){var r=n[0],t=n[1];return t&&x(r,t)&&0===e.unmatched.length?v({},e,{matched:[r].concat(e.matched)}):v({},e,{unmatched:[[r,t]].concat(e.unmatched)})}),{matched:[],unmatched:[]})}function S(e,n){return e.map((function(e,r){return[e,n[r]]}))}function T(e,n){for(var r=[],t=0;t<=e.length-1;t++)r.push([e[e.length-1-t],n[n.length-1-t]]);return r}function I(e){var r=e[0],t=e[1];if(r.isWindup&&null!=t&&t.isWindup){var i=G(r.member),u=O(S(C(r.member),C(t.member))),c=u.unmatched,o=u.matched.map((function(e){return e.kind===n.InProgress&&e.isWindup?A(p(e.member)):e.kind===n.Played&&e.isWindup?A(e.member):e.member})),a=I(c[0]),s=c.map((function(e){return e[0]})).map(V);if(a){var f=s.slice(1,0);return[o,[a].concat(f),[],i]}return[o,s,[],i]}}function M(e){var n=e[0],r=e[1];if(n.isWindup&&null!=r&&r.isWindup){var t=G(n.member),i=C(n.member),u=j(T(i,C(r.member))),c=u.matched,o=u.unmatched,a=I(o[o.length-1]),s=c.map(q);if(a){var f=i.slice(0,o.length-1).map(V);return[[],[].concat(f,[a]),s,t]}return[[],[].concat(o).map((function(e){return e[0]})).map(V),s,t]}}function V(e){return e.isWindup&&e.kind===n.Played?E(A(e.member)):e.isWindup?F(e.member):e.member}function q(e){return e.isWindup&&e.kind===n.InProgress?p(e.member):e.member}function D(e,r){var t=G(e),i=C(e),u=C(r),c=O(S(i,u)),o=c.unmatched,a=c.matched.map((function(e){return e.kind===n.InProgress&&e.isWindup?A(p(e.member)):e.kind===n.Played&&e.isWindup?A(e.member):e.member})),s=i.length-a.length,f=j(T(i,u).slice(0,s)),d=f.matched,l=f.unmatched,m=function(e,r){if(0===e.length||0===r.length)return{played:[],remaining:[]};var t=e[0],i=t[0],u=t[1],c=r[r.length-1],o=c[0],a=c[1];if(1===e.length&&1===r.length&&i.isWindup&&null!=u&&u.isWindup){var s=D(i.member,u.member);return k(s)?{played:[s],remaining:[]}:{played:[],remaining:[s]}}var f=e.filter((function(e){return e[0].kind===n.Played})),p=f.map((function(e){return e[0]})).map((function(e){return e.isWindup&&e.kind===n.InProgress?R(F(e.member)):e.isWindup?A(e.member):e.member})),d=e.slice(p.length);if(0===d.length&&0===f.length)return{played:p,remaining:[]};if(0===d.length){var l=r.slice(0,f.length),m=l[l.length-1],h=M([m[0],m[1]]);if(h){var y=p.slice(0,-1);return{played:[].concat(y,[R(h)]),remaining:[]}}return{played:p,remaining:[]}}var v=d[0],g=I([v[0],v[1]]),b=M([o,a]),w=d.map((function(e){return e[0]})).map(V);if(g&&b){var P=w.slice(1,-1);return{played:p,remaining:[g].concat(P,[b])}}if(!g&&b){var E=w.slice(0,-1);return{played:p,remaining:[].concat(E,[b])}}if(g&&!b){var W=w.slice(1);return{played:p,remaining:[g].concat(W)}}return{played:p,remaining:w}}(o.slice(0,l.length),l),h=m.played,y=m.remaining,v=d.map((function(e){return e.kind===n.InProgress&&e.isWindup?p(e.member):e.member}));return 0===y.length?[[].concat(a,h),v,t]:[[].concat(a,h),y,v,t]}function G(e){return u(e)?e[1]:e[2]}function _(e){if(k(e)){var n=e[0];return n[n.length-1]}var r=e[0];return e[1].reduce((function(e,n){return g(n)&&!b(n)?L(n):e}),void 0)||r[r.length-1]}function L(e){var n=_(e);return k(n)?L(n):n}function z(e){var n=e[1],r=e[2],t=e[3],i=e[0].map((function(e){return k(e)?B(e):e})),u=n.map((function(e){return g(e)?z(e):e})),c=r.map((function(e){return o(e)?d(e):e}));return[i,[].concat(u,c),t]}function B(e){var n=e[1],r=e[2],t=e[0].map((function(e){return k(e)?B(e):e}));return[[].concat(t,n),r]}function H(e,n){switch(e){case"—":case"…":return 200;case".":case",":return 150;case"?":case"!":return"!"!==n&&"?"!==n?150:20;case"-":case" ":case"\n":return 0;default:return 20}}!function(e){e[e.Played=0]="Played",e[e.InProgress=1]="InProgress"}(n||(n={}));var J=function(e){return r.createElement(r.Fragment,null,e.children)},K=function(e){return r.createElement(r.Fragment,null,e.children)};function N(e){return{windup:e,didFinishOnce:!1}}function Q(e,n){switch(n.type){case"replace":return N(n.windup);case"next":return u(e.windup)?e:v({},e,{windup:y(e.windup)});case"rewind":return{windup:d(e.windup),didFinishOnce:!1};case"fast-forward":return u(e.windup)?e:v({},e,{windup:p(e.windup)});case"finish":return v({},e,{didFinishOnce:!0});default:return e}}function U(e,n){var t=r.useReducer(Q,e,N),i=t[0],a=i.windup,s=i.didFinishOnce,p=t[1],d=r.useRef(null),h=function(e){return!!u(e)||0===e[1].length}(a),y=r.useCallback((function(){h||(d.current&&clearTimeout(d.current),p({type:"fast-forward"}))}),[h]),v=r.useCallback((function(){d.current&&clearTimeout(d.current),p({type:"rewind"})}),[]);return r.useEffect((function(){p({type:"replace",windup:e})}),[e]),r.useEffect((function(){d.current&&clearTimeout(d.current),n.skipped&&p({type:"fast-forward"}),!1===n.skipped&&p({type:"rewind"})}),[n.skipped]),r.useEffect((function(){var e=function e(n){if(u(n))return[];var r=n[1],t=n[2],i=l(n),a=r[0],s=[];return i&&o(i)&&s.push.apply(s,e(i)),a&&c(a)&&!f(a)&&s.push.apply(s,e(a)),t.onChar&&s.push(t.onChar),s}(a),n=m(a);e.length>0&&n&&e.forEach((function(e){e(n,!1)}))}),[a]),r.useEffect((function(){if(!1===s&&h){var e=setTimeout((function(){n.onFinished&&n.onFinished(),p({type:"finish"})}),0);return function(){clearTimeout(e)}}}),[s,h,n]),r.useEffect((function(){if(!h){var e=function e(n,r){if(!u(n)){var t=n[2],i=n[1][0];return i&&c(i)?e(i,t.pace||r):t.pace||r}}(a)||H,n=m(a),r=function e(n){if(!u(n)){var r=n[1][0];return c(r)?e(r):r}}(a);return d.current=setTimeout((function(){p({type:"next"})}),n?e(n,r):0),function(){d.current&&clearTimeout(d.current)}}}),[a,h]),{windup:a,skip:y,rewind:v,isFinished:h}}var X=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Y=function(){return null},Z=r.createContext({skip:function(){console.warn("Tried to use the useSkip hook outside of a WindupChildren component!!")},rewind:function(){console.warn("Tried to use the useRewind hook outside of a WindupChildren component!")},isFinished:!1});function $(e,n){if("string"==typeof n)return[].concat(e,n.split(""));if("number"==typeof n)return[].concat(e,n.toString().split(""));if(!r.isValidElement(n))return e;var t=n.props,i=t.children,u=function(e,n){if(null==e)return{};var r,t,i={},u=Object.keys(e);for(t=0;t<u.length;t++)n.indexOf(r=u[t])>=0||(i[r]=e[r]);return i}(t,["children"]),o=n.type===J?function(e){if(function(e){return"ms"in e}(e)){var n=e.ms,r=e.reverseMs;return v({pace:function(){return n}},r?{reversePace:function(){return r}}:{})}if(function(e){return"reverseMs"in e}(e)){var t=e.ms,i=e.reverseMs;return v({reversePace:function(){return i}},t?{pace:function(){return t}}:{})}return function(e){return"reverseGetPace"in e}(e)?v({reversePace:e.getReversePace},e.getPace?{pace:e.getPace}:{}):v({pace:e.getPace},e.getReversePace?{reversePace:e.getReversePace}:{})}(n.props):{},f=function(e){return e.type===K}(n)?{onChar:n.props.fn}:{},p=n.key?{key:n.key}:{};if(function(e){return e.type===Y}(n))return[].concat(e,[a(" ",v({element:r.Fragment},p,{props:{children:void 0},pace:function(){return n.props.ms}}))]);if(void 0===i)return[].concat(e,[a(" ",v({element:n.type,props:v({},u,{children:void 0})},p,o,f))]);if("string"==typeof i)return[].concat(e,[a(i,v({element:n.type,props:u},p,o,f))]);if(i instanceof Function)return[].concat(e,[a(" ",v({element:n.type,props:v({children:i},u)},p,o,f))]);var d=r.Children.toArray(i).reduce($,[]).map((function(e){return c(e)?[e[0],e[1],v({},o,f,e[2])]:e}));return[].concat(e,[s(d,v({element:n.type,props:u},p,o,f))])}function ee(e){if(null==e)return"";var n=r.Children.map(e,(function(e){return"string"==typeof e?e:"number"==typeof e?e.toString():r.isValidElement(e)?"#"+(e.key||"")+"<"+ee(e.props.children)+">":""}));return n?n.join(","):""}function ne(e,n){return r.useMemo(e,[ee(n)])}function re(e,n){var t=e[0],i=e[1];if("string"==typeof n||"number"==typeof n){var u=i[0],c=i.slice(1);return[[].concat(t,[u]),c]}if(!r.isValidElement(n))return[t,i];var o=r.Children.toArray(n.props.children).reduce(re,[[],i]),a=o[1];return[[].concat(t,[r.cloneElement(n,{children:o[0]})]),a]}function te(e){return e.type===ie}function ie(e){return r.createElement(r.Fragment,null,e.children)}function ue(e){var n=r.useRef();return r.useEffect((function(){n.current=e}),[e]),n.current}function ce(e){return"toRewind"in e}function oe(e){return!!ce(e)&&w(e.toRewind)>w(e.toResume)}function ae(e){return ce(e)?oe(e)?e.toRewind:e.toResume:e.toPlay}function se(e){return ce(e)?oe(e)?k(e.toRewind)?B(e.toRewind):z(e.toRewind):k(e.toResume)?B(e.toResume):z(e.toResume):k(e.toPlay)?B(e.toPlay):z(e.toPlay)}function fe(e,n){switch(n.type){case"start-rewindup":return{toRewind:D(n.baseWindup,n.againstWindup),toResume:D(n.againstWindup,n.baseWindup)};case"proceed":return ce(e)?(console.log(e),console.log(w(e.toResume)),console.log(w(e.toRewind)),oe(e)?v({},e,{toRewind:E(e.toRewind)}):v({},e,{toResume:W(e.toResume)})):k(e.toPlay)?e:{toPlay:W(e.toPlay)};case"fast-forward":return{toPlay:R(ae(e))};default:return e}}function pe(e,n){var t=r.useReducer(fe,{toPlay:u(e)?A(e):F(e)}),i=t[0],c=t[1];r.useEffect((function(){if(i){var e=ae(i),n=function e(n){if(k(n))return[];var r=n[1],t=n[3],i=_(n),u=r[0],c=[];return i&&k(i)&&c.push.apply(c,e(i)),u&&g(u)&&!b(u)&&c.push.apply(c,e(u)),t.onChar&&c.push(t.onChar),c}(e),r=L(e);n.length>0&&r&&n.forEach((function(e){e(r,ce(i))}))}}),[i]);var o=r.useRef(null);r.useEffect((function(){o.current&&clearTimeout(o.current),n.skipped&&c({type:"fast-forward"}),!1===n.skipped&&c({type:"start-rewindup",baseWindup:se(i),againstWindup:e})}),[n.skipped]);var a=k(ae(i)),f=ue(a);r.useEffect((function(){if(!1===f&&a){var e=setTimeout((function(){n.onFinished&&n.onFinished()}),0);return function(){clearTimeout(e)}}}),[f,a,n.onFinished]),r.useEffect((function(){var e=k(ce(i)?i.toResume:i.toPlay),n=!ce(i)||w(i.toResume)>=w(i.toRewind);if(!(!i||e&&n)){var r=ae(i),t=function e(n,r,t){if(!k(n)){var i=n[3],u=n[1][0],c=r?i.reversePace:i.pace;return u&&g(u)?e(u,r,c||t):c||t}}(r,ce(i))||H,u=L(r),a=function e(n){if(!k(n)){var r=n[1][0];return g(r)?e(r):r}}(r),s=u?t(u,a):0;return o.current=setTimeout((function(){c({type:"proceed"})}),s),function(){o.current&&clearTimeout(o.current)}}}),[i]);var p=ue(e);r.useEffect((function(){void 0!==p&&p!==e&&(n.onRewindStart&&n.onRewindStart(),c({type:"start-rewindup",baseWindup:se(i),againstWindup:e}))}),[e,p]);var d=r.useCallback((function(){c({type:"fast-forward"})}),[]),l=r.useCallback((function(){c({type:"start-rewindup",baseWindup:s([],{}),againstWindup:e})}),[]);return console.log({state:i}),{windup:ae(i),skip:d,rewind:l,isFinished:a}}exports.CharWrapper=function(e){var n=e.element;return r.createElement(r.Fragment,null,r.Children.map(e.children,(function(e){return function e(n,t){if("string"==typeof n)return n.split("").map((function(e,n){return"\n"===e?e:r.createElement(t,{key:e+"-"+n},e)}));if("number"==typeof n)return n.toString().split("").map((function(e){return r.createElement(t,null,e)}));if(!r.isValidElement(n))return r.createElement(r.Fragment,null);if(n.props.children){var i=n.type;return n.props.children instanceof Function?r.createElement(i,Object.assign({key:n.key},n.props)):r.createElement(i,Object.assign({key:n.key},n.props),r.Children.map(n.props.children,(function(n){return e(n,t)})))}return n}(e,n)})))},exports.Effect=function(e){var n=e.fn;return r.useEffect((function(){n()}),[]),null},exports.Linebreaker=function(e){var n=e.fontStyle,t=e.width,u=r.Children.toArray(e.children),c=u.reduce(function e(n){return function(t,i){return"string"==typeof i?[].concat(t,[{text:i,font:n}]):"number"==typeof i?[].concat(t,[{text:i.toString(),font:n}]):r.isValidElement(i)?te(i)&&"string"==typeof i.props.children?[].concat(t,[{text:i.props.children,font:i.props.fontStyle}]):te(i)?[].concat(t,r.Children.toArray(i.props.children).reduce(e(i.props.fontStyle),[])):[].concat(t,r.Children.toArray(i.props.children).reduce(e(n),[])):t}}(n),[]),o=i(c,t,n),a=u.reduce(re,[[],o]);return r.createElement("div",{style:{whiteSpace:"pre"}},a[0])},exports.OnChar=K,exports.Pace=J,exports.Pause=Y,exports.RewindupChildren=function(e){var n=e.children,t=e.onFinished,i=e.onRewindStart,u=e.skipped,c=ne((function(){return s(void 0===n?[]:r.Children.toArray(n).reduce($,[]),{element:void 0})}),n),o=pe(r.useMemo((function(){return u?p(c):c}),[c,u]),{onFinished:t,onRewindStart:i,skipped:u});return r.createElement(Z.Provider,{value:{skip:o.skip,rewind:o.rewind,isFinished:o.isFinished}},function e(n){var t=k(n)?n[2]:n[3],i=P(n),u=t.element||r.Fragment;if(t.props&&Object.keys(t.props).includes("children"))return r.createElement(u,Object.assign({key:t.key},t.props));var c=i.reduce((function(n,r){return[].concat(n,"string"==typeof r?[r]:[e(r)])}),[]);return"string"==typeof t.element&&X.includes(t.element)?r.createElement(u,Object.assign({key:t.key},t.props)):c.every((function(e){return"string"==typeof e}))?r.createElement(u,Object.assign({key:t.key},t.props),c.join("")):r.createElement(u,Object.assign({key:t.key},t.props),c)}(o.windup))},exports.StyledText=ie,exports.WindupChildren=function(e){var n=e.children,t=e.onFinished,i=e.skipped,c=U(ne((function(){return s(r.Children.toArray(n).reduce($,[]),{element:void 0})}),n),{onFinished:t,skipped:i});return r.createElement(Z.Provider,{value:{skip:c.skip,rewind:c.rewind,isFinished:c.isFinished}},function e(n){var t=u(n)?n[1]:n[2],i=h(n),c=t.element||r.Fragment;if(t.props&&Object.keys(t.props).includes("children"))return r.createElement(c,Object.assign({key:t.key},t.props));var o=i.reduce((function(n,r){if("string"==typeof r){var t=n.slice(0,n.length-1),i=n[n.length-1];return i&&"string"==typeof i?[].concat(t,[i+r]):[].concat(n,[r])}return[].concat(n,[e(r)])}),[]);return"string"==typeof t.element&&X.includes(t.element)?r.createElement(c,Object.assign({key:t.key},t.props)):o.every((function(e){return"string"==typeof e}))?r.createElement(c,Object.assign({key:t.key},t.props),o.join("")):r.createElement(c,Object.assign({key:t.key},t.props),o)}(c.windup))},exports.defaultGetPace=H,exports.textFromChildren=function e(n){var t=r.Children.map(n,(function(n){return"string"==typeof n?n:"number"==typeof n?n.toString():r.isValidElement(n)&&n.props.children?e(n.props.children):""}));return t?t.join(""):""},exports.useIsFinished=function(){return r.useContext(Z).isFinished},exports.useRewind=function(){return r.useContext(Z).rewind},exports.useRewindupString=function(e,n){void 0===n&&(n={});var t=pe(r.useMemo((function(){return a(e,n)}),[e]),n),i=t.skip,u=t.rewind,c=t.isFinished,o=function e(n){return P(n).reduce((function(n,r){return"string"==typeof r?n+r:n+e(r)}),"")}(t.windup);return r.useDebugValue(o),[o,{skip:i,rewind:u,isFinished:c}]},exports.useSkip=function(){return r.useContext(Z).skip},exports.useWindupString=function(e,n){void 0===n&&(n={});var t=U(r.useMemo((function(){return a(e,n)}),[e]),n),i=t.skip,u=t.rewind,c=t.isFinished,o=function e(n){return h(n).reduce((function(n,r){return"string"==typeof r?n+r:n+e(r)}),"")}(t.windup);return r.useDebugValue(o),[o,{skip:i,rewind:u,isFinished:c}]};
//# sourceMappingURL=windups.cjs.production.min.js.map
import { createElement, Fragment, useReducer, useRef, useCallback, useEffect, useMemo, useDebugValue, createContext, useContext, Children, isValidElement, cloneElement } from 'react';
import isEqual from 'fast-deep-equal';
import breakLines from 'break-styled-lines';
import isEqual$1 from 'fast-deep-equal/es6/react';

@@ -351,21 +350,20 @@ // Is the windup of type PlayedWindup?

}
function playedElements$1(suffixedWindup) {
if (isPlayedSuffixedWindup(suffixedWindup)) {
return suffixedWindup[0];
}
function playedSize(suffixedWindup) {
var suffixedPlayed = suffixedWindup[0],
remaining = suffixedWindup[1];
var sizeOfPlayed = suffixedPlayed.reduce(function (acc, member) {
if (isPlayedSuffixedWindup(member)) {
return acc + playedSize(member);
}
return acc + 1;
}, 0);
var firstRemaining = remaining[0];
if (firstRemaining && isSuffixedWindup(firstRemaining)) {
var metadata = firstRemaining[3];
var playedFromFirstRemaining = playedElements$1(firstRemaining);
if (playedFromFirstRemaining.length > 0) {
return [].concat(suffixedPlayed, [[playedFromFirstRemaining, [], metadata]]);
}
var sizeFromFirstRemaining = playedSize(firstRemaining);
return sizeOfPlayed + sizeFromFirstRemaining;
}
return suffixedPlayed;
return sizeOfPlayed;
}

@@ -397,7 +395,2 @@ function playedElementsWithSuffix(windup) {

}, []);
console.log({
suffixedPlayed: suffixedPlayed,
middle: middle,
suffix: suffix
});
return [].concat(suffixedPlayed, middle, suffix.map(function (member) {

@@ -1880,3 +1873,3 @@ if (playedMemberIsWindup(member)) {

function isRewindupState(state) {
if ("rewindUntil" in state) {
if ("toRewind" in state) {
return true;

@@ -1889,3 +1882,3 @@ }

function isRewinding(state) {
return isRewindupState(state) ? !isEqual$1(state.rewindUntil, playedElements$1(state.toRewind)) : false;
return isRewindupState(state) ? playedSize(state.toRewind) > playedSize(state.toResume) : false;
}

@@ -1915,6 +1908,4 @@

var toResume = mergeWindupsToSuffixedWindup(action.againstWindup, action.baseWindup);
var rewindUntil = playedElements$1(toResume);
return {
toRewind: toRewind,
rewindUntil: rewindUntil,
toResume: toResume

@@ -1936,2 +1927,6 @@ };

console.log(state);
console.log(playedSize(state.toResume));
console.log(playedSize(state.toRewind));
if (isRewinding(state)) {

@@ -2025,3 +2020,3 @@ var nextToRewind = prev(state.toRewind);

var isPlayed = isPlayedSuffixedWindup(isRewindupState(state) ? state.toResume : state.toPlay);
var isRewindDone = isRewindupState(state) ? isEqual$1(playedElements$1(state.toRewind), state.rewindUntil) : true;
var isRewindDone = isRewindupState(state) ? playedSize(state.toResume) >= playedSize(state.toRewind) : true;

@@ -2080,2 +2075,5 @@ if (!state || isPlayed && isRewindDone) {

}, []);
console.log({
state: state
});
return {

@@ -2082,0 +2080,0 @@ windup: getActiveWindup(state),

{
"name": "windups",
"version": "1.2.0-alpha.2",
"version": "1.2.0-alpha.3",
"description": "A unique typewriter effect library for React.",

@@ -5,0 +5,0 @@ "author": "Sam Gwilym <gwilym@me.com>",

import * as React from "react";
import isEqual from "fast-deep-equal/es6/react";
import { isPlayedWindup, newWindup, PlayedWindup, Windup } from "../Windup";

@@ -10,5 +9,3 @@ import {

nextSuffixedElement,
playedElements,
PlayedSuffixedWindup,
PlayedSuffixedWindupMember,
playedWindupToSuffixed,

@@ -21,2 +18,3 @@ prev,

fastForward,
playedSize,
} from "../SuffixedWindup";

@@ -54,3 +52,2 @@ import { HookMetadata } from "./useWindup";

| PlayedSuffixedWindup<string, MetadataType>;
rewindUntil: Array<PlayedSuffixedWindupMember<string, MetadataType>>;
};

@@ -70,3 +67,3 @@

): state is RewindupState<M> {
if ("rewindUntil" in state) {
if ("toRewind" in state) {
return true;

@@ -80,3 +77,3 @@ }

return isRewindupState(state)
? !isEqual(state.rewindUntil, playedElements(state.toRewind))
? playedSize(state.toRewind) > playedSize(state.toResume)
: false;

@@ -88,2 +85,4 @@ }

): SuffixedWindup<string, M> | PlayedSuffixedWindup<string, M> {
return isRewindupState(state)

@@ -146,7 +145,5 @@ ? isRewinding(state)

const rewindUntil = playedElements(toResume);
return {
toRewind,
rewindUntil,
toResume,

@@ -157,2 +154,4 @@ };

case "proceed": {
if (!isRewindupState(state)) {

@@ -167,4 +166,11 @@ if (isPlayedSuffixedWindup(state.toPlay)) {

}
console.log(state)
console.log(playedSize(state.toResume))
console.log(playedSize(state.toRewind))
if (isRewinding(state)) {
const nextToRewind = prev(state.toRewind);

@@ -281,3 +287,3 @@

const isRewindDone = isRewindupState(state)
? isEqual(playedElements(state.toRewind), state.rewindUntil)
? playedSize(state.toResume) >= playedSize(state.toRewind)
: true;

@@ -343,2 +349,4 @@

}, []);
console.log({state})

@@ -345,0 +353,0 @@ return {

@@ -107,26 +107,26 @@ import isEqual from "fast-deep-equal";

export function playedElements<ElementType, MetadataType>(
export function playedSize<ElementType, MetadataType>(
suffixedWindup:
| SuffixedWindup<ElementType, MetadataType>
| PlayedSuffixedWindup<ElementType, MetadataType>
): Array<PlayedSuffixedWindupMember<ElementType, MetadataType>> {
if (isPlayedSuffixedWindup(suffixedWindup)) {
return suffixedWindup[0];
}
): number {
const [suffixedPlayed, remaining] = suffixedWindup;
const sizeOfPlayed = suffixedPlayed.reduce((acc: number, member) => {
if (isPlayedSuffixedWindup(member)) {
return acc + playedSize(member);
}
return acc + 1;
}, 0);
const [firstRemaining] = remaining;
if (firstRemaining && isSuffixedWindup(firstRemaining)) {
const metadata = firstRemaining[3];
const sizeFromFirstRemaining = playedSize(firstRemaining);
const playedFromFirstRemaining = playedElements(firstRemaining);
if (playedFromFirstRemaining.length > 0) {
return [...suffixedPlayed, [playedFromFirstRemaining, [], metadata]];
}
return sizeOfPlayed + sizeFromFirstRemaining;
}
return suffixedPlayed;
return sizeOfPlayed;
}

@@ -172,4 +172,2 @@

console.log({ suffixedPlayed, middle, suffix });
return [

@@ -176,0 +174,0 @@ ...suffixedPlayed,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc