From 2eee8dbc925c9588b6c400223d2e5d4085e127cd Mon Sep 17 00:00:00 2001 From: chriddyp Date: Sun, 29 Apr 2018 20:41:27 -0400 Subject: [PATCH 1/9] n_clicks_previous property --- scripts/generate-components.js | 52 +++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/scripts/generate-components.js b/scripts/generate-components.js index e7bc5e92..d72e3d75 100644 --- a/scripts/generate-components.js +++ b/scripts/generate-components.js @@ -59,6 +59,17 @@ function generatePropTypes(element, attributes) { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * \`n_clicks\`, then the button wasn't clicked on. + * If it is less than \`n_clicks\`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components @@ -113,29 +124,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const ${Component} = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <${element} - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - <${element} {...props}> - {props.children} - - ); - } + return ( + <${element} + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; ${Component}.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; ${Component}.propTypes = {${propTypes} From d476ca6deab0c923e3d8ec4db06a1489a0ffbf0b Mon Sep 17 00:00:00 2001 From: chriddyp Date: Sun, 29 Apr 2018 20:41:52 -0400 Subject: [PATCH 2/9] regenerate components --- dash_html_components/bundle.js | 12 +- dash_html_components/metadata.json | 1592 +++++++++++++++++++++++++++- scripts/data/attributes.json | 11 +- scripts/data/elements.txt | 1 - src/components/A.react.js | 52 +- src/components/Abbr.react.js | 52 +- src/components/Acronym.react.js | 52 +- src/components/Address.react.js | 52 +- src/components/Area.react.js | 52 +- src/components/Article.react.js | 52 +- src/components/Aside.react.js | 52 +- src/components/Audio.react.js | 52 +- src/components/B.react.js | 52 +- src/components/Base.react.js | 52 +- src/components/Basefont.react.js | 52 +- src/components/Bdi.react.js | 52 +- src/components/Bdo.react.js | 52 +- src/components/Big.react.js | 52 +- src/components/Blink.react.js | 52 +- src/components/Blockquote.react.js | 52 +- src/components/Br.react.js | 52 +- src/components/Button.react.js | 52 +- src/components/Canvas.react.js | 52 +- src/components/Caption.react.js | 52 +- src/components/Center.react.js | 52 +- src/components/Cite.react.js | 52 +- src/components/Code.react.js | 52 +- src/components/Col.react.js | 52 +- src/components/Colgroup.react.js | 52 +- src/components/Command.react.js | 52 +- src/components/Content.react.js | 52 +- src/components/Data.react.js | 52 +- src/components/Datalist.react.js | 52 +- src/components/Dd.react.js | 52 +- src/components/Del.react.js | 52 +- src/components/Details.react.js | 52 +- src/components/Dfn.react.js | 52 +- src/components/Dialog.react.js | 52 +- src/components/Div.react.js | 52 +- src/components/Dl.react.js | 52 +- src/components/Dt.react.js | 52 +- src/components/Element.react.js | 52 +- src/components/Em.react.js | 52 +- src/components/Embed.react.js | 52 +- src/components/Fieldset.react.js | 52 +- src/components/Figcaption.react.js | 52 +- src/components/Figure.react.js | 52 +- src/components/Font.react.js | 52 +- src/components/Footer.react.js | 52 +- src/components/Form.react.js | 52 +- src/components/Frame.react.js | 52 +- src/components/Frameset.react.js | 52 +- src/components/H1.react.js | 52 +- src/components/H2.react.js | 52 +- src/components/H3.react.js | 52 +- src/components/H4.react.js | 52 +- src/components/H5.react.js | 52 +- src/components/H6.react.js | 52 +- src/components/Header.react.js | 52 +- src/components/Hgroup.react.js | 52 +- src/components/Hr.react.js | 52 +- src/components/I.react.js | 52 +- src/components/Iframe.react.js | 59 +- src/components/Img.react.js | 52 +- src/components/Ins.react.js | 52 +- src/components/Isindex.react.js | 52 +- src/components/Kbd.react.js | 52 +- src/components/Keygen.react.js | 52 +- src/components/Label.react.js | 52 +- src/components/Legend.react.js | 52 +- src/components/Li.react.js | 52 +- src/components/Link.react.js | 52 +- src/components/Listing.react.js | 52 +- src/components/Main.react.js | 52 +- src/components/MapEl.react.js | 52 +- src/components/Mark.react.js | 52 +- src/components/Marquee.react.js | 52 +- src/components/Meta.react.js | 52 +- src/components/Meter.react.js | 52 +- src/components/Multicol.react.js | 52 +- src/components/Nav.react.js | 52 +- src/components/Nextid.react.js | 52 +- src/components/Nobr.react.js | 52 +- src/components/Noscript.react.js | 52 +- src/components/ObjectEl.react.js | 52 +- src/components/Ol.react.js | 52 +- src/components/Optgroup.react.js | 52 +- src/components/Option.react.js | 52 +- src/components/Output.react.js | 52 +- src/components/P.react.js | 52 +- src/components/Param.react.js | 52 +- src/components/Picture.react.js | 52 +- src/components/Plaintext.react.js | 52 +- src/components/Pre.react.js | 52 +- src/components/Progress.react.js | 52 +- src/components/Q.react.js | 52 +- src/components/Rp.react.js | 52 +- src/components/Rt.react.js | 52 +- src/components/Rtc.react.js | 52 +- src/components/Ruby.react.js | 52 +- src/components/S.react.js | 52 +- src/components/Samp.react.js | 52 +- src/components/Script.react.js | 52 +- src/components/Section.react.js | 52 +- src/components/Select.react.js | 52 +- src/components/Shadow.react.js | 52 +- src/components/Slot.react.js | 52 +- src/components/Small.react.js | 52 +- src/components/Source.react.js | 52 +- src/components/Spacer.react.js | 52 +- src/components/Span.react.js | 52 +- src/components/Strike.react.js | 52 +- src/components/Strong.react.js | 52 +- src/components/Sub.react.js | 52 +- src/components/Summary.react.js | 52 +- src/components/Sup.react.js | 52 +- src/components/Table.react.js | 52 +- src/components/Tbody.react.js | 52 +- src/components/Td.react.js | 52 +- src/components/Template.react.js | 52 +- src/components/Textarea.react.js | 52 +- src/components/Tfoot.react.js | 52 +- src/components/Th.react.js | 54 +- src/components/Thead.react.js | 52 +- src/components/Time.react.js | 52 +- src/components/Title.react.js | 52 +- src/components/Tr.react.js | 52 +- src/components/Track.react.js | 52 +- src/components/U.react.js | 52 +- src/components/Ul.react.js | 52 +- src/components/Var.react.js | 52 +- src/components/Video.react.js | 52 +- src/components/Wbr.react.js | 52 +- src/components/Xmp.react.js | 52 +- 134 files changed, 5742 insertions(+), 2643 deletions(-) diff --git a/dash_html_components/bundle.js b/dash_html_components/bundle.js index aeb0b0d5..7931e159 100644 --- a/dash_html_components/bundle.js +++ b/dash_html_components/bundle.js @@ -1,6 +1,6 @@ -this.dash_html_components=function(e){function t(r){if(n[r])return n[r].exports;var l=n[r]={exports:{},id:r,loaded:!1};return e[r].call(l.exports,l,l.exports,t),l.loaded=!0,l.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Xmp=t.Wbr=t.Video=t.Var=t.Ul=t.U=t.Track=t.Tr=t.Title=t.Time=t.Thead=t.Th=t.Tfoot=t.Textarea=t.Template=t.Td=t.Tbody=t.Table=t.Sup=t.Summary=t.Sub=t.Strong=t.Strike=t.Span=t.Spacer=t.Source=t.Small=t.Slot=t.Shadow=t.Select=void 0,t.Section=t.Script=t.Samp=t.S=t.Ruby=t.Rtc=t.Rt=t.Rp=t.Q=t.Progress=t.Pre=t.Plaintext=t.Picture=t.Param=t.P=t.Output=t.Option=t.Optgroup=t.Ol=t.ObjectEl=t.Noscript=t.Nobr=t.Nextid=t.Nav=t.Multicol=t.Meter=t.Meta=t.Marquee=t.Mark=t.MapEl=t.Main=t.Listing=t.Link=t.Li=t.Legend=t.Label=t.Keygen=t.Kbd=t.Isindex=t.Ins=t.Img=t.Iframe=t.I=t.Hr=t.Hgroup=t.Header=t.H6=t.H5=t.H4=t.H3=t.H2=t.H1=t.Frameset=t.Frame=t.Form=t.Footer=t.Font=t.Figure=t.Figcaption=t.Fieldset=t.Embed=t.Em=t.Element=t.Dt=t.Dl=t.Div=t.Dialog=t.Dfn=t.Details=t.Del=t.Dd=t.Datalist=t.Data=t.Content=t.Command=t.Colgroup=t.Col=t.Code=t.Cite=t.Center=t.Caption=t.Canvas=t.Button=t.Br=t.Blockquote=t.Blink=t.Big=t.Bdo=t.Bdi=t.Basefont=t.Base=t.B=t.Audio=t.Aside=t.Article=t.Area=t.Address=t.Acronym=t.Abbr=t.A=void 0;var l=n(3),a=r(l),i=n(4),s=r(i),d=n(5),u=r(d),f=n(6),c=r(f),o=n(7),g=r(o),p=n(8),v=r(p),k=n(9),h=r(k),E=n(10),_=r(E),b=n(11),y=r(b),P=n(12),O=r(P),m=n(13),j=r(m),M=n(14),x=r(M),C=n(15),T=r(C),w=n(16),I=r(w),N=n(17),K=r(N),S=n(18),F=r(S),D=n(19),B=r(D),R=n(20),A=r(R),H=n(21),L=r(H),q=n(22),U=r(q),V=n(23),z=r(V),W=n(24),Q=r(W),X=n(25),G=r(X),Y=n(26),J=r(Y),Z=n(27),$=r(Z),ee=n(28),te=r(ee),ne=n(29),re=r(ne),le=n(30),ae=r(le),ie=n(31),se=r(ie),de=n(32),ue=r(de),fe=n(33),ce=r(fe),oe=n(34),ge=r(oe),pe=n(35),ve=r(pe),ke=n(36),he=r(ke),Ee=n(37),_e=r(Ee),be=n(38),ye=r(be),Pe=n(39),Oe=r(Pe),me=n(40),je=r(me),Me=n(41),xe=r(Me),Ce=n(42),Te=r(Ce),we=n(43),Ie=r(we),Ne=n(44),Ke=r(Ne),Se=n(45),Fe=r(Se),De=n(46),Be=r(De),Re=n(47),Ae=r(Re),He=n(48),Le=r(He),qe=n(49),Ue=r(qe),Ve=n(50),ze=r(Ve),We=n(51),Qe=r(We),Xe=n(52),Ge=r(Xe),Ye=n(53),Je=r(Ye),Ze=n(54),$e=r(Ze),et=n(55),tt=r(et),nt=n(56),rt=r(nt),lt=n(57),at=r(lt),it=n(58),st=r(it),dt=n(59),ut=r(dt),ft=n(60),ct=r(ft),ot=n(61),gt=r(ot),pt=n(62),vt=r(pt),kt=n(63),ht=r(kt),Et=n(64),_t=r(Et),bt=n(65),yt=r(bt),Pt=n(66),Ot=r(Pt),mt=n(67),jt=r(mt),Mt=n(68),xt=r(Mt),Ct=n(69),Tt=r(Ct),wt=n(70),It=r(wt),Nt=n(71),Kt=r(Nt),St=n(72),Ft=r(St),Dt=n(73),Bt=r(Dt),Rt=n(74),At=r(Rt),Ht=n(75),Lt=r(Ht),qt=n(76),Ut=r(qt),Vt=n(77),zt=r(Vt),Wt=n(78),Qt=r(Wt),Xt=n(79),Gt=r(Xt),Yt=n(80),Jt=r(Yt),Zt=n(81),$t=r(Zt),en=n(82),tn=r(en),nn=n(83),rn=r(nn),ln=n(84),an=r(ln),sn=n(85),dn=r(sn),un=n(86),fn=r(un),cn=n(87),on=r(cn),gn=n(88),pn=r(gn),vn=n(89),kn=r(vn),hn=n(90),En=r(hn),_n=n(91),bn=r(_n),yn=n(92),Pn=r(yn),On=n(93),mn=r(On),jn=n(94),Mn=r(jn),xn=n(95),Cn=r(xn),Tn=n(96),wn=r(Tn),In=n(97),Nn=r(In),Kn=n(98),Sn=r(Kn),Fn=n(99),Dn=r(Fn),Bn=n(100),Rn=r(Bn),An=n(101),Hn=r(An),Ln=n(102),qn=r(Ln),Un=n(103),Vn=r(Un),zn=n(104),Wn=r(zn),Qn=n(105),Xn=r(Qn),Gn=n(106),Yn=r(Gn),Jn=n(107),Zn=r(Jn),$n=n(108),er=r($n),tr=n(109),nr=r(tr),rr=n(110),lr=r(rr),ar=n(111),ir=r(ar),sr=n(112),dr=r(sr),ur=n(113),fr=r(ur),cr=n(114),or=r(cr),gr=n(115),pr=r(gr),vr=n(116),kr=r(vr),hr=n(117),Er=r(hr),_r=n(118),br=r(_r),yr=n(119),Pr=r(yr),Or=n(120),mr=r(Or),jr=n(121),Mr=r(jr),xr=n(122),Cr=r(xr),Tr=n(123),wr=r(Tr),Ir=n(124),Nr=r(Ir),Kr=n(125),Sr=r(Kr),Fr=n(126),Dr=r(Fr),Br=n(127),Rr=r(Br),Ar=n(128),Hr=r(Ar),Lr=n(129),qr=r(Lr),Ur=n(130),Vr=r(Ur),zr=n(131),Wr=r(zr),Qr=n(132),Xr=r(Qr);t.A=a.default,t.Abbr=s.default,t.Acronym=u.default,t.Address=c.default,t.Area=g.default,t.Article=v.default,t.Aside=h.default,t.Audio=_.default,t.B=y.default,t.Base=O.default,t.Basefont=j.default,t.Bdi=x.default,t.Bdo=T.default,t.Big=I.default,t.Blink=K.default,t.Blockquote=F.default,t.Br=B.default,t.Button=A.default,t.Canvas=L.default,t.Caption=U.default,t.Center=z.default,t.Cite=Q.default,t.Code=G.default,t.Col=J.default,t.Colgroup=$.default,t.Command=te.default,t.Content=re.default,t.Data=ae.default,t.Datalist=se.default,t.Dd=ue.default,t.Del=ce.default,t.Details=ge.default,t.Dfn=ve.default,t.Dialog=he.default,t.Div=_e.default,t.Dl=ye.default,t.Dt=Oe.default,t.Element=je.default,t.Em=xe.default,t.Embed=Te.default,t.Fieldset=Ie.default,t.Figcaption=Ke.default,t.Figure=Fe.default,t.Font=Be.default,t.Footer=Ae.default,t.Form=Le.default,t.Frame=Ue.default,t.Frameset=ze.default,t.H1=Qe.default,t.H2=Ge.default,t.H3=Je.default,t.H4=$e.default,t.H5=tt.default,t.H6=rt.default,t.Header=at.default,t.Hgroup=st.default,t.Hr=ut.default,t.I=ct.default,t.Iframe=gt.default,t.Img=vt.default,t.Ins=ht.default,t.Isindex=_t.default,t.Kbd=yt.default,t.Keygen=Ot.default,t.Label=jt.default,t.Legend=xt.default,t.Li=Tt.default,t.Link=It.default,t.Listing=Kt.default,t.Main=Ft.default,t.MapEl=Bt.default,t.Mark=At.default,t.Marquee=Lt.default,t.Meta=Ut.default,t.Meter=zt.default,t.Multicol=Qt.default,t.Nav=Gt.default,t.Nextid=Jt.default,t.Nobr=$t.default,t.Noscript=tn.default,t.ObjectEl=rn.default,t.Ol=an.default,t.Optgroup=dn.default,t.Option=fn.default,t.Output=on.default,t.P=pn.default,t.Param=kn.default,t.Picture=En.default,t.Plaintext=bn.default,t.Pre=Pn.default,t.Progress=mn.default,t.Q=Mn.default,t.Rp=Cn.default,t.Rt=wn.default,t.Rtc=Nn.default,t.Ruby=Sn.default,t.S=Dn.default,t.Samp=Rn.default,t.Script=Hn.default,t.Section=qn.default,t.Select=Vn.default,t.Shadow=Wn.default,t.Slot=Xn.default,t.Small=Yn.default,t.Source=Zn.default,t.Spacer=er.default,t.Span=nr.default,t.Strike=lr.default,t.Strong=ir.default,t.Sub=dr.default,t.Summary=fr.default,t.Sup=or.default,t.Table=pr.default,t.Tbody=kr.default,t.Td=Er.default,t.Template=br.default,t.Textarea=Pr.default,t.Tfoot=mr.default,t.Th=Mr.default,t.Thead=Cr.default,t.Time=wr.default,t.Title=Nr.default,t.Tr=Sr.default,t.Track=Dr.default,t.U=Rr.default,t.Ul=Hr.default,t.Var=qr.default,t.Video=Vr.default,t.Wbr=Wr.default,t.Xmp=Xr.default},function(e,t,n){e.exports=n(133)()},function(e,t){!function(){e.exports=this.React}()},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,download:u.default.string,href:u.default.string,hrefLang:u.default.string,media:u.default.string,rel:u.default.string,shape:u.default.string,target:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,alt:u.default.string,coords:u.default.string,download:u.default.string,href:u.default.string,hrefLang:u.default.string,media:u.default.string,rel:u.default.string,shape:u.default.string,target:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoPlay:u.default.string,controls:u.default.string,crossOrigin:u.default.string,loop:u.default.string,muted:u.default.string,preload:u.default.string,src:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,href:u.default.string,target:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,cite:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoFocus:u.default.string,disabled:u.default.string,form:u.default.string,formAction:u.default.string,name:u.default.string,type:u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,height:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1), +e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,span:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,span:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,checked:u.default.string,disabled:u.default.string,icon:u.default.string,radioGroup:u.default.string,type:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,cite:u.default.string,dateTime:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,open:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,height:u.default.string,src:u.default.string,type:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,disabled:u.default.string,form:u.default.string,name:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accept:u.default.string,acceptCharset:u.default.string,action:u.default.string,autoComplete:u.default.string,encType:u.default.string,method:u.default.string,name:u.default.string,noValidate:u.default.string,target:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"]) +},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,height:u.default.string,name:u.default.string,sandbox:u.default.string,src:u.default.string,srcDoc:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,alt:u.default.string,crossOrigin:u.default.string,height:u.default.string,sizes:u.default.string,src:u.default.string,srcSet:u.default.string,useMap:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,cite:u.default.string,dateTime:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoFocus:u.default.string,challenge:u.default.string,disabled:u.default.string,form:u.default.string,keyType:u.default.string,name:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,htmlFor:u.default.string,form:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,crossOrigin:u.default.string,href:u.default.string,hrefLang:u.default.string,integrity:u.default.string,media:u.default.string,rel:u.default.string,sizes:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,name:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click" +})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,loop:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,charSet:u.default.string,content:u.default.string,httpEquiv:u.default.string,name:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,form:u.default.string,high:u.default.string,low:u.default.string,max:u.default.string,min:u.default.string,optimum:u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,form:u.default.string,height:u.default.string,name:u.default.string,type:u.default.string,useMap:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,reversed:u.default.string,start:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,disabled:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,disabled:u.default.string,selected:u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,htmlFor:u.default.string,form:u.default.string,name:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,name:u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,form:u.default.string,max:u.default.string,value:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,cite:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string, +title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,async:u.default.string,charSet:u.default.string,crossOrigin:u.default.string,defer:u.default.string,integrity:u.default.string,src:u.default.string,type:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoFocus:u.default.string,disabled:u.default.string,form:u.default.string,multiple:u.default.string,name:u.default.string,required:u.default.string,size:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,media:u.default.string,sizes:u.default.string,src:u.default.string,type:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,summary:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,colSpan:u.default.string,headers:u.default.string,rowSpan:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoComplete:u.default.string,autoFocus:u.default.string,cols:u.default.string,disabled:u.default.string,form:u.default.string,maxLength:u.default.string,minLength:u.default.string,name:u.default.string,placeholder:u.default.string,readOnly:u.default.string,required:u.default.string,rows:u.default.string,wrap:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,colSpan:u.default.string,headers:u.default.string,rowSpan:u.default.string,scope:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,dateTime:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,default:u.default.string,kind:u.default.string,label:u.default.string,src:u.default.string,srcLang:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,autoPlay:u.default.string,controls:u.default.string,crossOrigin:u.default.string,height:u.default.string,loop:u.default.string,muted:u.default.string,poster:u.default.string,preload:u.default.string,src:u.default.string,width:u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&(t.n_clicks_previous=e.n_clicks_previous+1),e.setProps(t)}e.fireEvent&&e.fireEvent({event:"click"})}},e),e.children)};c.defaultProps={n_clicks:0,n_clicks_previous:0},c.propTypes={id:u.default.string,children:u.default.node,n_clicks:u.default.integer,n_clicks_previous:u.default.integer,key:u.default.string,role:u.default.string,"data-*":u.default.string,"aria-*":u.default.string,accessKey:u.default.string,className:u.default.string,contentEditable:u.default.string,contextMenu:u.default.string,dir:u.default.string,draggable:u.default.string,hidden:u.default.string,lang:u.default.string,spellCheck:u.default.string,style:u.default.object,tabIndex:u.default.string,title:u.default.string,fireEvent:u.default.func,dashEvents:u.default.oneOf(["click"])},t.default=c},function(e,t,n){"use strict";var l=n(135),r=n(136),i=n(134);e.exports=function(){function e(e,t,n,l,a,s){s!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=l,n.PropTypes=n,n}},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n},function(e,t){"use strict";function n(e){return function(){return e}}var l=function(){};l.thatReturns=n,l.thatReturnsFalse=n(!1),l.thatReturnsTrue=n(!0),l.thatReturnsNull=n(null),l.thatReturnsThis=function(){return this},l.thatReturnsArgument=function(e){return e},e.exports=l},function(e,t,n){"use strict";function l(e,t,n,l,i,a,s,u){if(r(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[n,l,i,a,s,u],f=0;c=new Error(t.replace(/%s/g,function(){return d[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(e){};e.exports=l}]); \ No newline at end of file diff --git a/dash_html_components/metadata.json b/dash_html_components/metadata.json index 9faf0da7..065e7275 100644 --- a/dash_html_components/metadata.json +++ b/dash_html_components/metadata.json @@ -31,6 +31,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -265,6 +277,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -443,6 +467,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -621,6 +657,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -799,6 +847,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -1049,6 +1109,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -1227,6 +1299,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -1405,6 +1489,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -1639,6 +1735,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -1817,6 +1925,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2011,6 +2131,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2189,6 +2321,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2367,6 +2511,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2545,6 +2701,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2723,6 +2891,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -2901,6 +3081,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -3087,6 +3279,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -3265,6 +3469,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -3499,6 +3715,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -3693,6 +3921,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -3871,6 +4111,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -4049,6 +4301,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -4227,6 +4491,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -4405,6 +4681,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -4591,6 +4879,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -4777,15 +5077,27 @@ "computed": false } }, - "key": { + "n_clicks_previous": { "type": { "name": "custom", - "raw": "PropTypes.string" + "raw": "PropTypes.integer" }, "required": false, - "description": "A unique identifier for the component, used to improve\nperformance by React.js while rendering components\nSee https://reactjs.org/docs/lists-and-keys.html for more info" - }, - "role": { + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, + "key": { + "type": { + "name": "custom", + "raw": "PropTypes.string" + }, + "required": false, + "description": "A unique identifier for the component, used to improve\nperformance by React.js while rendering components\nSee https://reactjs.org/docs/lists-and-keys.html for more info" + }, + "role": { "type": { "name": "custom", "raw": "PropTypes.string" @@ -4995,6 +5307,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -5173,6 +5497,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -5351,6 +5687,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -5529,6 +5877,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -5707,6 +6067,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -5901,6 +6273,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6087,6 +6471,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6265,6 +6661,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6443,6 +6851,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6621,6 +7041,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6799,6 +7231,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -6977,6 +7421,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -7155,6 +7611,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -7333,6 +7801,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -7543,6 +8023,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -7745,6 +8237,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -7923,6 +8427,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -8101,6 +8617,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -8279,6 +8807,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -8457,6 +8997,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -8707,6 +9259,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -8885,6 +9449,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9063,6 +9639,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9241,6 +9829,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9419,6 +10019,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9597,6 +10209,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9775,6 +10399,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -9953,6 +10589,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -10125,7 +10773,19 @@ "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", "defaultValue": { "value": "0", "computed": false @@ -10309,6 +10969,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -10487,6 +11159,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -10665,6 +11349,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -10843,6 +11539,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -10897,15 +11605,7 @@ "raw": "PropTypes.string" }, "required": false, - "description": "" - }, - "seamless": { - "type": { - "name": "custom", - "raw": "PropTypes.string" - }, - "required": false, - "description": "" + "description": "Stops a document loaded in an iframe from using certain features (such as submitting forms or opening new windows)." }, "src": { "type": { @@ -11077,6 +11777,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -11319,6 +12031,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -11513,6 +12237,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -11691,6 +12427,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -11869,6 +12617,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -12095,6 +12855,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -12289,6 +13061,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -12467,6 +13251,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -12653,6 +13449,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -12887,6 +13695,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -13065,6 +13885,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -13243,6 +14075,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -13429,6 +14273,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -13607,6 +14463,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -13793,6 +14661,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14003,6 +14883,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14237,6 +15129,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14415,6 +15319,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14593,6 +15509,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14771,6 +15699,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -14937,13 +15877,25 @@ "required": false, "description": "The children of this component" }, - "n_clicks": { + "n_clicks": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, + "n_clicks_previous": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", "defaultValue": { "value": "0", "computed": false @@ -15127,6 +16079,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -15353,6 +16317,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -15547,6 +16523,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -15733,6 +16721,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -15935,6 +16935,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -16137,6 +17149,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -16315,6 +17339,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -16509,6 +17545,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -16687,6 +17735,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -16865,6 +17925,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17043,6 +18115,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17245,6 +18329,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17431,6 +18527,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17609,6 +18717,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17787,6 +18907,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -17965,6 +19097,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -18143,6 +19287,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -18321,6 +19477,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -18499,6 +19667,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -18733,6 +19913,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -18911,6 +20103,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -19145,6 +20349,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -19323,6 +20539,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -19501,6 +20729,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -19667,13 +20907,25 @@ "required": false, "description": "The children of this component" }, - "n_clicks": { + "n_clicks": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, + "n_clicks_previous": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element has been clicked on.", + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", "defaultValue": { "value": "0", "computed": false @@ -19889,6 +21141,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20067,6 +21331,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20245,6 +21521,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20423,6 +21711,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20601,6 +21901,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20779,6 +22091,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -20957,6 +22281,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -21135,6 +22471,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -21321,6 +22669,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -21499,6 +22859,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -21701,6 +23073,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -21879,6 +23263,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -22161,6 +23557,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -22339,6 +23747,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -22401,7 +23821,7 @@ "raw": "PropTypes.string" }, "required": false, - "description": "" + "description": "Defines the cells that the header test (defined in the th element) relates to." }, "accessKey": { "type": { @@ -22549,6 +23969,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -22727,6 +24159,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -22913,6 +24357,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -23091,6 +24547,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -23269,6 +24737,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -23487,6 +24967,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -23665,6 +25157,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -23843,6 +25347,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -24021,6 +25537,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -24279,6 +25807,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", @@ -24457,6 +25997,18 @@ "computed": false } }, + "n_clicks_previous": { + "type": { + "name": "custom", + "raw": "PropTypes.integer" + }, + "required": false, + "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "defaultValue": { + "value": "0", + "computed": false + } + }, "key": { "type": { "name": "custom", diff --git a/scripts/data/attributes.json b/scripts/data/attributes.json index 01d8f4ff..f38f7e50 100644 --- a/scripts/data/attributes.json +++ b/scripts/data/attributes.json @@ -540,13 +540,13 @@ "elements": [ "iframe" ], - "description": "" + "description": "Stops a document loaded in an iframe from using certain features (such as submitting forms or opening new windows)." }, "scope": { "elements": [ "th" ], - "description": "" + "description": "Defines the cells that the header test (defined in the th element) relates to." }, "scoped": { "elements": [ @@ -554,12 +554,6 @@ ], "description": "" }, - "seamless": { - "elements": [ - "iframe" - ], - "description": "" - }, "selected": { "elements": [ "option" @@ -1006,7 +1000,6 @@ "height", "name", "sandbox", - "seamless", "src", "srcDoc", "width" diff --git a/scripts/data/elements.txt b/scripts/data/elements.txt index dece21fe..45602699 100644 --- a/scripts/data/elements.txt +++ b/scripts/data/elements.txt @@ -43,7 +43,6 @@ em i kbd mark -nobr q rp rt diff --git a/src/components/A.react.js b/src/components/A.react.js index db3ba1d5..02fca9fa 100644 --- a/src/components/A.react.js +++ b/src/components/A.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const A = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; A.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; A.propTypes = { @@ -47,6 +48,17 @@ A.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Abbr.react.js b/src/components/Abbr.react.js index ec9cafb2..d4d26dae 100644 --- a/src/components/Abbr.react.js +++ b/src/components/Abbr.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Abbr = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Abbr.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Abbr.propTypes = { @@ -47,6 +48,17 @@ Abbr.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Acronym.react.js b/src/components/Acronym.react.js index 95e39686..93cd5333 100644 --- a/src/components/Acronym.react.js +++ b/src/components/Acronym.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Acronym = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Acronym.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Acronym.propTypes = { @@ -47,6 +48,17 @@ Acronym.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Address.react.js b/src/components/Address.react.js index 0a3f1a79..de39e961 100644 --- a/src/components/Address.react.js +++ b/src/components/Address.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Address = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Address.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Address.propTypes = { @@ -47,6 +48,17 @@ Address.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Area.react.js b/src/components/Area.react.js index b8603343..8f773446 100644 --- a/src/components/Area.react.js +++ b/src/components/Area.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Area = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Area.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Area.propTypes = { @@ -47,6 +48,17 @@ Area.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Article.react.js b/src/components/Article.react.js index 805d1b10..7a2bae45 100644 --- a/src/components/Article.react.js +++ b/src/components/Article.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Article = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Article.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Article.propTypes = { @@ -47,6 +48,17 @@ Article.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Aside.react.js b/src/components/Aside.react.js index 35c0d989..3b7ebf88 100644 --- a/src/components/Aside.react.js +++ b/src/components/Aside.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Aside = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Aside.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Aside.propTypes = { @@ -47,6 +48,17 @@ Aside.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Audio.react.js b/src/components/Audio.react.js index bb9a4d97..77f5ea5c 100644 --- a/src/components/Audio.react.js +++ b/src/components/Audio.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Audio = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Audio.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Audio.propTypes = { @@ -47,6 +48,17 @@ Audio.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/B.react.js b/src/components/B.react.js index b523a7dc..cfc9d9d6 100644 --- a/src/components/B.react.js +++ b/src/components/B.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const B = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; B.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; B.propTypes = { @@ -47,6 +48,17 @@ B.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Base.react.js b/src/components/Base.react.js index 7c5cd9aa..e5297bb6 100644 --- a/src/components/Base.react.js +++ b/src/components/Base.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Base = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Base.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Base.propTypes = { @@ -47,6 +48,17 @@ Base.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Basefont.react.js b/src/components/Basefont.react.js index 37303c8f..f36d0a8e 100644 --- a/src/components/Basefont.react.js +++ b/src/components/Basefont.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Basefont = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Basefont.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Basefont.propTypes = { @@ -47,6 +48,17 @@ Basefont.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Bdi.react.js b/src/components/Bdi.react.js index b284e668..4b377e3d 100644 --- a/src/components/Bdi.react.js +++ b/src/components/Bdi.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Bdi = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Bdi.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Bdi.propTypes = { @@ -47,6 +48,17 @@ Bdi.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Bdo.react.js b/src/components/Bdo.react.js index ec9fefd0..68cd408b 100644 --- a/src/components/Bdo.react.js +++ b/src/components/Bdo.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Bdo = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Bdo.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Bdo.propTypes = { @@ -47,6 +48,17 @@ Bdo.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Big.react.js b/src/components/Big.react.js index edbd57dd..6c84689f 100644 --- a/src/components/Big.react.js +++ b/src/components/Big.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Big = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Big.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Big.propTypes = { @@ -47,6 +48,17 @@ Big.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Blink.react.js b/src/components/Blink.react.js index abe0d163..488ea5b6 100644 --- a/src/components/Blink.react.js +++ b/src/components/Blink.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Blink = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Blink.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Blink.propTypes = { @@ -47,6 +48,17 @@ Blink.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Blockquote.react.js b/src/components/Blockquote.react.js index f21f6105..00635042 100644 --- a/src/components/Blockquote.react.js +++ b/src/components/Blockquote.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Blockquote = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Blockquote.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Blockquote.propTypes = { @@ -47,6 +48,17 @@ Blockquote.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Br.react.js b/src/components/Br.react.js index 5747c4e2..5161d401 100644 --- a/src/components/Br.react.js +++ b/src/components/Br.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Br = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Br.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Br.propTypes = { @@ -47,6 +48,17 @@ Br.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Button.react.js b/src/components/Button.react.js index 7ce30896..e4d1f635 100644 --- a/src/components/Button.react.js +++ b/src/components/Button.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Button = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Button.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Button.propTypes = { @@ -47,6 +48,17 @@ Button.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Canvas.react.js b/src/components/Canvas.react.js index 8613c0b5..86e680be 100644 --- a/src/components/Canvas.react.js +++ b/src/components/Canvas.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Canvas = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Canvas.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Canvas.propTypes = { @@ -47,6 +48,17 @@ Canvas.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Caption.react.js b/src/components/Caption.react.js index 4f5fdba1..c3e6d688 100644 --- a/src/components/Caption.react.js +++ b/src/components/Caption.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Caption = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Caption.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Caption.propTypes = { @@ -47,6 +48,17 @@ Caption.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Center.react.js b/src/components/Center.react.js index 0e77a6fc..58d1191d 100644 --- a/src/components/Center.react.js +++ b/src/components/Center.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Center = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Center.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Center.propTypes = { @@ -47,6 +48,17 @@ Center.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Cite.react.js b/src/components/Cite.react.js index 3149e6d3..cde1a2f1 100644 --- a/src/components/Cite.react.js +++ b/src/components/Cite.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Cite = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Cite.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Cite.propTypes = { @@ -47,6 +48,17 @@ Cite.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Code.react.js b/src/components/Code.react.js index c91c22b4..463f7a2f 100644 --- a/src/components/Code.react.js +++ b/src/components/Code.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Code = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Code.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Code.propTypes = { @@ -47,6 +48,17 @@ Code.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Col.react.js b/src/components/Col.react.js index c42caf6b..b826d367 100644 --- a/src/components/Col.react.js +++ b/src/components/Col.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Col = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Col.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Col.propTypes = { @@ -47,6 +48,17 @@ Col.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Colgroup.react.js b/src/components/Colgroup.react.js index f7af299a..6adc8332 100644 --- a/src/components/Colgroup.react.js +++ b/src/components/Colgroup.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Colgroup = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Colgroup.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Colgroup.propTypes = { @@ -47,6 +48,17 @@ Colgroup.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Command.react.js b/src/components/Command.react.js index 9a86bf0f..f11dc930 100644 --- a/src/components/Command.react.js +++ b/src/components/Command.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Command = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Command.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Command.propTypes = { @@ -47,6 +48,17 @@ Command.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Content.react.js b/src/components/Content.react.js index bd550e46..32bc0c8b 100644 --- a/src/components/Content.react.js +++ b/src/components/Content.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Content = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Content.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Content.propTypes = { @@ -47,6 +48,17 @@ Content.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Data.react.js b/src/components/Data.react.js index 898fef39..18707b93 100644 --- a/src/components/Data.react.js +++ b/src/components/Data.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Data = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Data.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Data.propTypes = { @@ -47,6 +48,17 @@ Data.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Datalist.react.js b/src/components/Datalist.react.js index a06beefd..f472bc03 100644 --- a/src/components/Datalist.react.js +++ b/src/components/Datalist.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Datalist = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Datalist.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Datalist.propTypes = { @@ -47,6 +48,17 @@ Datalist.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Dd.react.js b/src/components/Dd.react.js index 7959b4f7..983efb6c 100644 --- a/src/components/Dd.react.js +++ b/src/components/Dd.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Dd = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Dd.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Dd.propTypes = { @@ -47,6 +48,17 @@ Dd.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Del.react.js b/src/components/Del.react.js index e8fa56fa..3d68bb94 100644 --- a/src/components/Del.react.js +++ b/src/components/Del.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Del = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Del.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Del.propTypes = { @@ -47,6 +48,17 @@ Del.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Details.react.js b/src/components/Details.react.js index f656b351..103c9090 100644 --- a/src/components/Details.react.js +++ b/src/components/Details.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Details = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Details.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Details.propTypes = { @@ -47,6 +48,17 @@ Details.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Dfn.react.js b/src/components/Dfn.react.js index 124099d0..a3e0bf01 100644 --- a/src/components/Dfn.react.js +++ b/src/components/Dfn.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Dfn = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Dfn.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Dfn.propTypes = { @@ -47,6 +48,17 @@ Dfn.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Dialog.react.js b/src/components/Dialog.react.js index f99ae093..b27fbc35 100644 --- a/src/components/Dialog.react.js +++ b/src/components/Dialog.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Dialog = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Dialog.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Dialog.propTypes = { @@ -47,6 +48,17 @@ Dialog.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Div.react.js b/src/components/Div.react.js index 54514a4c..bcb3f31c 100644 --- a/src/components/Div.react.js +++ b/src/components/Div.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Div = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Div.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Div.propTypes = { @@ -47,6 +48,17 @@ Div.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Dl.react.js b/src/components/Dl.react.js index 144e9a00..5396be7e 100644 --- a/src/components/Dl.react.js +++ b/src/components/Dl.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Dl = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Dl.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Dl.propTypes = { @@ -47,6 +48,17 @@ Dl.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Dt.react.js b/src/components/Dt.react.js index 0a6d0089..634163e8 100644 --- a/src/components/Dt.react.js +++ b/src/components/Dt.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Dt = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Dt.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Dt.propTypes = { @@ -47,6 +48,17 @@ Dt.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Element.react.js b/src/components/Element.react.js index 5d518de8..835cac7f 100644 --- a/src/components/Element.react.js +++ b/src/components/Element.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Element = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Element.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Element.propTypes = { @@ -47,6 +48,17 @@ Element.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Em.react.js b/src/components/Em.react.js index ddc28594..fe3b11f6 100644 --- a/src/components/Em.react.js +++ b/src/components/Em.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Em = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Em.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Em.propTypes = { @@ -47,6 +48,17 @@ Em.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Embed.react.js b/src/components/Embed.react.js index 8c781b54..0d4116ff 100644 --- a/src/components/Embed.react.js +++ b/src/components/Embed.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Embed = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Embed.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Embed.propTypes = { @@ -47,6 +48,17 @@ Embed.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Fieldset.react.js b/src/components/Fieldset.react.js index a9f7d8f4..ae22fab9 100644 --- a/src/components/Fieldset.react.js +++ b/src/components/Fieldset.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Fieldset = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Fieldset.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Fieldset.propTypes = { @@ -47,6 +48,17 @@ Fieldset.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Figcaption.react.js b/src/components/Figcaption.react.js index 645e24bd..33b6ac29 100644 --- a/src/components/Figcaption.react.js +++ b/src/components/Figcaption.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Figcaption = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Figcaption.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Figcaption.propTypes = { @@ -47,6 +48,17 @@ Figcaption.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Figure.react.js b/src/components/Figure.react.js index fd77eb05..071925e0 100644 --- a/src/components/Figure.react.js +++ b/src/components/Figure.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Figure = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Figure.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Figure.propTypes = { @@ -47,6 +48,17 @@ Figure.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Font.react.js b/src/components/Font.react.js index cff5f6bd..89bc317a 100644 --- a/src/components/Font.react.js +++ b/src/components/Font.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Font = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Font.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Font.propTypes = { @@ -47,6 +48,17 @@ Font.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Footer.react.js b/src/components/Footer.react.js index 94483085..e924bd74 100644 --- a/src/components/Footer.react.js +++ b/src/components/Footer.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Footer = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Footer.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Footer.propTypes = { @@ -47,6 +48,17 @@ Footer.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Form.react.js b/src/components/Form.react.js index 1a363fdc..7f7c4349 100644 --- a/src/components/Form.react.js +++ b/src/components/Form.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Form = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Form.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Form.propTypes = { @@ -47,6 +48,17 @@ Form.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Frame.react.js b/src/components/Frame.react.js index d0d48f33..3b6a8f76 100644 --- a/src/components/Frame.react.js +++ b/src/components/Frame.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Frame = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Frame.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Frame.propTypes = { @@ -47,6 +48,17 @@ Frame.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Frameset.react.js b/src/components/Frameset.react.js index ee85f621..b6eb190b 100644 --- a/src/components/Frameset.react.js +++ b/src/components/Frameset.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Frameset = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Frameset.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Frameset.propTypes = { @@ -47,6 +48,17 @@ Frameset.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H1.react.js b/src/components/H1.react.js index 9041f39f..3a2b7505 100644 --- a/src/components/H1.react.js +++ b/src/components/H1.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H1 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -

{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -

- ); - } else { - return ( -

- {props.children} -

- ); - } + return ( +

{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +

+ ); }; H1.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H1.propTypes = { @@ -47,6 +48,17 @@ H1.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H2.react.js b/src/components/H2.react.js index ec120e14..21c94377 100644 --- a/src/components/H2.react.js +++ b/src/components/H2.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H2 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -

{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -

- ); - } else { - return ( -

- {props.children} -

- ); - } + return ( +

{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +

+ ); }; H2.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H2.propTypes = { @@ -47,6 +48,17 @@ H2.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H3.react.js b/src/components/H3.react.js index 4e7407d6..c3fb2a7b 100644 --- a/src/components/H3.react.js +++ b/src/components/H3.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H3 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -

{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -

- ); - } else { - return ( -

- {props.children} -

- ); - } + return ( +

{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +

+ ); }; H3.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H3.propTypes = { @@ -47,6 +48,17 @@ H3.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H4.react.js b/src/components/H4.react.js index 56f98685..4db59b50 100644 --- a/src/components/H4.react.js +++ b/src/components/H4.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H4 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -

{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -

- ); - } else { - return ( -

- {props.children} -

- ); - } + return ( +

{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +

+ ); }; H4.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H4.propTypes = { @@ -47,6 +48,17 @@ H4.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H5.react.js b/src/components/H5.react.js index dbe3af3b..174fabf7 100644 --- a/src/components/H5.react.js +++ b/src/components/H5.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H5 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; H5.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H5.propTypes = { @@ -47,6 +48,17 @@ H5.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/H6.react.js b/src/components/H6.react.js index f1417847..179f67f3 100644 --- a/src/components/H6.react.js +++ b/src/components/H6.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const H6 = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; H6.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; H6.propTypes = { @@ -47,6 +48,17 @@ H6.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Header.react.js b/src/components/Header.react.js index 21cd8dbb..cd17bb7e 100644 --- a/src/components/Header.react.js +++ b/src/components/Header.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Header = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Header.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Header.propTypes = { @@ -47,6 +48,17 @@ Header.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Hgroup.react.js b/src/components/Hgroup.react.js index ecb564d5..6aa9ce40 100644 --- a/src/components/Hgroup.react.js +++ b/src/components/Hgroup.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Hgroup = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
- ); - } else { - return ( -
- {props.children} -
- ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
+ ); }; Hgroup.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Hgroup.propTypes = { @@ -47,6 +48,17 @@ Hgroup.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Hr.react.js b/src/components/Hr.react.js index d4305d1d..1044c1aa 100644 --- a/src/components/Hr.react.js +++ b/src/components/Hr.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Hr = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
{ - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( -
- {props.children} - - ); - } + return ( +
{ + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Hr.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Hr.propTypes = { @@ -47,6 +48,17 @@ Hr.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/I.react.js b/src/components/I.react.js index 87e31ff8..867c39a8 100644 --- a/src/components/I.react.js +++ b/src/components/I.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const I = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; I.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; I.propTypes = { @@ -47,6 +48,17 @@ I.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Iframe.react.js b/src/components/Iframe.react.js index f2e2d6cd..04fed858 100644 --- a/src/components/Iframe.react.js +++ b/src/components/Iframe.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Iframe = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Iframe.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Iframe.propTypes = { @@ -47,6 +48,17 @@ Iframe.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components @@ -81,15 +93,10 @@ Iframe.propTypes = { 'name': PropTypes.string, /** - * + * Stops a document loaded in an iframe from using certain features (such as submitting forms or opening new windows). */ 'sandbox': PropTypes.string, - /** - * - */ - 'seamless': PropTypes.string, - /** * The URL of the embeddable content. */ diff --git a/src/components/Img.react.js b/src/components/Img.react.js index ff147a7b..298831e8 100644 --- a/src/components/Img.react.js +++ b/src/components/Img.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Img = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Img.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Img.propTypes = { @@ -47,6 +48,17 @@ Img.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Ins.react.js b/src/components/Ins.react.js index 447d4a88..0957af39 100644 --- a/src/components/Ins.react.js +++ b/src/components/Ins.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Ins = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Ins.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Ins.propTypes = { @@ -47,6 +48,17 @@ Ins.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Isindex.react.js b/src/components/Isindex.react.js index ce383d9b..159e07e4 100644 --- a/src/components/Isindex.react.js +++ b/src/components/Isindex.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Isindex = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Isindex.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Isindex.propTypes = { @@ -47,6 +48,17 @@ Isindex.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Kbd.react.js b/src/components/Kbd.react.js index 7219991a..995754f0 100644 --- a/src/components/Kbd.react.js +++ b/src/components/Kbd.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Kbd = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Kbd.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Kbd.propTypes = { @@ -47,6 +48,17 @@ Kbd.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Keygen.react.js b/src/components/Keygen.react.js index de1911dc..36237615 100644 --- a/src/components/Keygen.react.js +++ b/src/components/Keygen.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Keygen = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Keygen.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Keygen.propTypes = { @@ -47,6 +48,17 @@ Keygen.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Label.react.js b/src/components/Label.react.js index 58b92b98..2662a249 100644 --- a/src/components/Label.react.js +++ b/src/components/Label.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Label = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Label.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Label.propTypes = { @@ -47,6 +48,17 @@ Label.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Legend.react.js b/src/components/Legend.react.js index 0016c590..f25c8a91 100644 --- a/src/components/Legend.react.js +++ b/src/components/Legend.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Legend = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Legend.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Legend.propTypes = { @@ -47,6 +48,17 @@ Legend.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Li.react.js b/src/components/Li.react.js index 7edc4b1f..c69887e9 100644 --- a/src/components/Li.react.js +++ b/src/components/Li.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Li = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
  • { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
  • - ); - } else { - return ( -
  • - {props.children} -
  • - ); - } + return ( +
  • { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
  • + ); }; Li.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Li.propTypes = { @@ -47,6 +48,17 @@ Li.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Link.react.js b/src/components/Link.react.js index 838025da..e6ff05f3 100644 --- a/src/components/Link.react.js +++ b/src/components/Link.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Link = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Link.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Link.propTypes = { @@ -47,6 +48,17 @@ Link.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Listing.react.js b/src/components/Listing.react.js index 0a4f270e..2175975a 100644 --- a/src/components/Listing.react.js +++ b/src/components/Listing.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Listing = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Listing.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Listing.propTypes = { @@ -47,6 +48,17 @@ Listing.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Main.react.js b/src/components/Main.react.js index c47c4300..3d061a19 100644 --- a/src/components/Main.react.js +++ b/src/components/Main.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Main = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
    { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
    - ); - } else { - return ( -
    - {props.children} -
    - ); - } + return ( +
    { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
    + ); }; Main.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Main.propTypes = { @@ -47,6 +48,17 @@ Main.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/MapEl.react.js b/src/components/MapEl.react.js index dcd4b6fc..ec87cf6e 100644 --- a/src/components/MapEl.react.js +++ b/src/components/MapEl.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const MapEl = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; MapEl.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; MapEl.propTypes = { @@ -47,6 +48,17 @@ MapEl.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Mark.react.js b/src/components/Mark.react.js index 7048bca1..a7454c46 100644 --- a/src/components/Mark.react.js +++ b/src/components/Mark.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Mark = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Mark.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Mark.propTypes = { @@ -47,6 +48,17 @@ Mark.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Marquee.react.js b/src/components/Marquee.react.js index 55262462..c69e796c 100644 --- a/src/components/Marquee.react.js +++ b/src/components/Marquee.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Marquee = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Marquee.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Marquee.propTypes = { @@ -47,6 +48,17 @@ Marquee.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Meta.react.js b/src/components/Meta.react.js index aac015b9..4e61615b 100644 --- a/src/components/Meta.react.js +++ b/src/components/Meta.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Meta = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Meta.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Meta.propTypes = { @@ -47,6 +48,17 @@ Meta.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Meter.react.js b/src/components/Meter.react.js index 41cc4126..0a986ea8 100644 --- a/src/components/Meter.react.js +++ b/src/components/Meter.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Meter = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Meter.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Meter.propTypes = { @@ -47,6 +48,17 @@ Meter.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Multicol.react.js b/src/components/Multicol.react.js index 68a293f3..86b926ac 100644 --- a/src/components/Multicol.react.js +++ b/src/components/Multicol.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Multicol = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Multicol.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Multicol.propTypes = { @@ -47,6 +48,17 @@ Multicol.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Nav.react.js b/src/components/Nav.react.js index d0a816c1..9b434789 100644 --- a/src/components/Nav.react.js +++ b/src/components/Nav.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Nav = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Nav.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Nav.propTypes = { @@ -47,6 +48,17 @@ Nav.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Nextid.react.js b/src/components/Nextid.react.js index ed1c02ac..e026fac4 100644 --- a/src/components/Nextid.react.js +++ b/src/components/Nextid.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Nextid = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Nextid.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Nextid.propTypes = { @@ -47,6 +48,17 @@ Nextid.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Nobr.react.js b/src/components/Nobr.react.js index a3c96704..15fffe9f 100644 --- a/src/components/Nobr.react.js +++ b/src/components/Nobr.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Nobr = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Nobr.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Nobr.propTypes = { @@ -47,6 +48,17 @@ Nobr.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Noscript.react.js b/src/components/Noscript.react.js index e6af9acf..956401f6 100644 --- a/src/components/Noscript.react.js +++ b/src/components/Noscript.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Noscript = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Noscript.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Noscript.propTypes = { @@ -47,6 +48,17 @@ Noscript.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/ObjectEl.react.js b/src/components/ObjectEl.react.js index a51b3dc6..70077464 100644 --- a/src/components/ObjectEl.react.js +++ b/src/components/ObjectEl.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const ObjectEl = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; ObjectEl.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; ObjectEl.propTypes = { @@ -47,6 +48,17 @@ ObjectEl.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Ol.react.js b/src/components/Ol.react.js index 4bba6a3c..4eb5896c 100644 --- a/src/components/Ol.react.js +++ b/src/components/Ol.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Ol = (props) => { - if (props.fireEvent || props.setProps) { - return ( -
      { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -
    - ); - } else { - return ( -
      - {props.children} -
    - ); - } + return ( +
      { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +
    + ); }; Ol.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Ol.propTypes = { @@ -47,6 +48,17 @@ Ol.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Optgroup.react.js b/src/components/Optgroup.react.js index c57f7326..1ce12ada 100644 --- a/src/components/Optgroup.react.js +++ b/src/components/Optgroup.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Optgroup = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Optgroup.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Optgroup.propTypes = { @@ -47,6 +48,17 @@ Optgroup.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Option.react.js b/src/components/Option.react.js index f3076903..c54f8b3d 100644 --- a/src/components/Option.react.js +++ b/src/components/Option.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Option = (props) => { - if (props.fireEvent || props.setProps) { - return ( - - ); - } else { - return ( - - ); - } + return ( + + ); }; Option.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Option.propTypes = { @@ -47,6 +48,17 @@ Option.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Output.react.js b/src/components/Output.react.js index 8632b56a..d21be009 100644 --- a/src/components/Output.react.js +++ b/src/components/Output.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Output = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Output.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Output.propTypes = { @@ -47,6 +48,17 @@ Output.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/P.react.js b/src/components/P.react.js index 194c41b9..0ce78564 100644 --- a/src/components/P.react.js +++ b/src/components/P.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const P = (props) => { - if (props.fireEvent || props.setProps) { - return ( -

    { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} -

    - ); - } else { - return ( -

    - {props.children} -

    - ); - } + return ( +

    { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} +

    + ); }; P.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; P.propTypes = { @@ -47,6 +48,17 @@ P.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Param.react.js b/src/components/Param.react.js index d3ccb406..da525651 100644 --- a/src/components/Param.react.js +++ b/src/components/Param.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Param = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Param.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Param.propTypes = { @@ -47,6 +48,17 @@ Param.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Picture.react.js b/src/components/Picture.react.js index 0fd455c7..40cf5fad 100644 --- a/src/components/Picture.react.js +++ b/src/components/Picture.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Picture = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - - ); - } else { - return ( - - {props.children} - - ); - } + return ( + { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + + ); }; Picture.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Picture.propTypes = { @@ -47,6 +48,17 @@ Picture.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Plaintext.react.js b/src/components/Plaintext.react.js index dc9362c1..77540990 100644 --- a/src/components/Plaintext.react.js +++ b/src/components/Plaintext.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Plaintext = (props) => { - if (props.fireEvent || props.setProps) { - return ( - { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </plaintext> - ); - } else { - return ( - <plaintext {...props}> - {props.children} - </plaintext> - ); - } + return ( + <plaintext + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </plaintext> + ); }; Plaintext.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Plaintext.propTypes = { @@ -47,6 +48,17 @@ Plaintext.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Pre.react.js b/src/components/Pre.react.js index 1b86b8d2..d02b1a08 100644 --- a/src/components/Pre.react.js +++ b/src/components/Pre.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Pre = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <pre - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </pre> - ); - } else { - return ( - <pre {...props}> - {props.children} - </pre> - ); - } + return ( + <pre + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </pre> + ); }; Pre.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Pre.propTypes = { @@ -47,6 +48,17 @@ Pre.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Progress.react.js b/src/components/Progress.react.js index d14dcaca..abea5fc2 100644 --- a/src/components/Progress.react.js +++ b/src/components/Progress.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Progress = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <progress - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </progress> - ); - } else { - return ( - <progress {...props}> - {props.children} - </progress> - ); - } + return ( + <progress + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </progress> + ); }; Progress.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Progress.propTypes = { @@ -47,6 +48,17 @@ Progress.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Q.react.js b/src/components/Q.react.js index 0161c907..52295293 100644 --- a/src/components/Q.react.js +++ b/src/components/Q.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Q = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <q - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </q> - ); - } else { - return ( - <q {...props}> - {props.children} - </q> - ); - } + return ( + <q + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </q> + ); }; Q.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Q.propTypes = { @@ -47,6 +48,17 @@ Q.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Rp.react.js b/src/components/Rp.react.js index bb719956..4a1140b6 100644 --- a/src/components/Rp.react.js +++ b/src/components/Rp.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Rp = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <rp - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </rp> - ); - } else { - return ( - <rp {...props}> - {props.children} - </rp> - ); - } + return ( + <rp + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </rp> + ); }; Rp.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Rp.propTypes = { @@ -47,6 +48,17 @@ Rp.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Rt.react.js b/src/components/Rt.react.js index 37596feb..4d997a7d 100644 --- a/src/components/Rt.react.js +++ b/src/components/Rt.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Rt = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <rt - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </rt> - ); - } else { - return ( - <rt {...props}> - {props.children} - </rt> - ); - } + return ( + <rt + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </rt> + ); }; Rt.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Rt.propTypes = { @@ -47,6 +48,17 @@ Rt.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Rtc.react.js b/src/components/Rtc.react.js index a3d111bd..10f2d7ac 100644 --- a/src/components/Rtc.react.js +++ b/src/components/Rtc.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Rtc = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <rtc - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </rtc> - ); - } else { - return ( - <rtc {...props}> - {props.children} - </rtc> - ); - } + return ( + <rtc + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </rtc> + ); }; Rtc.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Rtc.propTypes = { @@ -47,6 +48,17 @@ Rtc.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Ruby.react.js b/src/components/Ruby.react.js index 4676a00a..d997a657 100644 --- a/src/components/Ruby.react.js +++ b/src/components/Ruby.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Ruby = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <ruby - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </ruby> - ); - } else { - return ( - <ruby {...props}> - {props.children} - </ruby> - ); - } + return ( + <ruby + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </ruby> + ); }; Ruby.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Ruby.propTypes = { @@ -47,6 +48,17 @@ Ruby.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/S.react.js b/src/components/S.react.js index 831720ab..54b584de 100644 --- a/src/components/S.react.js +++ b/src/components/S.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const S = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <s - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </s> - ); - } else { - return ( - <s {...props}> - {props.children} - </s> - ); - } + return ( + <s + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </s> + ); }; S.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; S.propTypes = { @@ -47,6 +48,17 @@ S.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Samp.react.js b/src/components/Samp.react.js index 067f27b9..b23a6a94 100644 --- a/src/components/Samp.react.js +++ b/src/components/Samp.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Samp = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <samp - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </samp> - ); - } else { - return ( - <samp {...props}> - {props.children} - </samp> - ); - } + return ( + <samp + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </samp> + ); }; Samp.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Samp.propTypes = { @@ -47,6 +48,17 @@ Samp.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Script.react.js b/src/components/Script.react.js index 2f6c892b..d9c37249 100644 --- a/src/components/Script.react.js +++ b/src/components/Script.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Script = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <script - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </script> - ); - } else { - return ( - <script {...props}> - {props.children} - </script> - ); - } + return ( + <script + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </script> + ); }; Script.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Script.propTypes = { @@ -47,6 +48,17 @@ Script.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Section.react.js b/src/components/Section.react.js index 373e8979..5ee3e051 100644 --- a/src/components/Section.react.js +++ b/src/components/Section.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Section = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <section - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </section> - ); - } else { - return ( - <section {...props}> - {props.children} - </section> - ); - } + return ( + <section + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </section> + ); }; Section.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Section.propTypes = { @@ -47,6 +48,17 @@ Section.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Select.react.js b/src/components/Select.react.js index 00535192..c1cad80e 100644 --- a/src/components/Select.react.js +++ b/src/components/Select.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Select = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <select - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </select> - ); - } else { - return ( - <select {...props}> - {props.children} - </select> - ); - } + return ( + <select + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </select> + ); }; Select.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Select.propTypes = { @@ -47,6 +48,17 @@ Select.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Shadow.react.js b/src/components/Shadow.react.js index 6b0a9bbf..0f3b1921 100644 --- a/src/components/Shadow.react.js +++ b/src/components/Shadow.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Shadow = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <shadow - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </shadow> - ); - } else { - return ( - <shadow {...props}> - {props.children} - </shadow> - ); - } + return ( + <shadow + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </shadow> + ); }; Shadow.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Shadow.propTypes = { @@ -47,6 +48,17 @@ Shadow.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Slot.react.js b/src/components/Slot.react.js index 2ee4452a..6ab39faf 100644 --- a/src/components/Slot.react.js +++ b/src/components/Slot.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Slot = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <slot - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </slot> - ); - } else { - return ( - <slot {...props}> - {props.children} - </slot> - ); - } + return ( + <slot + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </slot> + ); }; Slot.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Slot.propTypes = { @@ -47,6 +48,17 @@ Slot.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Small.react.js b/src/components/Small.react.js index 7266d36e..7cd9c647 100644 --- a/src/components/Small.react.js +++ b/src/components/Small.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Small = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <small - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </small> - ); - } else { - return ( - <small {...props}> - {props.children} - </small> - ); - } + return ( + <small + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </small> + ); }; Small.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Small.propTypes = { @@ -47,6 +48,17 @@ Small.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Source.react.js b/src/components/Source.react.js index 63eb819c..74811bd9 100644 --- a/src/components/Source.react.js +++ b/src/components/Source.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Source = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <source - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </source> - ); - } else { - return ( - <source {...props}> - {props.children} - </source> - ); - } + return ( + <source + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </source> + ); }; Source.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Source.propTypes = { @@ -47,6 +48,17 @@ Source.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Spacer.react.js b/src/components/Spacer.react.js index 976a323f..3e4a1c2f 100644 --- a/src/components/Spacer.react.js +++ b/src/components/Spacer.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Spacer = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <spacer - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </spacer> - ); - } else { - return ( - <spacer {...props}> - {props.children} - </spacer> - ); - } + return ( + <spacer + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </spacer> + ); }; Spacer.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Spacer.propTypes = { @@ -47,6 +48,17 @@ Spacer.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Span.react.js b/src/components/Span.react.js index 798440b6..0920f360 100644 --- a/src/components/Span.react.js +++ b/src/components/Span.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Span = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <span - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </span> - ); - } else { - return ( - <span {...props}> - {props.children} - </span> - ); - } + return ( + <span + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </span> + ); }; Span.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Span.propTypes = { @@ -47,6 +48,17 @@ Span.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Strike.react.js b/src/components/Strike.react.js index 0ee3ffb4..d361f27d 100644 --- a/src/components/Strike.react.js +++ b/src/components/Strike.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Strike = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <strike - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </strike> - ); - } else { - return ( - <strike {...props}> - {props.children} - </strike> - ); - } + return ( + <strike + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </strike> + ); }; Strike.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Strike.propTypes = { @@ -47,6 +48,17 @@ Strike.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Strong.react.js b/src/components/Strong.react.js index ef08ee79..86d72447 100644 --- a/src/components/Strong.react.js +++ b/src/components/Strong.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Strong = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <strong - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </strong> - ); - } else { - return ( - <strong {...props}> - {props.children} - </strong> - ); - } + return ( + <strong + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </strong> + ); }; Strong.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Strong.propTypes = { @@ -47,6 +48,17 @@ Strong.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Sub.react.js b/src/components/Sub.react.js index 212c6314..e120ff46 100644 --- a/src/components/Sub.react.js +++ b/src/components/Sub.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Sub = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <sub - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </sub> - ); - } else { - return ( - <sub {...props}> - {props.children} - </sub> - ); - } + return ( + <sub + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </sub> + ); }; Sub.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Sub.propTypes = { @@ -47,6 +48,17 @@ Sub.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Summary.react.js b/src/components/Summary.react.js index 5115f776..dd11b568 100644 --- a/src/components/Summary.react.js +++ b/src/components/Summary.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Summary = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <summary - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </summary> - ); - } else { - return ( - <summary {...props}> - {props.children} - </summary> - ); - } + return ( + <summary + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </summary> + ); }; Summary.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Summary.propTypes = { @@ -47,6 +48,17 @@ Summary.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Sup.react.js b/src/components/Sup.react.js index 0d3aef24..99f22eed 100644 --- a/src/components/Sup.react.js +++ b/src/components/Sup.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Sup = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <sup - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </sup> - ); - } else { - return ( - <sup {...props}> - {props.children} - </sup> - ); - } + return ( + <sup + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </sup> + ); }; Sup.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Sup.propTypes = { @@ -47,6 +48,17 @@ Sup.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Table.react.js b/src/components/Table.react.js index d0710489..6191c6d3 100644 --- a/src/components/Table.react.js +++ b/src/components/Table.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Table = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <table - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </table> - ); - } else { - return ( - <table {...props}> - {props.children} - </table> - ); - } + return ( + <table + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </table> + ); }; Table.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Table.propTypes = { @@ -47,6 +48,17 @@ Table.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Tbody.react.js b/src/components/Tbody.react.js index e30b6d97..76078de2 100644 --- a/src/components/Tbody.react.js +++ b/src/components/Tbody.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Tbody = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <tbody - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </tbody> - ); - } else { - return ( - <tbody {...props}> - {props.children} - </tbody> - ); - } + return ( + <tbody + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </tbody> + ); }; Tbody.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Tbody.propTypes = { @@ -47,6 +48,17 @@ Tbody.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Td.react.js b/src/components/Td.react.js index 39486567..6223518d 100644 --- a/src/components/Td.react.js +++ b/src/components/Td.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Td = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <td - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </td> - ); - } else { - return ( - <td {...props}> - {props.children} - </td> - ); - } + return ( + <td + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </td> + ); }; Td.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Td.propTypes = { @@ -47,6 +48,17 @@ Td.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Template.react.js b/src/components/Template.react.js index b903663e..c097e48c 100644 --- a/src/components/Template.react.js +++ b/src/components/Template.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Template = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <template - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </template> - ); - } else { - return ( - <template {...props}> - {props.children} - </template> - ); - } + return ( + <template + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </template> + ); }; Template.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Template.propTypes = { @@ -47,6 +48,17 @@ Template.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Textarea.react.js b/src/components/Textarea.react.js index 39dad090..f23936d4 100644 --- a/src/components/Textarea.react.js +++ b/src/components/Textarea.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Textarea = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <textarea - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </textarea> - ); - } else { - return ( - <textarea {...props}> - {props.children} - </textarea> - ); - } + return ( + <textarea + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </textarea> + ); }; Textarea.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Textarea.propTypes = { @@ -47,6 +48,17 @@ Textarea.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Tfoot.react.js b/src/components/Tfoot.react.js index 59bfe5d7..a67ddce8 100644 --- a/src/components/Tfoot.react.js +++ b/src/components/Tfoot.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Tfoot = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <tfoot - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </tfoot> - ); - } else { - return ( - <tfoot {...props}> - {props.children} - </tfoot> - ); - } + return ( + <tfoot + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </tfoot> + ); }; Tfoot.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Tfoot.propTypes = { @@ -47,6 +48,17 @@ Tfoot.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Th.react.js b/src/components/Th.react.js index 20d97c3f..3d1f5f12 100644 --- a/src/components/Th.react.js +++ b/src/components/Th.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Th = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <th - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </th> - ); - } else { - return ( - <th {...props}> - {props.children} - </th> - ); - } + return ( + <th + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </th> + ); }; Th.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Th.propTypes = { @@ -47,6 +48,17 @@ Th.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components @@ -86,7 +98,7 @@ Th.propTypes = { 'rowSpan': PropTypes.string, /** - * + * Defines the cells that the header test (defined in the th element) relates to. */ 'scope': PropTypes.string, diff --git a/src/components/Thead.react.js b/src/components/Thead.react.js index 1e1067f5..6a4f3b84 100644 --- a/src/components/Thead.react.js +++ b/src/components/Thead.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Thead = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <thead - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </thead> - ); - } else { - return ( - <thead {...props}> - {props.children} - </thead> - ); - } + return ( + <thead + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </thead> + ); }; Thead.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Thead.propTypes = { @@ -47,6 +48,17 @@ Thead.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Time.react.js b/src/components/Time.react.js index d69ba52a..48325042 100644 --- a/src/components/Time.react.js +++ b/src/components/Time.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Time = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <time - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </time> - ); - } else { - return ( - <time {...props}> - {props.children} - </time> - ); - } + return ( + <time + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </time> + ); }; Time.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Time.propTypes = { @@ -47,6 +48,17 @@ Time.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Title.react.js b/src/components/Title.react.js index d3d4ac71..d197d5fb 100644 --- a/src/components/Title.react.js +++ b/src/components/Title.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Title = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <title - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </title> - ); - } else { - return ( - <title {...props}> - {props.children} - </title> - ); - } + return ( + <title + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </title> + ); }; Title.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Title.propTypes = { @@ -47,6 +48,17 @@ Title.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Tr.react.js b/src/components/Tr.react.js index 09f82b95..5af4d421 100644 --- a/src/components/Tr.react.js +++ b/src/components/Tr.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Tr = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <tr - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </tr> - ); - } else { - return ( - <tr {...props}> - {props.children} - </tr> - ); - } + return ( + <tr + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </tr> + ); }; Tr.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Tr.propTypes = { @@ -47,6 +48,17 @@ Tr.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Track.react.js b/src/components/Track.react.js index 54ed8f8c..982e623a 100644 --- a/src/components/Track.react.js +++ b/src/components/Track.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Track = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <track - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </track> - ); - } else { - return ( - <track {...props}> - {props.children} - </track> - ); - } + return ( + <track + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </track> + ); }; Track.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Track.propTypes = { @@ -47,6 +48,17 @@ Track.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/U.react.js b/src/components/U.react.js index 4030892e..5859a48b 100644 --- a/src/components/U.react.js +++ b/src/components/U.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const U = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <u - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </u> - ); - } else { - return ( - <u {...props}> - {props.children} - </u> - ); - } + return ( + <u + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </u> + ); }; U.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; U.propTypes = { @@ -47,6 +48,17 @@ U.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Ul.react.js b/src/components/Ul.react.js index 1b3e632a..5382db04 100644 --- a/src/components/Ul.react.js +++ b/src/components/Ul.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Ul = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <ul - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </ul> - ); - } else { - return ( - <ul {...props}> - {props.children} - </ul> - ); - } + return ( + <ul + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </ul> + ); }; Ul.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Ul.propTypes = { @@ -47,6 +48,17 @@ Ul.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Var.react.js b/src/components/Var.react.js index d82ddeb4..8905cf5f 100644 --- a/src/components/Var.react.js +++ b/src/components/Var.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Var = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <var - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </var> - ); - } else { - return ( - <var {...props}> - {props.children} - </var> - ); - } + return ( + <var + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </var> + ); }; Var.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Var.propTypes = { @@ -47,6 +48,17 @@ Var.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Video.react.js b/src/components/Video.react.js index da01894a..5cb6ce2f 100644 --- a/src/components/Video.react.js +++ b/src/components/Video.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Video = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <video - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </video> - ); - } else { - return ( - <video {...props}> - {props.children} - </video> - ); - } + return ( + <video + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </video> + ); }; Video.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Video.propTypes = { @@ -47,6 +48,17 @@ Video.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Wbr.react.js b/src/components/Wbr.react.js index 484d293d..e62b0c83 100644 --- a/src/components/Wbr.react.js +++ b/src/components/Wbr.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Wbr = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <wbr - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </wbr> - ); - } else { - return ( - <wbr {...props}> - {props.children} - </wbr> - ); - } + return ( + <wbr + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </wbr> + ); }; Wbr.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Wbr.propTypes = { @@ -47,6 +48,17 @@ Wbr.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components diff --git a/src/components/Xmp.react.js b/src/components/Xmp.react.js index a57ad9ce..ced0646b 100644 --- a/src/components/Xmp.react.js +++ b/src/components/Xmp.react.js @@ -3,29 +3,30 @@ import React from 'react'; import PropTypes from 'prop-types'; const Xmp = (props) => { - if (props.fireEvent || props.setProps) { - return ( - <xmp - onClick={() => { - if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1}); - if (props.fireEvent) props.fireEvent({event: 'click'}); - }} - {...props} - > - {props.children} - </xmp> - ); - } else { - return ( - <xmp {...props}> - {props.children} - </xmp> - ); - } + return ( + <xmp + onClick={() => { + if (props.setProps) { + const newProps = { + n_clicks: props.n_clicks + 1 + } + if (newProps.n_clicks > 1) { + newProps.n_clicks_previous = props.n_clicks_previous + 1; + } + props.setProps(newProps); + } + if (props.fireEvent) props.fireEvent({event: 'click'}); + }} + {...props} + > + {props.children} + </xmp> + ); }; Xmp.defaultProps = { - n_clicks: 0 + n_clicks: 0, + n_clicks_previous: 0 }; Xmp.propTypes = { @@ -47,6 +48,17 @@ Xmp.propTypes = { */ 'n_clicks': PropTypes.integer, + /** + * An integer that represents the number of times + * that this element was clicked on. If this is the same as + * `n_clicks`, then the button wasn't clicked on. + * If it is less than `n_clicks`, then the button + * was clicked on. This is useful in callbacks that have + * multiple buttons and you need to know _which_ button + * was clicked on. + */ + 'n_clicks_previous': PropTypes.integer, + /** * A unique identifier for the component, used to improve * performance by React.js while rendering components From 49fd0b9afd05d4fcba575d4e02abb5a2b8fdb6c6 Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 20:42:08 -0400 Subject: [PATCH 3/9] integration test --- tests/test_integration.py | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/test_integration.py b/tests/test_integration.py index 1f149d74..74add31a 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -84,3 +84,54 @@ def update_output(n_clicks): '#container', 'You have clicked the button 1 times') self.assertEqual(call_count.value, 2) self.snapshot('button click') + + + def test_click_prev(self): + call_count = Value('i', 0) + + app = dash.Dash() + app.layout = html.Div([ + html.Div(id='container'), + html.Button('Click', id='button-1', n_clicks=0, n_clicks_previous=0), + html.Button('Click', id='button-2', n_clicks=0, n_clicks_previous=0) + ]) + + @app.callback( + Output('container', 'children'), + [Input('button-1', 'n_clicks'), + Input('button-1', 'n_clicks_previous'), + Input('button-2', 'n_clicks'), + Input('button-2', 'n_clicks_previous')]) + def update_output(*args): + call_count.value += 1 + return '{}, {}, {}, {}'.format(*args) + + self.startServer(app) + + self.wait_for_element_by_css_selector('#container') + time.sleep(2) + self.wait_for_text_to_equal( + '#container', '0, 0, 0, 0') + self.assertEqual(call_count.value, 1) + self.snapshot('button initialization 1') + + self.driver.find_element_by_css_selector('#button-1').click() + time.sleep(2) + self.wait_for_text_to_equal( + '#container', '0, 1, 0, 0') + self.assertEqual(call_count.value, 2) + self.snapshot('button-1 click') + + self.driver.find_element_by_css_selector('#button-2').click() + time.sleep(2) + self.wait_for_text_to_equal( + '#container', '1, 1, 0, 1') + self.assertEqual(call_count.value, 3) + self.snapshot('button-2 click') + + self.driver.find_element_by_css_selector('#button-2').click() + time.sleep(2) + self.wait_for_text_to_equal( + '#container', '1, 1, 1, 2') + self.assertEqual(call_count.value, 4) + self.snapshot('button-2 click again') From e6fdadf9b375ccd864b00ff8688e71ce51f9677c Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 20:44:02 -0400 Subject: [PATCH 4/9] 0.11.0-rc1 --- dash_html_components/__init__.py | 3 ++- dash_html_components/version.py | 2 +- package.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dash_html_components/__init__.py b/dash_html_components/__init__.py index 410745ca..f4c40876 100644 --- a/dash_html_components/__init__.py +++ b/dash_html_components/__init__.py @@ -6,6 +6,7 @@ import dash as _dash from .version import __version__ +npm_version = '0.11.0-rc1' if not hasattr(_dash, 'development'): print("Dash was not successfully imported. Make sure you don't have a file " @@ -26,7 +27,7 @@ "external_url": ( "https://unpkg.com/dash-html-components@{}" "/dash_html_components/bundle.js" - ).format(__version__), + ).format(npm_version), "namespace": "dash_html_components" }] diff --git a/dash_html_components/version.py b/dash_html_components/version.py index e754a834..6b33f159 100644 --- a/dash_html_components/version.py +++ b/dash_html_components/version.py @@ -1 +1 @@ -__version__ = '0.10.1' +__version__ = '0.11.0rc1' diff --git a/package.json b/package.json index 896777bb..03bbcac3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "0.10.1", + "version": "0.11.0-rc1", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": { From e7de6ec1134feec4588399f019233e4e5216cc67 Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 21:34:13 -0400 Subject: [PATCH 5/9] n_clicks_previous doesn't work MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit n_clicks_previous won’t work unless dash-renderer is handling - it’ll always just be n_clicks - 1. Instead, we could attach a timestamp to the event and use that for comparison. This is a stopgap until we serve this property for all components in the framework itself. --- scripts/generate-components.js | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/scripts/generate-components.js b/scripts/generate-components.js index d72e3d75..00a9f1b0 100644 --- a/scripts/generate-components.js +++ b/scripts/generate-components.js @@ -60,15 +60,11 @@ function generatePropTypes(element, attributes) { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * \`n_clicks\`, then the button wasn't clicked on. - * If it is less than \`n_clicks\`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. */ - 'n_clicks_previous': PropTypes.integer, + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve @@ -128,13 +124,10 @@ const ${Component} = (props) => { <${element} onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -147,7 +140,7 @@ const ${Component} = (props) => { ${Component}.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; ${Component}.propTypes = {${propTypes} From f2c515f2b0a2a228e2b94e4ba2c8f86b8a578b75 Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 21:34:27 -0400 Subject: [PATCH 6/9] regenerate components --- dash_html_components/metadata.json | 780 ++++++++++++++--------------- src/components/A.react.js | 27 +- src/components/Abbr.react.js | 27 +- src/components/Acronym.react.js | 27 +- src/components/Address.react.js | 27 +- src/components/Area.react.js | 27 +- src/components/Article.react.js | 27 +- src/components/Aside.react.js | 27 +- src/components/Audio.react.js | 27 +- src/components/B.react.js | 27 +- src/components/Base.react.js | 27 +- src/components/Basefont.react.js | 27 +- src/components/Bdi.react.js | 27 +- src/components/Bdo.react.js | 27 +- src/components/Big.react.js | 27 +- src/components/Blink.react.js | 27 +- src/components/Blockquote.react.js | 27 +- src/components/Br.react.js | 27 +- src/components/Button.react.js | 27 +- src/components/Canvas.react.js | 27 +- src/components/Caption.react.js | 27 +- src/components/Center.react.js | 27 +- src/components/Cite.react.js | 27 +- src/components/Code.react.js | 27 +- src/components/Col.react.js | 27 +- src/components/Colgroup.react.js | 27 +- src/components/Command.react.js | 27 +- src/components/Content.react.js | 27 +- src/components/Data.react.js | 27 +- src/components/Datalist.react.js | 27 +- src/components/Dd.react.js | 27 +- src/components/Del.react.js | 27 +- src/components/Details.react.js | 27 +- src/components/Dfn.react.js | 27 +- src/components/Dialog.react.js | 27 +- src/components/Div.react.js | 27 +- src/components/Dl.react.js | 27 +- src/components/Dt.react.js | 27 +- src/components/Element.react.js | 27 +- src/components/Em.react.js | 27 +- src/components/Embed.react.js | 27 +- src/components/Fieldset.react.js | 27 +- src/components/Figcaption.react.js | 27 +- src/components/Figure.react.js | 27 +- src/components/Font.react.js | 27 +- src/components/Footer.react.js | 27 +- src/components/Form.react.js | 27 +- src/components/Frame.react.js | 27 +- src/components/Frameset.react.js | 27 +- src/components/H1.react.js | 27 +- src/components/H2.react.js | 27 +- src/components/H3.react.js | 27 +- src/components/H4.react.js | 27 +- src/components/H5.react.js | 27 +- src/components/H6.react.js | 27 +- src/components/Header.react.js | 27 +- src/components/Hgroup.react.js | 27 +- src/components/Hr.react.js | 27 +- src/components/I.react.js | 27 +- src/components/Iframe.react.js | 27 +- src/components/Img.react.js | 27 +- src/components/Ins.react.js | 27 +- src/components/Isindex.react.js | 27 +- src/components/Kbd.react.js | 27 +- src/components/Keygen.react.js | 27 +- src/components/Label.react.js | 27 +- src/components/Legend.react.js | 27 +- src/components/Li.react.js | 27 +- src/components/Link.react.js | 27 +- src/components/Listing.react.js | 27 +- src/components/Main.react.js | 27 +- src/components/MapEl.react.js | 27 +- src/components/Mark.react.js | 27 +- src/components/Marquee.react.js | 27 +- src/components/Meta.react.js | 27 +- src/components/Meter.react.js | 27 +- src/components/Multicol.react.js | 27 +- src/components/Nav.react.js | 27 +- src/components/Nextid.react.js | 27 +- src/components/Nobr.react.js | 27 +- src/components/Noscript.react.js | 27 +- src/components/ObjectEl.react.js | 27 +- src/components/Ol.react.js | 27 +- src/components/Optgroup.react.js | 27 +- src/components/Option.react.js | 27 +- src/components/Output.react.js | 27 +- src/components/P.react.js | 27 +- src/components/Param.react.js | 27 +- src/components/Picture.react.js | 27 +- src/components/Plaintext.react.js | 27 +- src/components/Pre.react.js | 27 +- src/components/Progress.react.js | 27 +- src/components/Q.react.js | 27 +- src/components/Rp.react.js | 27 +- src/components/Rt.react.js | 27 +- src/components/Rtc.react.js | 27 +- src/components/Ruby.react.js | 27 +- src/components/S.react.js | 27 +- src/components/Samp.react.js | 27 +- src/components/Script.react.js | 27 +- src/components/Section.react.js | 27 +- src/components/Select.react.js | 27 +- src/components/Shadow.react.js | 27 +- src/components/Slot.react.js | 27 +- src/components/Small.react.js | 27 +- src/components/Source.react.js | 27 +- src/components/Spacer.react.js | 27 +- src/components/Span.react.js | 27 +- src/components/Strike.react.js | 27 +- src/components/Strong.react.js | 27 +- src/components/Sub.react.js | 27 +- src/components/Summary.react.js | 27 +- src/components/Sup.react.js | 27 +- src/components/Table.react.js | 27 +- src/components/Tbody.react.js | 27 +- src/components/Td.react.js | 27 +- src/components/Template.react.js | 27 +- src/components/Textarea.react.js | 27 +- src/components/Tfoot.react.js | 27 +- src/components/Th.react.js | 27 +- src/components/Thead.react.js | 27 +- src/components/Time.react.js | 27 +- src/components/Title.react.js | 27 +- src/components/Tr.react.js | 27 +- src/components/Track.react.js | 27 +- src/components/U.react.js | 27 +- src/components/Ul.react.js | 27 +- src/components/Var.react.js | 27 +- src/components/Video.react.js | 27 +- src/components/Wbr.react.js | 27 +- src/components/Xmp.react.js | 27 +- 131 files changed, 1690 insertions(+), 2600 deletions(-) diff --git a/dash_html_components/metadata.json b/dash_html_components/metadata.json index 065e7275..8cf3f4be 100644 --- a/dash_html_components/metadata.json +++ b/dash_html_components/metadata.json @@ -31,15 +31,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -277,15 +277,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -467,15 +467,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -657,15 +657,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -847,15 +847,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -1109,15 +1109,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -1299,15 +1299,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -1489,15 +1489,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -1735,15 +1735,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -1925,15 +1925,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -2131,15 +2131,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -2321,15 +2321,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -2511,15 +2511,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -2701,15 +2701,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -2891,15 +2891,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -3081,15 +3081,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -3279,15 +3279,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -3469,15 +3469,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -3715,15 +3715,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -3921,15 +3921,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -4111,15 +4111,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -4301,15 +4301,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -4491,15 +4491,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -4681,15 +4681,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -4879,15 +4879,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -5077,15 +5077,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -5307,15 +5307,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -5497,15 +5497,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -5687,15 +5687,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -5877,15 +5877,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -6067,15 +6067,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -6273,15 +6273,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -6471,15 +6471,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -6661,15 +6661,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -6851,15 +6851,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -7041,15 +7041,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -7231,15 +7231,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -7421,15 +7421,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -7611,15 +7611,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -7801,15 +7801,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8023,15 +8023,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8237,15 +8237,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8427,15 +8427,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8617,15 +8617,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8807,15 +8807,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -8997,15 +8997,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -9259,15 +9259,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -9449,15 +9449,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -9639,15 +9639,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -9829,15 +9829,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10019,15 +10019,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10209,15 +10209,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10399,15 +10399,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10589,15 +10589,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10779,15 +10779,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -10969,15 +10969,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -11159,15 +11159,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -11349,15 +11349,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -11539,15 +11539,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -11777,15 +11777,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -12031,15 +12031,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -12237,15 +12237,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -12427,15 +12427,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -12617,15 +12617,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -12855,15 +12855,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -13061,15 +13061,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -13251,15 +13251,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -13449,15 +13449,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -13695,15 +13695,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -13885,15 +13885,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -14075,15 +14075,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -14273,15 +14273,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -14463,15 +14463,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -14661,15 +14661,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -14883,15 +14883,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -15129,15 +15129,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -15319,15 +15319,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -15509,15 +15509,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -15699,15 +15699,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -15889,15 +15889,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -16079,15 +16079,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -16317,15 +16317,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -16523,15 +16523,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -16721,15 +16721,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -16935,15 +16935,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -17149,15 +17149,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -17339,15 +17339,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -17545,15 +17545,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -17735,15 +17735,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -17925,15 +17925,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -18115,15 +18115,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -18329,15 +18329,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -18527,15 +18527,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -18717,15 +18717,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -18907,15 +18907,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -19097,15 +19097,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -19287,15 +19287,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -19477,15 +19477,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -19667,15 +19667,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -19913,15 +19913,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -20103,15 +20103,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -20349,15 +20349,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -20539,15 +20539,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -20729,15 +20729,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -20919,15 +20919,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -21141,15 +21141,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -21331,15 +21331,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -21521,15 +21521,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -21711,15 +21711,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -21901,15 +21901,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -22091,15 +22091,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -22281,15 +22281,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -22471,15 +22471,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -22669,15 +22669,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -22859,15 +22859,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -23073,15 +23073,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -23263,15 +23263,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -23557,15 +23557,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -23747,15 +23747,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -23969,15 +23969,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -24159,15 +24159,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -24357,15 +24357,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -24547,15 +24547,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -24737,15 +24737,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -24967,15 +24967,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -25157,15 +25157,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -25347,15 +25347,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -25537,15 +25537,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -25807,15 +25807,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, @@ -25997,15 +25997,15 @@ "computed": false } }, - "n_clicks_previous": { + "n_clicks_timestamp": { "type": { "name": "custom", "raw": "PropTypes.integer" }, "required": false, - "description": "An integer that represents the number of times\nthat this element was clicked on. If this is the same as\n`n_clicks`, then the button wasn't clicked on.\nIf it is less than `n_clicks`, then the button\nwas clicked on. This is useful in callbacks that have\nmultiple buttons and you need to know _which_ button\nwas clicked on.", + "description": "An integer that represents the time (in ms since 1970)\nat which n_clicks changed. This can be used to tell\nwhich button was changed most recently.", "defaultValue": { - "value": "0", + "value": "-1", "computed": false } }, diff --git a/src/components/A.react.js b/src/components/A.react.js index 02fca9fa..261dce39 100644 --- a/src/components/A.react.js +++ b/src/components/A.react.js @@ -7,13 +7,10 @@ const A = (props) => { <a onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const A = (props) => { A.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; A.propTypes = { @@ -49,15 +46,11 @@ A.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Abbr.react.js b/src/components/Abbr.react.js index d4d26dae..8b22f6f5 100644 --- a/src/components/Abbr.react.js +++ b/src/components/Abbr.react.js @@ -7,13 +7,10 @@ const Abbr = (props) => { <abbr onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Abbr = (props) => { Abbr.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Abbr.propTypes = { @@ -49,15 +46,11 @@ Abbr.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Acronym.react.js b/src/components/Acronym.react.js index 93cd5333..66bbb3bd 100644 --- a/src/components/Acronym.react.js +++ b/src/components/Acronym.react.js @@ -7,13 +7,10 @@ const Acronym = (props) => { <acronym onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Acronym = (props) => { Acronym.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Acronym.propTypes = { @@ -49,15 +46,11 @@ Acronym.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Address.react.js b/src/components/Address.react.js index de39e961..e4809220 100644 --- a/src/components/Address.react.js +++ b/src/components/Address.react.js @@ -7,13 +7,10 @@ const Address = (props) => { <address onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Address = (props) => { Address.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Address.propTypes = { @@ -49,15 +46,11 @@ Address.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Area.react.js b/src/components/Area.react.js index 8f773446..60dc3ab3 100644 --- a/src/components/Area.react.js +++ b/src/components/Area.react.js @@ -7,13 +7,10 @@ const Area = (props) => { <area onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Area = (props) => { Area.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Area.propTypes = { @@ -49,15 +46,11 @@ Area.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Article.react.js b/src/components/Article.react.js index 7a2bae45..c20e76e5 100644 --- a/src/components/Article.react.js +++ b/src/components/Article.react.js @@ -7,13 +7,10 @@ const Article = (props) => { <article onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Article = (props) => { Article.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Article.propTypes = { @@ -49,15 +46,11 @@ Article.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Aside.react.js b/src/components/Aside.react.js index 3b7ebf88..257b6f46 100644 --- a/src/components/Aside.react.js +++ b/src/components/Aside.react.js @@ -7,13 +7,10 @@ const Aside = (props) => { <aside onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Aside = (props) => { Aside.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Aside.propTypes = { @@ -49,15 +46,11 @@ Aside.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Audio.react.js b/src/components/Audio.react.js index 77f5ea5c..8224748c 100644 --- a/src/components/Audio.react.js +++ b/src/components/Audio.react.js @@ -7,13 +7,10 @@ const Audio = (props) => { <audio onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Audio = (props) => { Audio.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Audio.propTypes = { @@ -49,15 +46,11 @@ Audio.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/B.react.js b/src/components/B.react.js index cfc9d9d6..52e0fcca 100644 --- a/src/components/B.react.js +++ b/src/components/B.react.js @@ -7,13 +7,10 @@ const B = (props) => { <b onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const B = (props) => { B.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; B.propTypes = { @@ -49,15 +46,11 @@ B.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Base.react.js b/src/components/Base.react.js index e5297bb6..c6542264 100644 --- a/src/components/Base.react.js +++ b/src/components/Base.react.js @@ -7,13 +7,10 @@ const Base = (props) => { <base onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Base = (props) => { Base.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Base.propTypes = { @@ -49,15 +46,11 @@ Base.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Basefont.react.js b/src/components/Basefont.react.js index f36d0a8e..db232dd5 100644 --- a/src/components/Basefont.react.js +++ b/src/components/Basefont.react.js @@ -7,13 +7,10 @@ const Basefont = (props) => { <basefont onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Basefont = (props) => { Basefont.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Basefont.propTypes = { @@ -49,15 +46,11 @@ Basefont.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Bdi.react.js b/src/components/Bdi.react.js index 4b377e3d..11c1b62b 100644 --- a/src/components/Bdi.react.js +++ b/src/components/Bdi.react.js @@ -7,13 +7,10 @@ const Bdi = (props) => { <bdi onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Bdi = (props) => { Bdi.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Bdi.propTypes = { @@ -49,15 +46,11 @@ Bdi.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Bdo.react.js b/src/components/Bdo.react.js index 68cd408b..286e0a84 100644 --- a/src/components/Bdo.react.js +++ b/src/components/Bdo.react.js @@ -7,13 +7,10 @@ const Bdo = (props) => { <bdo onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Bdo = (props) => { Bdo.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Bdo.propTypes = { @@ -49,15 +46,11 @@ Bdo.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Big.react.js b/src/components/Big.react.js index 6c84689f..981cc15d 100644 --- a/src/components/Big.react.js +++ b/src/components/Big.react.js @@ -7,13 +7,10 @@ const Big = (props) => { <big onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Big = (props) => { Big.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Big.propTypes = { @@ -49,15 +46,11 @@ Big.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Blink.react.js b/src/components/Blink.react.js index 488ea5b6..bb705e5a 100644 --- a/src/components/Blink.react.js +++ b/src/components/Blink.react.js @@ -7,13 +7,10 @@ const Blink = (props) => { <blink onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Blink = (props) => { Blink.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Blink.propTypes = { @@ -49,15 +46,11 @@ Blink.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Blockquote.react.js b/src/components/Blockquote.react.js index 00635042..0e837052 100644 --- a/src/components/Blockquote.react.js +++ b/src/components/Blockquote.react.js @@ -7,13 +7,10 @@ const Blockquote = (props) => { <blockquote onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Blockquote = (props) => { Blockquote.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Blockquote.propTypes = { @@ -49,15 +46,11 @@ Blockquote.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Br.react.js b/src/components/Br.react.js index 5161d401..008170cd 100644 --- a/src/components/Br.react.js +++ b/src/components/Br.react.js @@ -7,13 +7,10 @@ const Br = (props) => { <br onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Br = (props) => { Br.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Br.propTypes = { @@ -49,15 +46,11 @@ Br.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Button.react.js b/src/components/Button.react.js index e4d1f635..6d9ce503 100644 --- a/src/components/Button.react.js +++ b/src/components/Button.react.js @@ -7,13 +7,10 @@ const Button = (props) => { <button onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Button = (props) => { Button.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Button.propTypes = { @@ -49,15 +46,11 @@ Button.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Canvas.react.js b/src/components/Canvas.react.js index 86e680be..0b258bed 100644 --- a/src/components/Canvas.react.js +++ b/src/components/Canvas.react.js @@ -7,13 +7,10 @@ const Canvas = (props) => { <canvas onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Canvas = (props) => { Canvas.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Canvas.propTypes = { @@ -49,15 +46,11 @@ Canvas.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Caption.react.js b/src/components/Caption.react.js index c3e6d688..a57c19d6 100644 --- a/src/components/Caption.react.js +++ b/src/components/Caption.react.js @@ -7,13 +7,10 @@ const Caption = (props) => { <caption onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Caption = (props) => { Caption.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Caption.propTypes = { @@ -49,15 +46,11 @@ Caption.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Center.react.js b/src/components/Center.react.js index 58d1191d..4b33392e 100644 --- a/src/components/Center.react.js +++ b/src/components/Center.react.js @@ -7,13 +7,10 @@ const Center = (props) => { <center onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Center = (props) => { Center.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Center.propTypes = { @@ -49,15 +46,11 @@ Center.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Cite.react.js b/src/components/Cite.react.js index cde1a2f1..30e0db4a 100644 --- a/src/components/Cite.react.js +++ b/src/components/Cite.react.js @@ -7,13 +7,10 @@ const Cite = (props) => { <cite onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Cite = (props) => { Cite.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Cite.propTypes = { @@ -49,15 +46,11 @@ Cite.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Code.react.js b/src/components/Code.react.js index 463f7a2f..bde4ffe0 100644 --- a/src/components/Code.react.js +++ b/src/components/Code.react.js @@ -7,13 +7,10 @@ const Code = (props) => { <code onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Code = (props) => { Code.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Code.propTypes = { @@ -49,15 +46,11 @@ Code.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Col.react.js b/src/components/Col.react.js index b826d367..8659fc93 100644 --- a/src/components/Col.react.js +++ b/src/components/Col.react.js @@ -7,13 +7,10 @@ const Col = (props) => { <col onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Col = (props) => { Col.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Col.propTypes = { @@ -49,15 +46,11 @@ Col.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Colgroup.react.js b/src/components/Colgroup.react.js index 6adc8332..b84b34a9 100644 --- a/src/components/Colgroup.react.js +++ b/src/components/Colgroup.react.js @@ -7,13 +7,10 @@ const Colgroup = (props) => { <colgroup onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Colgroup = (props) => { Colgroup.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Colgroup.propTypes = { @@ -49,15 +46,11 @@ Colgroup.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Command.react.js b/src/components/Command.react.js index f11dc930..255f2bf4 100644 --- a/src/components/Command.react.js +++ b/src/components/Command.react.js @@ -7,13 +7,10 @@ const Command = (props) => { <command onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Command = (props) => { Command.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Command.propTypes = { @@ -49,15 +46,11 @@ Command.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Content.react.js b/src/components/Content.react.js index 32bc0c8b..88a2dfc6 100644 --- a/src/components/Content.react.js +++ b/src/components/Content.react.js @@ -7,13 +7,10 @@ const Content = (props) => { <content onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Content = (props) => { Content.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Content.propTypes = { @@ -49,15 +46,11 @@ Content.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Data.react.js b/src/components/Data.react.js index 18707b93..655572bc 100644 --- a/src/components/Data.react.js +++ b/src/components/Data.react.js @@ -7,13 +7,10 @@ const Data = (props) => { <data onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Data = (props) => { Data.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Data.propTypes = { @@ -49,15 +46,11 @@ Data.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Datalist.react.js b/src/components/Datalist.react.js index f472bc03..dce47716 100644 --- a/src/components/Datalist.react.js +++ b/src/components/Datalist.react.js @@ -7,13 +7,10 @@ const Datalist = (props) => { <datalist onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Datalist = (props) => { Datalist.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Datalist.propTypes = { @@ -49,15 +46,11 @@ Datalist.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Dd.react.js b/src/components/Dd.react.js index 983efb6c..c9670e0a 100644 --- a/src/components/Dd.react.js +++ b/src/components/Dd.react.js @@ -7,13 +7,10 @@ const Dd = (props) => { <dd onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Dd = (props) => { Dd.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Dd.propTypes = { @@ -49,15 +46,11 @@ Dd.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Del.react.js b/src/components/Del.react.js index 3d68bb94..4f76236f 100644 --- a/src/components/Del.react.js +++ b/src/components/Del.react.js @@ -7,13 +7,10 @@ const Del = (props) => { <del onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Del = (props) => { Del.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Del.propTypes = { @@ -49,15 +46,11 @@ Del.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Details.react.js b/src/components/Details.react.js index 103c9090..5531bb3a 100644 --- a/src/components/Details.react.js +++ b/src/components/Details.react.js @@ -7,13 +7,10 @@ const Details = (props) => { <details onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Details = (props) => { Details.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Details.propTypes = { @@ -49,15 +46,11 @@ Details.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Dfn.react.js b/src/components/Dfn.react.js index a3e0bf01..12da0c5c 100644 --- a/src/components/Dfn.react.js +++ b/src/components/Dfn.react.js @@ -7,13 +7,10 @@ const Dfn = (props) => { <dfn onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Dfn = (props) => { Dfn.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Dfn.propTypes = { @@ -49,15 +46,11 @@ Dfn.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Dialog.react.js b/src/components/Dialog.react.js index b27fbc35..a00cead9 100644 --- a/src/components/Dialog.react.js +++ b/src/components/Dialog.react.js @@ -7,13 +7,10 @@ const Dialog = (props) => { <dialog onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Dialog = (props) => { Dialog.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Dialog.propTypes = { @@ -49,15 +46,11 @@ Dialog.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Div.react.js b/src/components/Div.react.js index bcb3f31c..2d794dc7 100644 --- a/src/components/Div.react.js +++ b/src/components/Div.react.js @@ -7,13 +7,10 @@ const Div = (props) => { <div onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Div = (props) => { Div.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Div.propTypes = { @@ -49,15 +46,11 @@ Div.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Dl.react.js b/src/components/Dl.react.js index 5396be7e..72bafb7c 100644 --- a/src/components/Dl.react.js +++ b/src/components/Dl.react.js @@ -7,13 +7,10 @@ const Dl = (props) => { <dl onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Dl = (props) => { Dl.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Dl.propTypes = { @@ -49,15 +46,11 @@ Dl.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Dt.react.js b/src/components/Dt.react.js index 634163e8..0e649b6c 100644 --- a/src/components/Dt.react.js +++ b/src/components/Dt.react.js @@ -7,13 +7,10 @@ const Dt = (props) => { <dt onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Dt = (props) => { Dt.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Dt.propTypes = { @@ -49,15 +46,11 @@ Dt.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Element.react.js b/src/components/Element.react.js index 835cac7f..14ed4941 100644 --- a/src/components/Element.react.js +++ b/src/components/Element.react.js @@ -7,13 +7,10 @@ const Element = (props) => { <element onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Element = (props) => { Element.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Element.propTypes = { @@ -49,15 +46,11 @@ Element.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Em.react.js b/src/components/Em.react.js index fe3b11f6..29b86491 100644 --- a/src/components/Em.react.js +++ b/src/components/Em.react.js @@ -7,13 +7,10 @@ const Em = (props) => { <em onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Em = (props) => { Em.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Em.propTypes = { @@ -49,15 +46,11 @@ Em.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Embed.react.js b/src/components/Embed.react.js index 0d4116ff..2d0739f5 100644 --- a/src/components/Embed.react.js +++ b/src/components/Embed.react.js @@ -7,13 +7,10 @@ const Embed = (props) => { <embed onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Embed = (props) => { Embed.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Embed.propTypes = { @@ -49,15 +46,11 @@ Embed.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Fieldset.react.js b/src/components/Fieldset.react.js index ae22fab9..2c4c8ba6 100644 --- a/src/components/Fieldset.react.js +++ b/src/components/Fieldset.react.js @@ -7,13 +7,10 @@ const Fieldset = (props) => { <fieldset onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Fieldset = (props) => { Fieldset.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Fieldset.propTypes = { @@ -49,15 +46,11 @@ Fieldset.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Figcaption.react.js b/src/components/Figcaption.react.js index 33b6ac29..15bfd61a 100644 --- a/src/components/Figcaption.react.js +++ b/src/components/Figcaption.react.js @@ -7,13 +7,10 @@ const Figcaption = (props) => { <figcaption onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Figcaption = (props) => { Figcaption.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Figcaption.propTypes = { @@ -49,15 +46,11 @@ Figcaption.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Figure.react.js b/src/components/Figure.react.js index 071925e0..66cccdef 100644 --- a/src/components/Figure.react.js +++ b/src/components/Figure.react.js @@ -7,13 +7,10 @@ const Figure = (props) => { <figure onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Figure = (props) => { Figure.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Figure.propTypes = { @@ -49,15 +46,11 @@ Figure.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Font.react.js b/src/components/Font.react.js index 89bc317a..56c25064 100644 --- a/src/components/Font.react.js +++ b/src/components/Font.react.js @@ -7,13 +7,10 @@ const Font = (props) => { <font onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Font = (props) => { Font.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Font.propTypes = { @@ -49,15 +46,11 @@ Font.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Footer.react.js b/src/components/Footer.react.js index e924bd74..b53e7833 100644 --- a/src/components/Footer.react.js +++ b/src/components/Footer.react.js @@ -7,13 +7,10 @@ const Footer = (props) => { <footer onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Footer = (props) => { Footer.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Footer.propTypes = { @@ -49,15 +46,11 @@ Footer.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Form.react.js b/src/components/Form.react.js index 7f7c4349..8034de60 100644 --- a/src/components/Form.react.js +++ b/src/components/Form.react.js @@ -7,13 +7,10 @@ const Form = (props) => { <form onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Form = (props) => { Form.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Form.propTypes = { @@ -49,15 +46,11 @@ Form.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Frame.react.js b/src/components/Frame.react.js index 3b6a8f76..1a406cf2 100644 --- a/src/components/Frame.react.js +++ b/src/components/Frame.react.js @@ -7,13 +7,10 @@ const Frame = (props) => { <frame onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Frame = (props) => { Frame.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Frame.propTypes = { @@ -49,15 +46,11 @@ Frame.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Frameset.react.js b/src/components/Frameset.react.js index b6eb190b..f623ddd2 100644 --- a/src/components/Frameset.react.js +++ b/src/components/Frameset.react.js @@ -7,13 +7,10 @@ const Frameset = (props) => { <frameset onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Frameset = (props) => { Frameset.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Frameset.propTypes = { @@ -49,15 +46,11 @@ Frameset.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H1.react.js b/src/components/H1.react.js index 3a2b7505..6e5a90d7 100644 --- a/src/components/H1.react.js +++ b/src/components/H1.react.js @@ -7,13 +7,10 @@ const H1 = (props) => { <h1 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H1 = (props) => { H1.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H1.propTypes = { @@ -49,15 +46,11 @@ H1.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H2.react.js b/src/components/H2.react.js index 21c94377..15fd3cd4 100644 --- a/src/components/H2.react.js +++ b/src/components/H2.react.js @@ -7,13 +7,10 @@ const H2 = (props) => { <h2 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H2 = (props) => { H2.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H2.propTypes = { @@ -49,15 +46,11 @@ H2.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H3.react.js b/src/components/H3.react.js index c3fb2a7b..940e5620 100644 --- a/src/components/H3.react.js +++ b/src/components/H3.react.js @@ -7,13 +7,10 @@ const H3 = (props) => { <h3 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H3 = (props) => { H3.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H3.propTypes = { @@ -49,15 +46,11 @@ H3.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H4.react.js b/src/components/H4.react.js index 4db59b50..b77b8203 100644 --- a/src/components/H4.react.js +++ b/src/components/H4.react.js @@ -7,13 +7,10 @@ const H4 = (props) => { <h4 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H4 = (props) => { H4.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H4.propTypes = { @@ -49,15 +46,11 @@ H4.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H5.react.js b/src/components/H5.react.js index 174fabf7..c85826c8 100644 --- a/src/components/H5.react.js +++ b/src/components/H5.react.js @@ -7,13 +7,10 @@ const H5 = (props) => { <h5 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H5 = (props) => { H5.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H5.propTypes = { @@ -49,15 +46,11 @@ H5.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/H6.react.js b/src/components/H6.react.js index 179f67f3..64b9b4ab 100644 --- a/src/components/H6.react.js +++ b/src/components/H6.react.js @@ -7,13 +7,10 @@ const H6 = (props) => { <h6 onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const H6 = (props) => { H6.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; H6.propTypes = { @@ -49,15 +46,11 @@ H6.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Header.react.js b/src/components/Header.react.js index cd17bb7e..c91234a6 100644 --- a/src/components/Header.react.js +++ b/src/components/Header.react.js @@ -7,13 +7,10 @@ const Header = (props) => { <header onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Header = (props) => { Header.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Header.propTypes = { @@ -49,15 +46,11 @@ Header.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Hgroup.react.js b/src/components/Hgroup.react.js index 6aa9ce40..1dd30d92 100644 --- a/src/components/Hgroup.react.js +++ b/src/components/Hgroup.react.js @@ -7,13 +7,10 @@ const Hgroup = (props) => { <hgroup onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Hgroup = (props) => { Hgroup.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Hgroup.propTypes = { @@ -49,15 +46,11 @@ Hgroup.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Hr.react.js b/src/components/Hr.react.js index 1044c1aa..a844014a 100644 --- a/src/components/Hr.react.js +++ b/src/components/Hr.react.js @@ -7,13 +7,10 @@ const Hr = (props) => { <hr onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Hr = (props) => { Hr.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Hr.propTypes = { @@ -49,15 +46,11 @@ Hr.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/I.react.js b/src/components/I.react.js index 867c39a8..d3877f15 100644 --- a/src/components/I.react.js +++ b/src/components/I.react.js @@ -7,13 +7,10 @@ const I = (props) => { <i onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const I = (props) => { I.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; I.propTypes = { @@ -49,15 +46,11 @@ I.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Iframe.react.js b/src/components/Iframe.react.js index 04fed858..ffdc3f1a 100644 --- a/src/components/Iframe.react.js +++ b/src/components/Iframe.react.js @@ -7,13 +7,10 @@ const Iframe = (props) => { <iframe onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Iframe = (props) => { Iframe.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Iframe.propTypes = { @@ -49,15 +46,11 @@ Iframe.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Img.react.js b/src/components/Img.react.js index 298831e8..46e4de40 100644 --- a/src/components/Img.react.js +++ b/src/components/Img.react.js @@ -7,13 +7,10 @@ const Img = (props) => { <img onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Img = (props) => { Img.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Img.propTypes = { @@ -49,15 +46,11 @@ Img.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Ins.react.js b/src/components/Ins.react.js index 0957af39..ec74acd6 100644 --- a/src/components/Ins.react.js +++ b/src/components/Ins.react.js @@ -7,13 +7,10 @@ const Ins = (props) => { <ins onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Ins = (props) => { Ins.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Ins.propTypes = { @@ -49,15 +46,11 @@ Ins.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Isindex.react.js b/src/components/Isindex.react.js index 159e07e4..ed804474 100644 --- a/src/components/Isindex.react.js +++ b/src/components/Isindex.react.js @@ -7,13 +7,10 @@ const Isindex = (props) => { <isindex onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Isindex = (props) => { Isindex.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Isindex.propTypes = { @@ -49,15 +46,11 @@ Isindex.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Kbd.react.js b/src/components/Kbd.react.js index 995754f0..6903ccb8 100644 --- a/src/components/Kbd.react.js +++ b/src/components/Kbd.react.js @@ -7,13 +7,10 @@ const Kbd = (props) => { <kbd onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Kbd = (props) => { Kbd.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Kbd.propTypes = { @@ -49,15 +46,11 @@ Kbd.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Keygen.react.js b/src/components/Keygen.react.js index 36237615..ee26bdc7 100644 --- a/src/components/Keygen.react.js +++ b/src/components/Keygen.react.js @@ -7,13 +7,10 @@ const Keygen = (props) => { <keygen onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Keygen = (props) => { Keygen.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Keygen.propTypes = { @@ -49,15 +46,11 @@ Keygen.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Label.react.js b/src/components/Label.react.js index 2662a249..ac44ba2b 100644 --- a/src/components/Label.react.js +++ b/src/components/Label.react.js @@ -7,13 +7,10 @@ const Label = (props) => { <label onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Label = (props) => { Label.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Label.propTypes = { @@ -49,15 +46,11 @@ Label.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Legend.react.js b/src/components/Legend.react.js index f25c8a91..9f4f5dd7 100644 --- a/src/components/Legend.react.js +++ b/src/components/Legend.react.js @@ -7,13 +7,10 @@ const Legend = (props) => { <legend onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Legend = (props) => { Legend.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Legend.propTypes = { @@ -49,15 +46,11 @@ Legend.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Li.react.js b/src/components/Li.react.js index c69887e9..0411b80c 100644 --- a/src/components/Li.react.js +++ b/src/components/Li.react.js @@ -7,13 +7,10 @@ const Li = (props) => { <li onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Li = (props) => { Li.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Li.propTypes = { @@ -49,15 +46,11 @@ Li.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Link.react.js b/src/components/Link.react.js index e6ff05f3..65e76c4e 100644 --- a/src/components/Link.react.js +++ b/src/components/Link.react.js @@ -7,13 +7,10 @@ const Link = (props) => { <link onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Link = (props) => { Link.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Link.propTypes = { @@ -49,15 +46,11 @@ Link.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Listing.react.js b/src/components/Listing.react.js index 2175975a..1bdea1bd 100644 --- a/src/components/Listing.react.js +++ b/src/components/Listing.react.js @@ -7,13 +7,10 @@ const Listing = (props) => { <listing onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Listing = (props) => { Listing.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Listing.propTypes = { @@ -49,15 +46,11 @@ Listing.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Main.react.js b/src/components/Main.react.js index 3d061a19..cd0cef7b 100644 --- a/src/components/Main.react.js +++ b/src/components/Main.react.js @@ -7,13 +7,10 @@ const Main = (props) => { <main onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Main = (props) => { Main.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Main.propTypes = { @@ -49,15 +46,11 @@ Main.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/MapEl.react.js b/src/components/MapEl.react.js index ec87cf6e..c9ec9a8b 100644 --- a/src/components/MapEl.react.js +++ b/src/components/MapEl.react.js @@ -7,13 +7,10 @@ const MapEl = (props) => { <map onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const MapEl = (props) => { MapEl.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; MapEl.propTypes = { @@ -49,15 +46,11 @@ MapEl.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Mark.react.js b/src/components/Mark.react.js index a7454c46..967e5633 100644 --- a/src/components/Mark.react.js +++ b/src/components/Mark.react.js @@ -7,13 +7,10 @@ const Mark = (props) => { <mark onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Mark = (props) => { Mark.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Mark.propTypes = { @@ -49,15 +46,11 @@ Mark.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Marquee.react.js b/src/components/Marquee.react.js index c69e796c..38c23038 100644 --- a/src/components/Marquee.react.js +++ b/src/components/Marquee.react.js @@ -7,13 +7,10 @@ const Marquee = (props) => { <marquee onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Marquee = (props) => { Marquee.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Marquee.propTypes = { @@ -49,15 +46,11 @@ Marquee.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Meta.react.js b/src/components/Meta.react.js index 4e61615b..4ec6cb21 100644 --- a/src/components/Meta.react.js +++ b/src/components/Meta.react.js @@ -7,13 +7,10 @@ const Meta = (props) => { <meta onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Meta = (props) => { Meta.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Meta.propTypes = { @@ -49,15 +46,11 @@ Meta.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Meter.react.js b/src/components/Meter.react.js index 0a986ea8..3965e853 100644 --- a/src/components/Meter.react.js +++ b/src/components/Meter.react.js @@ -7,13 +7,10 @@ const Meter = (props) => { <meter onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Meter = (props) => { Meter.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Meter.propTypes = { @@ -49,15 +46,11 @@ Meter.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Multicol.react.js b/src/components/Multicol.react.js index 86b926ac..bad58ad1 100644 --- a/src/components/Multicol.react.js +++ b/src/components/Multicol.react.js @@ -7,13 +7,10 @@ const Multicol = (props) => { <multicol onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Multicol = (props) => { Multicol.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Multicol.propTypes = { @@ -49,15 +46,11 @@ Multicol.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Nav.react.js b/src/components/Nav.react.js index 9b434789..15968263 100644 --- a/src/components/Nav.react.js +++ b/src/components/Nav.react.js @@ -7,13 +7,10 @@ const Nav = (props) => { <nav onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Nav = (props) => { Nav.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Nav.propTypes = { @@ -49,15 +46,11 @@ Nav.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Nextid.react.js b/src/components/Nextid.react.js index e026fac4..485d78ee 100644 --- a/src/components/Nextid.react.js +++ b/src/components/Nextid.react.js @@ -7,13 +7,10 @@ const Nextid = (props) => { <nextid onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Nextid = (props) => { Nextid.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Nextid.propTypes = { @@ -49,15 +46,11 @@ Nextid.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Nobr.react.js b/src/components/Nobr.react.js index 15fffe9f..315b2d9a 100644 --- a/src/components/Nobr.react.js +++ b/src/components/Nobr.react.js @@ -7,13 +7,10 @@ const Nobr = (props) => { <nobr onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Nobr = (props) => { Nobr.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Nobr.propTypes = { @@ -49,15 +46,11 @@ Nobr.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Noscript.react.js b/src/components/Noscript.react.js index 956401f6..827aaca6 100644 --- a/src/components/Noscript.react.js +++ b/src/components/Noscript.react.js @@ -7,13 +7,10 @@ const Noscript = (props) => { <noscript onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Noscript = (props) => { Noscript.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Noscript.propTypes = { @@ -49,15 +46,11 @@ Noscript.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/ObjectEl.react.js b/src/components/ObjectEl.react.js index 70077464..9e80783c 100644 --- a/src/components/ObjectEl.react.js +++ b/src/components/ObjectEl.react.js @@ -7,13 +7,10 @@ const ObjectEl = (props) => { <object onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const ObjectEl = (props) => { ObjectEl.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; ObjectEl.propTypes = { @@ -49,15 +46,11 @@ ObjectEl.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Ol.react.js b/src/components/Ol.react.js index 4eb5896c..699b684e 100644 --- a/src/components/Ol.react.js +++ b/src/components/Ol.react.js @@ -7,13 +7,10 @@ const Ol = (props) => { <ol onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Ol = (props) => { Ol.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Ol.propTypes = { @@ -49,15 +46,11 @@ Ol.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Optgroup.react.js b/src/components/Optgroup.react.js index 1ce12ada..20b2a74b 100644 --- a/src/components/Optgroup.react.js +++ b/src/components/Optgroup.react.js @@ -7,13 +7,10 @@ const Optgroup = (props) => { <optgroup onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Optgroup = (props) => { Optgroup.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Optgroup.propTypes = { @@ -49,15 +46,11 @@ Optgroup.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Option.react.js b/src/components/Option.react.js index c54f8b3d..586063f0 100644 --- a/src/components/Option.react.js +++ b/src/components/Option.react.js @@ -7,13 +7,10 @@ const Option = (props) => { <option onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Option = (props) => { Option.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Option.propTypes = { @@ -49,15 +46,11 @@ Option.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Output.react.js b/src/components/Output.react.js index d21be009..8fe98ea7 100644 --- a/src/components/Output.react.js +++ b/src/components/Output.react.js @@ -7,13 +7,10 @@ const Output = (props) => { <output onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Output = (props) => { Output.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Output.propTypes = { @@ -49,15 +46,11 @@ Output.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/P.react.js b/src/components/P.react.js index 0ce78564..adee14a0 100644 --- a/src/components/P.react.js +++ b/src/components/P.react.js @@ -7,13 +7,10 @@ const P = (props) => { <p onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const P = (props) => { P.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; P.propTypes = { @@ -49,15 +46,11 @@ P.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Param.react.js b/src/components/Param.react.js index da525651..6e7ccc58 100644 --- a/src/components/Param.react.js +++ b/src/components/Param.react.js @@ -7,13 +7,10 @@ const Param = (props) => { <param onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Param = (props) => { Param.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Param.propTypes = { @@ -49,15 +46,11 @@ Param.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Picture.react.js b/src/components/Picture.react.js index 40cf5fad..2261e9cd 100644 --- a/src/components/Picture.react.js +++ b/src/components/Picture.react.js @@ -7,13 +7,10 @@ const Picture = (props) => { <picture onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Picture = (props) => { Picture.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Picture.propTypes = { @@ -49,15 +46,11 @@ Picture.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Plaintext.react.js b/src/components/Plaintext.react.js index 77540990..9aaeb07e 100644 --- a/src/components/Plaintext.react.js +++ b/src/components/Plaintext.react.js @@ -7,13 +7,10 @@ const Plaintext = (props) => { <plaintext onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Plaintext = (props) => { Plaintext.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Plaintext.propTypes = { @@ -49,15 +46,11 @@ Plaintext.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Pre.react.js b/src/components/Pre.react.js index d02b1a08..44c90675 100644 --- a/src/components/Pre.react.js +++ b/src/components/Pre.react.js @@ -7,13 +7,10 @@ const Pre = (props) => { <pre onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Pre = (props) => { Pre.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Pre.propTypes = { @@ -49,15 +46,11 @@ Pre.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Progress.react.js b/src/components/Progress.react.js index abea5fc2..fc7a15ed 100644 --- a/src/components/Progress.react.js +++ b/src/components/Progress.react.js @@ -7,13 +7,10 @@ const Progress = (props) => { <progress onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Progress = (props) => { Progress.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Progress.propTypes = { @@ -49,15 +46,11 @@ Progress.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Q.react.js b/src/components/Q.react.js index 52295293..64d87fd6 100644 --- a/src/components/Q.react.js +++ b/src/components/Q.react.js @@ -7,13 +7,10 @@ const Q = (props) => { <q onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Q = (props) => { Q.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Q.propTypes = { @@ -49,15 +46,11 @@ Q.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Rp.react.js b/src/components/Rp.react.js index 4a1140b6..595fb9e9 100644 --- a/src/components/Rp.react.js +++ b/src/components/Rp.react.js @@ -7,13 +7,10 @@ const Rp = (props) => { <rp onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Rp = (props) => { Rp.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Rp.propTypes = { @@ -49,15 +46,11 @@ Rp.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Rt.react.js b/src/components/Rt.react.js index 4d997a7d..9e901a9c 100644 --- a/src/components/Rt.react.js +++ b/src/components/Rt.react.js @@ -7,13 +7,10 @@ const Rt = (props) => { <rt onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Rt = (props) => { Rt.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Rt.propTypes = { @@ -49,15 +46,11 @@ Rt.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Rtc.react.js b/src/components/Rtc.react.js index 10f2d7ac..419215f7 100644 --- a/src/components/Rtc.react.js +++ b/src/components/Rtc.react.js @@ -7,13 +7,10 @@ const Rtc = (props) => { <rtc onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Rtc = (props) => { Rtc.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Rtc.propTypes = { @@ -49,15 +46,11 @@ Rtc.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Ruby.react.js b/src/components/Ruby.react.js index d997a657..d610ca28 100644 --- a/src/components/Ruby.react.js +++ b/src/components/Ruby.react.js @@ -7,13 +7,10 @@ const Ruby = (props) => { <ruby onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Ruby = (props) => { Ruby.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Ruby.propTypes = { @@ -49,15 +46,11 @@ Ruby.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/S.react.js b/src/components/S.react.js index 54b584de..c5772578 100644 --- a/src/components/S.react.js +++ b/src/components/S.react.js @@ -7,13 +7,10 @@ const S = (props) => { <s onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const S = (props) => { S.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; S.propTypes = { @@ -49,15 +46,11 @@ S.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Samp.react.js b/src/components/Samp.react.js index b23a6a94..e5bd860c 100644 --- a/src/components/Samp.react.js +++ b/src/components/Samp.react.js @@ -7,13 +7,10 @@ const Samp = (props) => { <samp onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Samp = (props) => { Samp.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Samp.propTypes = { @@ -49,15 +46,11 @@ Samp.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Script.react.js b/src/components/Script.react.js index d9c37249..ba32cbce 100644 --- a/src/components/Script.react.js +++ b/src/components/Script.react.js @@ -7,13 +7,10 @@ const Script = (props) => { <script onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Script = (props) => { Script.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Script.propTypes = { @@ -49,15 +46,11 @@ Script.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Section.react.js b/src/components/Section.react.js index 5ee3e051..0cd59d62 100644 --- a/src/components/Section.react.js +++ b/src/components/Section.react.js @@ -7,13 +7,10 @@ const Section = (props) => { <section onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Section = (props) => { Section.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Section.propTypes = { @@ -49,15 +46,11 @@ Section.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Select.react.js b/src/components/Select.react.js index c1cad80e..eaca1121 100644 --- a/src/components/Select.react.js +++ b/src/components/Select.react.js @@ -7,13 +7,10 @@ const Select = (props) => { <select onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Select = (props) => { Select.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Select.propTypes = { @@ -49,15 +46,11 @@ Select.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Shadow.react.js b/src/components/Shadow.react.js index 0f3b1921..cfe2f48b 100644 --- a/src/components/Shadow.react.js +++ b/src/components/Shadow.react.js @@ -7,13 +7,10 @@ const Shadow = (props) => { <shadow onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Shadow = (props) => { Shadow.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Shadow.propTypes = { @@ -49,15 +46,11 @@ Shadow.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Slot.react.js b/src/components/Slot.react.js index 6ab39faf..d7f199f8 100644 --- a/src/components/Slot.react.js +++ b/src/components/Slot.react.js @@ -7,13 +7,10 @@ const Slot = (props) => { <slot onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Slot = (props) => { Slot.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Slot.propTypes = { @@ -49,15 +46,11 @@ Slot.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Small.react.js b/src/components/Small.react.js index 7cd9c647..6c394c9f 100644 --- a/src/components/Small.react.js +++ b/src/components/Small.react.js @@ -7,13 +7,10 @@ const Small = (props) => { <small onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Small = (props) => { Small.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Small.propTypes = { @@ -49,15 +46,11 @@ Small.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Source.react.js b/src/components/Source.react.js index 74811bd9..7d8d20f6 100644 --- a/src/components/Source.react.js +++ b/src/components/Source.react.js @@ -7,13 +7,10 @@ const Source = (props) => { <source onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Source = (props) => { Source.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Source.propTypes = { @@ -49,15 +46,11 @@ Source.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Spacer.react.js b/src/components/Spacer.react.js index 3e4a1c2f..d248edbf 100644 --- a/src/components/Spacer.react.js +++ b/src/components/Spacer.react.js @@ -7,13 +7,10 @@ const Spacer = (props) => { <spacer onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Spacer = (props) => { Spacer.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Spacer.propTypes = { @@ -49,15 +46,11 @@ Spacer.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Span.react.js b/src/components/Span.react.js index 0920f360..4b347dcf 100644 --- a/src/components/Span.react.js +++ b/src/components/Span.react.js @@ -7,13 +7,10 @@ const Span = (props) => { <span onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Span = (props) => { Span.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Span.propTypes = { @@ -49,15 +46,11 @@ Span.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Strike.react.js b/src/components/Strike.react.js index d361f27d..46059ad6 100644 --- a/src/components/Strike.react.js +++ b/src/components/Strike.react.js @@ -7,13 +7,10 @@ const Strike = (props) => { <strike onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Strike = (props) => { Strike.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Strike.propTypes = { @@ -49,15 +46,11 @@ Strike.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Strong.react.js b/src/components/Strong.react.js index 86d72447..20160c6e 100644 --- a/src/components/Strong.react.js +++ b/src/components/Strong.react.js @@ -7,13 +7,10 @@ const Strong = (props) => { <strong onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Strong = (props) => { Strong.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Strong.propTypes = { @@ -49,15 +46,11 @@ Strong.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Sub.react.js b/src/components/Sub.react.js index e120ff46..bdbf929d 100644 --- a/src/components/Sub.react.js +++ b/src/components/Sub.react.js @@ -7,13 +7,10 @@ const Sub = (props) => { <sub onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Sub = (props) => { Sub.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Sub.propTypes = { @@ -49,15 +46,11 @@ Sub.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Summary.react.js b/src/components/Summary.react.js index dd11b568..056b2ddc 100644 --- a/src/components/Summary.react.js +++ b/src/components/Summary.react.js @@ -7,13 +7,10 @@ const Summary = (props) => { <summary onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Summary = (props) => { Summary.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Summary.propTypes = { @@ -49,15 +46,11 @@ Summary.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Sup.react.js b/src/components/Sup.react.js index 99f22eed..0858962f 100644 --- a/src/components/Sup.react.js +++ b/src/components/Sup.react.js @@ -7,13 +7,10 @@ const Sup = (props) => { <sup onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Sup = (props) => { Sup.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Sup.propTypes = { @@ -49,15 +46,11 @@ Sup.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Table.react.js b/src/components/Table.react.js index 6191c6d3..a7af13d7 100644 --- a/src/components/Table.react.js +++ b/src/components/Table.react.js @@ -7,13 +7,10 @@ const Table = (props) => { <table onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Table = (props) => { Table.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Table.propTypes = { @@ -49,15 +46,11 @@ Table.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Tbody.react.js b/src/components/Tbody.react.js index 76078de2..6ab597fb 100644 --- a/src/components/Tbody.react.js +++ b/src/components/Tbody.react.js @@ -7,13 +7,10 @@ const Tbody = (props) => { <tbody onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Tbody = (props) => { Tbody.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Tbody.propTypes = { @@ -49,15 +46,11 @@ Tbody.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Td.react.js b/src/components/Td.react.js index 6223518d..7275f56a 100644 --- a/src/components/Td.react.js +++ b/src/components/Td.react.js @@ -7,13 +7,10 @@ const Td = (props) => { <td onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Td = (props) => { Td.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Td.propTypes = { @@ -49,15 +46,11 @@ Td.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Template.react.js b/src/components/Template.react.js index c097e48c..55748355 100644 --- a/src/components/Template.react.js +++ b/src/components/Template.react.js @@ -7,13 +7,10 @@ const Template = (props) => { <template onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Template = (props) => { Template.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Template.propTypes = { @@ -49,15 +46,11 @@ Template.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Textarea.react.js b/src/components/Textarea.react.js index f23936d4..9ce0f386 100644 --- a/src/components/Textarea.react.js +++ b/src/components/Textarea.react.js @@ -7,13 +7,10 @@ const Textarea = (props) => { <textarea onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Textarea = (props) => { Textarea.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Textarea.propTypes = { @@ -49,15 +46,11 @@ Textarea.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Tfoot.react.js b/src/components/Tfoot.react.js index a67ddce8..276685be 100644 --- a/src/components/Tfoot.react.js +++ b/src/components/Tfoot.react.js @@ -7,13 +7,10 @@ const Tfoot = (props) => { <tfoot onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Tfoot = (props) => { Tfoot.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Tfoot.propTypes = { @@ -49,15 +46,11 @@ Tfoot.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Th.react.js b/src/components/Th.react.js index 3d1f5f12..a9472019 100644 --- a/src/components/Th.react.js +++ b/src/components/Th.react.js @@ -7,13 +7,10 @@ const Th = (props) => { <th onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Th = (props) => { Th.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Th.propTypes = { @@ -49,15 +46,11 @@ Th.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Thead.react.js b/src/components/Thead.react.js index 6a4f3b84..ea48b627 100644 --- a/src/components/Thead.react.js +++ b/src/components/Thead.react.js @@ -7,13 +7,10 @@ const Thead = (props) => { <thead onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Thead = (props) => { Thead.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Thead.propTypes = { @@ -49,15 +46,11 @@ Thead.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Time.react.js b/src/components/Time.react.js index 48325042..e9d80a07 100644 --- a/src/components/Time.react.js +++ b/src/components/Time.react.js @@ -7,13 +7,10 @@ const Time = (props) => { <time onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Time = (props) => { Time.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Time.propTypes = { @@ -49,15 +46,11 @@ Time.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Title.react.js b/src/components/Title.react.js index d197d5fb..484592f7 100644 --- a/src/components/Title.react.js +++ b/src/components/Title.react.js @@ -7,13 +7,10 @@ const Title = (props) => { <title onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Title = (props) => { Title.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Title.propTypes = { @@ -49,15 +46,11 @@ Title.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Tr.react.js b/src/components/Tr.react.js index 5af4d421..2084f382 100644 --- a/src/components/Tr.react.js +++ b/src/components/Tr.react.js @@ -7,13 +7,10 @@ const Tr = (props) => { <tr onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Tr = (props) => { Tr.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Tr.propTypes = { @@ -49,15 +46,11 @@ Tr.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Track.react.js b/src/components/Track.react.js index 982e623a..51ec26e9 100644 --- a/src/components/Track.react.js +++ b/src/components/Track.react.js @@ -7,13 +7,10 @@ const Track = (props) => { <track onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Track = (props) => { Track.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Track.propTypes = { @@ -49,15 +46,11 @@ Track.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/U.react.js b/src/components/U.react.js index 5859a48b..c796cd89 100644 --- a/src/components/U.react.js +++ b/src/components/U.react.js @@ -7,13 +7,10 @@ const U = (props) => { <u onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const U = (props) => { U.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; U.propTypes = { @@ -49,15 +46,11 @@ U.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Ul.react.js b/src/components/Ul.react.js index 5382db04..686b6af4 100644 --- a/src/components/Ul.react.js +++ b/src/components/Ul.react.js @@ -7,13 +7,10 @@ const Ul = (props) => { <ul onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Ul = (props) => { Ul.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Ul.propTypes = { @@ -49,15 +46,11 @@ Ul.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Var.react.js b/src/components/Var.react.js index 8905cf5f..f4a4b22b 100644 --- a/src/components/Var.react.js +++ b/src/components/Var.react.js @@ -7,13 +7,10 @@ const Var = (props) => { <var onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Var = (props) => { Var.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Var.propTypes = { @@ -49,15 +46,11 @@ Var.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Video.react.js b/src/components/Video.react.js index 5cb6ce2f..fb0df023 100644 --- a/src/components/Video.react.js +++ b/src/components/Video.react.js @@ -7,13 +7,10 @@ const Video = (props) => { <video onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Video = (props) => { Video.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Video.propTypes = { @@ -49,15 +46,11 @@ Video.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Wbr.react.js b/src/components/Wbr.react.js index e62b0c83..1f2b7e86 100644 --- a/src/components/Wbr.react.js +++ b/src/components/Wbr.react.js @@ -7,13 +7,10 @@ const Wbr = (props) => { <wbr onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Wbr = (props) => { Wbr.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Wbr.propTypes = { @@ -49,15 +46,11 @@ Wbr.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve diff --git a/src/components/Xmp.react.js b/src/components/Xmp.react.js index ced0646b..d7696798 100644 --- a/src/components/Xmp.react.js +++ b/src/components/Xmp.react.js @@ -7,13 +7,10 @@ const Xmp = (props) => { <xmp onClick={() => { if (props.setProps) { - const newProps = { - n_clicks: props.n_clicks + 1 - } - if (newProps.n_clicks > 1) { - newProps.n_clicks_previous = props.n_clicks_previous + 1; - } - props.setProps(newProps); + props.setProps({ + n_clicks: props.n_clicks + 1, + n_clicks_timestamp: Date.now() + }) } if (props.fireEvent) props.fireEvent({event: 'click'}); }} @@ -26,7 +23,7 @@ const Xmp = (props) => { Xmp.defaultProps = { n_clicks: 0, - n_clicks_previous: 0 + n_clicks_timestamp: -1 }; Xmp.propTypes = { @@ -49,15 +46,11 @@ Xmp.propTypes = { 'n_clicks': PropTypes.integer, /** - * An integer that represents the number of times - * that this element was clicked on. If this is the same as - * `n_clicks`, then the button wasn't clicked on. - * If it is less than `n_clicks`, then the button - * was clicked on. This is useful in callbacks that have - * multiple buttons and you need to know _which_ button - * was clicked on. - */ - 'n_clicks_previous': PropTypes.integer, + * An integer that represents the time (in ms since 1970) + * at which n_clicks changed. This can be used to tell + * which button was changed most recently. + */ + 'n_clicks_timestamp': PropTypes.integer, /** * A unique identifier for the component, used to improve From 5823cef7bb2b35367408255b59a7dbd4efeeb6b1 Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 21:34:58 -0400 Subject: [PATCH 7/9] update test --- tests/test_integration.py | 46 ++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/tests/test_integration.py b/tests/test_integration.py index 74add31a..16fce92c 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -88,50 +88,70 @@ def update_output(n_clicks): def test_click_prev(self): call_count = Value('i', 0) + timestamp_1 = Value('d', -5) + timestamp_2 = Value('d', -5) app = dash.Dash() app.layout = html.Div([ html.Div(id='container'), - html.Button('Click', id='button-1', n_clicks=0, n_clicks_previous=0), - html.Button('Click', id='button-2', n_clicks=0, n_clicks_previous=0) + html.Button('Click', id='button-1', n_clicks=0, n_clicks_timestamp=-1), + html.Button('Click', id='button-2', n_clicks=0, n_clicks_timestamp=-1) ]) @app.callback( Output('container', 'children'), [Input('button-1', 'n_clicks'), - Input('button-1', 'n_clicks_previous'), + Input('button-1', 'n_clicks_timestamp'), Input('button-2', 'n_clicks'), - Input('button-2', 'n_clicks_previous')]) + Input('button-2', 'n_clicks_timestamp')]) def update_output(*args): + print(args) call_count.value += 1 - return '{}, {}, {}, {}'.format(*args) + timestamp_1.value = args[1] + timestamp_2.value = args[3] + return '{}, {}'.format(args[0], args[2]) self.startServer(app) self.wait_for_element_by_css_selector('#container') time.sleep(2) - self.wait_for_text_to_equal( - '#container', '0, 0, 0, 0') + self.wait_for_text_to_equal('#container', '0, 0') + self.assertEqual(timestamp_1.value, -1) + self.assertEqual(timestamp_2.value, -1) self.assertEqual(call_count.value, 1) self.snapshot('button initialization 1') self.driver.find_element_by_css_selector('#button-1').click() time.sleep(2) - self.wait_for_text_to_equal( - '#container', '0, 1, 0, 0') + self.wait_for_text_to_equal('#container', '1, 0') + print(timestamp_1.value) + print((time.time() - (24 * 60 * 60)) * 1000) + self.assertTrue( + timestamp_1.value > + ((time.time() - (24 * 60 * 60)) * 1000)) + self.assertEqual(timestamp_2.value, -1) self.assertEqual(call_count.value, 2) self.snapshot('button-1 click') + prev_timestamp_1 = timestamp_1.value self.driver.find_element_by_css_selector('#button-2').click() time.sleep(2) - self.wait_for_text_to_equal( - '#container', '1, 1, 0, 1') + self.wait_for_text_to_equal('#container', '1, 1') + self.assertEqual(timestamp_1.value, prev_timestamp_1) + self.assertTrue( + timestamp_2.value > + ((time.time() - 24 * 60 * 60) * 1000)) self.assertEqual(call_count.value, 3) self.snapshot('button-2 click') + prev_timestamp_2 = timestamp_2.value self.driver.find_element_by_css_selector('#button-2').click() time.sleep(2) - self.wait_for_text_to_equal( - '#container', '1, 1, 1, 2') + self.wait_for_text_to_equal('#container', '1, 2') + self.assertEqual(timestamp_1.value, prev_timestamp_1) + self.assertTrue( + timestamp_2.value > + prev_timestamp_2) + self.assertTrue(timestamp_2.value > timestamp_1.value) self.assertEqual(call_count.value, 4) self.snapshot('button-2 click again') From 1b345765d9fceb29a5ff4ef42a64bbce5c46722a Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 21:50:17 -0400 Subject: [PATCH 8/9] v0.11.0 --- dash_html_components/__init__.py | 4 ++-- dash_html_components/version.py | 2 +- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dash_html_components/__init__.py b/dash_html_components/__init__.py index f4c40876..bc9cabb2 100644 --- a/dash_html_components/__init__.py +++ b/dash_html_components/__init__.py @@ -6,7 +6,7 @@ import dash as _dash from .version import __version__ -npm_version = '0.11.0-rc1' + if not hasattr(_dash, 'development'): print("Dash was not successfully imported. Make sure you don't have a file " @@ -27,7 +27,7 @@ "external_url": ( "https://unpkg.com/dash-html-components@{}" "/dash_html_components/bundle.js" - ).format(npm_version), + ).format(__version__), "namespace": "dash_html_components" }] diff --git a/dash_html_components/version.py b/dash_html_components/version.py index 6b33f159..f323a57b 100644 --- a/dash_html_components/version.py +++ b/dash_html_components/version.py @@ -1 +1 @@ -__version__ = '0.11.0rc1' +__version__ = '0.11.0' diff --git a/package.json b/package.json index 03bbcac3..268eb305 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "0.11.0-rc1", + "version": "0.11.0", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": { From ea72800e63d71c3ae87cc41ea6b70685c02f2779 Mon Sep 17 00:00:00 2001 From: chriddyp <chris@plot.ly> Date: Sun, 29 Apr 2018 21:57:42 -0400 Subject: [PATCH 9/9] upgrade to dash-rendererer prerelease with bug fix https://github.com/plotly/dash-renderer/pull/54 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5a98d1d8..43517f1f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ click==6.7 cryptography==2.0.3 dash==0.20.0 dash-core-components==0.18.1 -dash-renderer +dash-renderer==0.12.2rc1 decorator==4.1.2 enum34==1.1.6 Flask==0.12.2